70 likes | 182 Vues
This core course provides a foundational understanding of modeling, focusing on denoting concepts, properties, and values. Learn to define and distinguish properties through examples, such as atomic and compound values, and explore the use of notation in data structures. The course emphasizes the importance of clear conceptualization to avoid confusion in complex models, facilitating effective organization and enhancing accuracy. By mastering these concepts, you will be better equipped to develop formal models that align with computer systems.
E N D
A core Course on Modeling Introductionto Modeling 0LAB0 0LBB0 0LCB0 0LDB0 c.w.a.m.v.overveld@tue.nl v.a.j.borghuis@tue.nl P.1
Denotingconcepts, propertiesandvalues Remember: concept: a bundle of properties property: (name, set of values) name: todistinguishproperties type: set of allpossiblevaluesforthis property value : to single out a unique concept. A valuecanbeatomic or compound atomic: cannotbedecomposed compound: a concept, tobecomposedintofurtherproperties
Denotingconcepts, propertiesandvalues ‘name’ refersto ‘something’. Whatvaluedoes ‘name’ have? or whatvalues do itsproperties have? • Notation: • name = something • name : something ‘name’ is a member of ‘something’. whattype of concept is it? Notice: p:{3,4} is the same as ‘p=3 or p=4’; p:{3} is the same as ‘p=3’
Denotingconcepts, propertiesandvalues a type is a set of values. Ifthe set containsonlyonevalue we willoftendrop the accolades Notation: concept calledmyLantern properties: height, power height:{5 … 25}m power: {100,2000}W abbreviation: myLantern= [height: 12m, power: 2000W] allLanterns= [height: {5 … 25}m, power: {100,2000}W] tallLanterns= [height: {15 … 25}m, power: {2000} W] oneTallLantern: tallLanterns myLantern: allLanterns, myLantern: tallLanterns use set-notationtoindicate ranges (using ‘...’) or othercollections of values (using ‘ , ’) allLanterns and tallLanterns are sets oneTallLanternis a member of the settallLanterns, hence the ‘:‘ in stead of ‘=‘
Denotingconcepts, propertiesandvalues strings that are not concept namesare in quotes Notation: • radius1=14.6 (in some unit; see later) • radius2:real, radius3: {3 … 12} • bandMembers={'Paul','John','George','Ringo'} • bandMember:{'Paul','John','George','Ringo'} • bandMember:bandMembers • monarchs=['Willem1','Willem2','Willem3','Emma','Wilhelmina','Juliana','Beatrix','Alex'] • Bea=monarchs[6] • Bea=='Beatrix' value set of values set, no order set used as type the same type, nowreferredtoby a name element of a vector, obtainedby means of an index a vector: a set indexedbynumbers quantity Bea is atomic (=does not consist of properties); a string with value 'Beatrix'
dot-notation: supportedbyall computer languages ‘dot’ abbreviation of ‘its’ (=part-of). Iftype of P is compound: C.P.X. etc. Denotingconcepts, propertiesandvalues index notation: supportedby most computer languagesreminiscentof arrays (vectors): property name instead of integer index. Iftype of P is compound: C[P][X] etc. subscriptnotation: not supportedby computer languages. Developedfrom hand writing(compact: littletowrite). IfP is compound: subsubsubscriptetc. Not standardized (CP, PC, PC) Notation: • let concept C have property P with valuevP • Dot notation: C.P = vP • Index notation: C[P] = vP • Subscriptnotation:CP= vP • bandMembers={'Paul','John','George','Ringo'} • bandMember:{'Paul','John','George','Ringo'} • bandMember : bandMembers • bandMembers:[bas:'Paul',drums:'Ringo',guit:g] • g=['John','George'] • bandMembers[bas]=bandMembers.bas='Paul' • bandMembers[guit]=['John','George'] • bandMembers[guit][0]= bandMembers.guit[0]='John' vector: set, indexedbynames ordered set, indexedbynumbers indexedatomic element of a set indexing a compound concept toobtainanatomic concept compound concept
Denotingconcepts, propertiesandvalues Clean conceptualizationmatters, because: • Confusionaboutnaming is a maincausefordisaster; • Organizationhelpsagainst chaos in case of complex models (1000-s of conceptsand relations) ; • Serves as a checklist: what relations toincorporate in the model? • Notationhelps making subtlechoices explicit and invites tothinkaccurately even prior the formalisationphase; • Computers start playinganessentialrole even in conceptual modeling, and computers requireunambiguousnotation (Web 2.0 !); • Whengoingto the next step, computers come in anyhow: sogoodnaminghelpsconsistencybetweenconceptual model andformalmodel.