Kvalitet av modelleringsspråk Oversikt over forelesningen Språkkvalitet som del av kvalitetsrammeverket Evaluation of Object-oriented Modelling languages: A comparison between OML and UML Prasse - Brukt i forhold til objektorienterte modelleringsspråk Oppsummering John Krogstie 1. Amanuensis II ved IDI, NTNU Seniorforsker, SINTEF Tele og Data Hvorfor fokus på språkkvalitet? Modelleringsspråk er et middel for å kunne uttrykke meninger i modeller. De modelleringsspråk man bruker skal hjelpe en i å trekke frem de viktigste aspektene Modelleringspråkene man bruker former over tid ens oppfatning av virkeligheten Man kan lage gode modeller i et dårlig språk Man kan lage dårlige modeller i et godt språk Man vil alltid kunne finne mangler ved ethvert språk/verktøy Språkkvalitet i forhold til kvalitetsrammeverket Modeling domain D Participant knowledge K Knowledge externalizability appropriateness / Participant language knowledge appropriateness Model externalization M Domain appropriateness Technical actor interpretation T Social actor interpretation I Technical actor interpretation appropriateness Comprehensibility appropriateness Language extension L Språkkvalitet Passer språket til domenet? Passer språket til deltagernes kunnskap (om modelleringsspråk) eller potensiale til å lære? Passer språket til å uttrykke deltagernes kunnskap? Bedring av deltagernes tolkning Bedring av teknisk aktørs tolkning Har delt i kriteria for underliggende (konseptuell) basis på språket (meta-modell), og den eksterne representasjon gitt til språket (notasjon) Mange av kriteriene er basert på resultater innen lingvistikk og kognitiv psykologi Passende til domenet D\L = Ø Basis Må kunne uttrykke alt innen domenet Basert på ontologiske betraktninger eller ha basis i vanlig modelleringspraksis innen domenet Bør ikke kunne uttrykke aspekter som ikke tilhører domenet Bør kunne uttrykke både presise og mer vage aspekter Ekstern representasjon: Må kunne uttrykke alt i basis på en unik måte Støtter oppnåelse av fysisk kvalitet (og gjennom det, potensielt oppnåelse av semantisk kvalitet) 1
Uttrykkskraft i språk basert på ontologiske betraktninger Bunge-Wand-Weber som eksempel Representasjonsmodell som basis for å evaluere IS analyse og design-språk i forhold til dets evne til å lage modeller som er gode representasjoner av verden Basert på Mario Bunges ontologi Velutviklet Formalisert Adresserer ikke om man modellerer en objektiv virkelighet eller en sosialt konstruert virkelighet Ontologiske konsepter i representasjonsmodeller Representasjonsmodell som basis for språkkvalitet Ontologisk kompletthet (vs. domain appropriateness) Ontologisk klarhet Construct overload (Comprehensibility appropriateness) Construct redundancy (Comprehensibility appropriateness) Construct excess (vs. domain appropriateness) Ontologisk kompletthet Ontologiske konsepter Construct excess Uttrykkskraft basert på hva som er funnet nyttig innen ulike domener som språket skal brukes i Strukturelt orientert Funksjonelt orientert Oppførselsorientert Regelorientert Objektorientert Kommunikasjonsorientert Aktør/rolle-orientert Ontologiske konsepter Designkonsepter Designkonsepter 2
Passende til deltagernes kunnskap Deltagerne kan bruke alle deler av språket effektivt Basis: Bør generelt overensstemme med hvordan folk oppfatter virkeligheten. Ingen fasit på dette. Kan bedømme ut i fra generelle erfaring med læring av modelleringsspråk Avklare deltagernes erfaring med modelleringsspråk, (og eventuelt tilpasse språkene til dette) Ekstern representasjon Intuitiv Eksempel på intuitive symboler Venn-diagrammer i sett-teori Amøbe -former for upresise konsepter Støtter oppnåelse av fysisk kvalitet for eksternalisering, samt pragmatisk kvalitet for forståelse Passende til å uttrykke deltagernes kunnskap K\L = Ø Kan man fange arbeid inn i en modell, eller blir det bare et forsøk i ettertid på å rasjonalisere det som er gjort? Problemstilling knyttet til viktigheten av taus kunnskap Behov for å kunne modellere vag kunnskap Støtter oppnåelse av fysisk kvalitet Bedring av deltagernes tolkning L\I = Ø Støtter oppnåelse av empirisk og gjennom det pragmatisk kvalitet Bedring av deltagernes tolkning fortsetter. Basis Språket er veldefinert (og konsistent definert) Lett å skille deler av språket fra hverandre Begrenset antall byggesteiner -> generelle konsepter Mulig å relatere ulike konsepter -> ny semantikk via sammensetning Hierarkisk organisering Uniform bruk av byggesteiner Fleksibilitet i detaljeringsnivå Expressive economy:! Mye brukte og viktige setninger bør kunne uttrykkes konsist Construct overload Ontologiske konsepter Designkonsepter 3
Construct redundancy Ontologiske konsepter Designkonsepter Bedring av deltagernes tolkning fortsetter... Ekstern representasjon Lett å skille symboler fra hverandre Lett å se hvilket symbol enhver strek/bokstav er del av Uniform bruk av symboler Enkelhet i symboler Bruk av fremheving for det som er viktig Modellsymbolers størrelse, soliditet og farge, ulikheter, bevegelse, antall tilkoblede kanter Støtte for å lage estetiske modeller Mulighet for utelatelse av symboler Bruk av spesielle symboler for viktige konsepter Eksempler Feilaktig fremheving: ERT Tomme symboler: ERT og ER Begrensninger i det å lage estetiske modeller: PPM og kryssende flyt Diagrammer, tabeller, matriser og tekst i forhold til expressive economy Bedring av teknisk aktørs tolkning Språket er egnet for automatisert resonnering og eksekvering Formell syntaks Formell semantikk (operasjonell og/eller matematisk) Også viktig for å sikre at deltagerne tolker modellene likt Effektivitet i bruk av formell syntaks eller semantikk (analyserbarhet/eksekverbarhet) Ulike aspekter støtter oppnåelse av syntaktisk, semantisk og pragmatisk kvalitet Tradeoff mellom ulike kriterier De ulike kriteriene påvirker hverandre, og arbeider tildels mot hverandre. Intet perfekt språk er mulig, men svakheter kan addresseres ved metode og verktøystøtte. Intuitivitet vs. antall symboler: Kinesisk vs. norsk Intuitivitet vs. enkelhet i symboler: ERAE og representasjon av klasse/instans Uttrykkskraft vs. enkelthet i symboler: PPM vs. DFD Expressive economy vs. antall symboler: Bidirectional links in DFD Eksempel på bruk av rammeverket i praksis- Østbø og Arnesen Henholdsvis behov for å representere generiske systemer i Statoil og for virksomhetsmodellering i Statoil Er UML egnet, og hvilke UML-verktøy er i så tilfelle best for formålet? Bedømmelse av språkkvalitet for UML i dette caset $ Beskrive modelleringsmål/domene, brukere av modellene og behov for verktøystøtte $ Findelt oppdeling av de ulike kvalitetsområdene, alle områdenes viktighet prioritert i forhold til målene (1-10). Baserer videre arbeid på de områdene med prioritet høyere enn 5 $ Evaluering av UML opp mot disse områdene igjen, utregning av gjennomsnittsverdier som basis for endelig konklusjon 4 "
Problem Statement How to evaluate and compare modeling languages (for OOA/OOD)? Evaluation of Object-oriented Modeling languages: A comparison between OML and UML Prasse Terminology and structure for evaluating modeling languages needed Outline of Presentation Structure of modeling languages What to investigate? Language Description Application Criteria for evaluation User-relevant criteria Model-relevant criteria Economic criteria Case study: Comparing OML and UML Structure of Modeling Languages Abstract syntax and semantics Concepts, relations, interpretations Modeling language Concrete syntax Graphical and textual notations How does this structure compare to our quality framework? Example: UML Concepts Framework for Language Evaluations Abstract syntax: generalization object * * aggregation * * attribute method Semantics: Mapping to object in programming language, etc. Concrete syntax: object attributes methods Subject of investigation Description Language Application General criteria of investigation User-relevant criteria Model-relevant criteria Economic criteria 5 %
1a. Description of language Definition formal/informal language specification grammar and metamodel Documentation user documentation (notation guide) Formality -> unambiguity Informality -> User understanding 1b. Modeling language Abstract syntax and semantics object-oriented, process-oriented and concurrent concepts and concepts for dynamic behavior and modularization integration of concepts standardized semantic definitions Concrete syntax combination of textual and graphical notation diagrams support understanding and communication See e.g. Rumbaugh s hints on notational clarity (see article) 1c. Application of language Application purpose perspective User perspective should support all phases and all activities of a development project expressive enough to describe domain One complex, stand-alone language or simple languages with interfaces to other ones? Meta-perspective Activities how to extend, adapt and specify language concepts? how to link language to artifacts of other project activities Analysis and design, implementation, verification and validation 2a. User-relevant evaluation criteria (subjective) Usability Clarity Understandability Adequacy Verification Power How are these related to language quality in the quality framework? 2b. Model-relevant evaluation criteria (more objective) 2c. Economic evaluation criteria Unambiguity Consistency Formalization Integration How are these related to language quality in the quality framework? Reusability Extensibility How are these related to language quality in the quality framework? 6 &
Comparing OML and UML Structure of OPEN OPEN Modeling Language (OML) OML part of OPEN OPEN tried to develop a homogeneous method for object-oriented software Based on an examination of existing object-oriented languages Unified Modeling Language (UML) Standardization effort by Booch, Rumbaugh and Jacobsen General-purpose language for all phases and all domains OML metamodel Is modeled using OPEN modeling language + OPEN model Object-Oriented Environment and Notation + OPEN process Common object modeling notation (COMN) Is documented using OPEN metrics Structure of UML Abstract syntax and semantics UML Concrete syntax OML vs. UML: Size of Language Same domain, comparable expressive power Large number of diagrams, no fundamental differences UML: stronger focus on structure and constraints (OCL) OML: stronger focus on roles Meta model OCL Notation Is modeled using UML model Is documented using OML vs. UML: Abstract syntax/semantics OML vs. UML: Concrete Syntax (1) Type/instance dichotomy applied by both UML: Fundamental mechanism to objects OML: Several levels: class/object, cluster class/cluster instance, scenario class/scenario object What about classes of systems, functions and relationships? Not in UML Not in OML OML Semantic nets Context diagrams Layer diagrams Configuration diagrams Cluster diagrams Inheritance diagrams Deployment diagrams Scenario Class diagrams Mechanism diagrams Task script diagrams Use case diagrams Interaction diagrams Collaboration diagrams Sequence diagrams State Transition diagrams State diagrams Static Structure diagrams Class diagrams Object diagrams Behavior diagrams Use case diagrams Interaction diagrams Sequence diagrams Collaboration diagrams State diagrams Activity diagrams Implementation diagrams Component diagrams Deployment diagrams UML 7 '
OML vs. UML: Concrete Syntax (2) Diagrams: Both have several, partly overlapping diagrams Some diagrams are not object-oriented Problems: redundancy, application not intuitive UML notes ambiguous Type/instance symbols diagram elements should not resemble each other related language concepts should be represented in similar ways Should types and instances have the same representation? Conclusions Proposes a framework for evaluation of modeling languages Scope of evaluation Criteria for evaluation Comparison of OML and UML No fundamental differences Minor comments No conclusive evaluation Summary and overall comparison of approaches Language quality as a mean for model quality Both abstract and concrete description Prasse focus also on the documentation of the language (which might be looked upon as a model in the quality framework) Different domains regarded in the different articles All acknowledge that the demands are partly contradictory Difficult to find generally applicable metrics Kvalitet av modelleringsspråk John Krogstie 1. Amanuensis II ved IDI, NTNU Seniorforsker, SINTEF Tele og Data 8 (