550 likes | 668 Views
A Core Course on Modeling. Week 2- The Art of Omitting. Contents . The Conceptual Model Concepts and Entities Properties Relations Constructing a Conceptual Model Formal issues – part of appendix 4 Quantities Units, Scales and Dimensions Summary
E N D
A Core Course on Modeling Week 2- The Art of Omitting Contents • The Conceptual Model • Concepts and Entities • Properties • Relations • Constructing a Conceptual Model • Formal issues – part of appendix 4 • Quantities • Units, Scales and Dimensions • Summary • References to lecture notes + book • References to quiz-questions and homework assignments (lecture notes)
A Core Course on Modeling Week 2- The Art of Omitting The Conceptual Model 2 A popular myth: ‘Mexicans, when conquered by Cortez’ horsemen did not know that horses were animals … until a soldier fell from his saddle’ The importance of SEGMENTATION
A Core Course on Modeling Week 2- The Art of Omitting The Conceptual Model 3 • Segmentation = separation from the rest • A natural tendency in humans (even in babies) • Language: words are instruments for segmentation • Entity: a segment that can be referred to inter-subjectively
conceived entities real entities A Core Course on Modeling Week 2- The Art of Omitting Concepts and Entities 4 entities … and from now on, we are not even going to try concept: • mentally constructed with a purpose • is named and (hopefully) explicitly defined • carries information ‘real’ thing: • when we talk (think?) about it, it is a concept • we cannot inter-subjectively know anything from ‘real things’ model modeled system
A Core Course on Modeling Week 2- The Art of Omitting Concepts and Entities 5 concepts • referred to by words • typically: substantives, including proper names (‘wheel’,’friction’,’John’,’P’, …)
A Core Course on Modeling Week 2- The Art of Omitting Properties 6 properties • literally: ‘possesions’ • a property informs about the concept it belongs to • a property has a name, and a set of values: the type. • Examples of names are ‘color’, ‘size’, ‘use’; • Examples of types (in this case) are colors, numbers (perhaps with unit), activities; • Example of values (in this case) are {red}, {15 … 18} cm, {drinking coffee}. Dimensioning is an example where properties are used to specify a concept. Every property comes with a name (say, ‘size’), and a type (say, number, or {4.95 … 5.05} cm)
relation In international sign language, spatial prepositions directly correspond to the spatial relationships or movements of hands A Core Course on Modeling Week 2- The Art of Omitting Relations 7 concept 1 concept 2 • connecting concepts • sometimes connecting properties • typically: prepositions, (both spatial and otherwise) or verbs (‘likes’, ‘produces’, …) • also forms like ‘is-married-to’, ‘reacts-with’, ‘produces’, …
define formulate purpose identify entities conceptualize choose relations obtain values formalize relations formalize operate model obtain result execute present result interpret result conclude A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 8 The birth of a conceptual model Previous week’s street lantern problem: ‘how to illuminate a road?’ From definition: what purpose? remember the modeling process: very vague: ‘how’ could mean a lot of different things
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 9 The birth of a conceptual model Previous week’s street lantern problem: ‘how to illuminate a road?’ From definition: what purpose? seek a sharp formulation, use the list of purposes (see previous week): verify: decide: optimize: analyse: control: (perhaps more …?) very vague: ‘how’ could mean a lot of different things could LED lamps do the job? yes or no adaptive illumination? what is the best height (or distance or power or …) for lanterns? how do benefits of adaptive illumination depend on the traffic flow? for real time managing adaptive switch on/off strategy
define formulate purpose identify entities conceptualize choose relations obtain values formalize relations formalize operate model obtain result execute present result interpret result conclude A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 10 The birth of a conceptual model In our conceptual model, all entities will occur as concepts step 1: which concepts? remember the modeling process:
problem should also be solved for moonless nights complicating factor, perhaps first assume no trees needed for full understanding of the problem adaptive illumination: traffic dependent involve traffic A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 11 The birth of a conceptual model step 1: which concepts? lantern road moon car trees driver traffic
problem should also be solved for moonless nights complicating factor, perhaps first assume no trees needed for full understanding of the problem adaptive illumination: traffic dependent involve traffic A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 12 The birth of a conceptual model First inventory of concepts: • enough concepts to formulate problem • few as possible: estimate which concepts are crucial, which not • discover first set of assumptions (such as: assume no tree shadows and no moonlight) step 1: which concepts? lantern road moon car trees driver traffic
define formulate purpose identify entities conceptualize choose relations obtain values formalize relations formalize operate model obtain result execute present result interpret result conclude A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 13 The birth of a conceptual model step 2: which properties? remember the modeling process: • driver • traffic • lantern • road • car has-a, part-of
difference in viewing angle probably small A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 14 The birth of a conceptual model For every concept: • what info do we need for that concept? • distinguish important and less important properties; start with only important ones step 2: which properties? • driver • visual capabilities • traffic • density • lantern • height • power • road • width • reflectivity • car • height • speed
sometimes we realize there must be an additional property to merit the effort of the model … and therefore there must be an additional concept as well to host this property A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 15 The birth of a conceptual model step 2: which properties? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed
define formulate purpose identify entities conceptualize choose relations obtain values formalize relations formalize operate model obtain result execute present result interpret result conclude A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 16 The birth of a conceptual model remember the modeling process: step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 17 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m Some properties represent a free choice: in a design context, these represent decisions
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 18 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : {100, 2000} W Some properties represent alternatives for a what-if analysis: ‘can we illuminate the road with lamps of type X?’
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 19 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : {100, 2000} W : {14.40} m Some properties represent invariable constants for the current, unique situation at hand: can be looked up
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 20 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : {100, 2000} W : {14.40} m Some properties are constant, but an additional model may be needed to find their value (perhaps involving an experiment) : reflectivity
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 21 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : {100, 2000} W : {14.40} m Some properties can be used to test the reliability of the model: you expect the value of car.height to be not very critical : reflectivity : {1…3} m
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 22 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : {100, 2000} W : {14.40} m Some properties can be used to test the range of applicability of the model: does our model for an adaptive road illumination system still make sense if cars go very fast? : reflectivity : {1…3} m : {20 …180} km/h
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 23 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : driverView Some properties have a value that is a concept on its own right: • driverView • minIntensity:… • maxntensity:… : {100, 2000} W : {14.40} m : reflectivity : {1…3} m : {20 …180} km/h
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 24 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : driverView : {100, 2000} W : {30} cars/minute : {14.40} m : reflectivity Some properties require that a collection of data is aggregated : {1…3} m : {20 …180} km/h
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 25 The birth of a conceptual model step 3: which value sets? • driver • visual capabilities • traffic • density • authority • expenses • lantern • height • power • road • width • reflectivity • car • height • speed :{5.0 … 25.0} m : driverView : {100, 2000} W : {30} cars/minute : {14.40} m : reflectivity : as little as possible some properties may represent the actual purpose, goal or objective of the model: how cheap can we illuminate this particular road? : {1…3} m : {20 …180} km/h
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 26 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 3: which value sets?
define formulate purpose identify entities conceptualize choose relations obtain values formalize relations formalize operate model obtain result execute present result interpret result conclude A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 27 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? remember the modeling process: other than has-a, part-of
A Core Course on Modeling relation involves multiple lanterns (hence n) and only one road (hence 1; may skip the ‘1’, like in a1b2=ab2) Week 2- The Art of Omitting Constructing a Conceptual Model 28 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) helps to realise that, at any point of the road, the light of multiple lanterns contributes. ‘located on’ is another relation between lanterns and road: helps to think about distance between lanterns
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 29 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) helps to realize that the location of the viewer (=driver) and the location of the car (=the trigger for the adaptivity) are the same
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 30 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) helps to realize that properties (e.g., density) of ‘traffic’ can be found by aggregating (averaging) properties (e.g., speed) of multiple cars
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 31 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) helps to realize that we can make assumptions on the possible location of cars, facilitating the adaptivity and the places where we should assess road visibility
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 32 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) 3-fold relation, tells us what geometric reasoning we need to calculate visibility and/or blinding thresholds
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 33 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) helps to investigate (a) what else needs to be paid for, and (b) what else might be a concern for authorities
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 34 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) adjacent(lantern, lantern2) helps thinking about adaptivity control: lantern communicates to neighbor about presence of car
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 35 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? Given the full list of concepts, it is recommended to check (all?) possible relations to find which might be essential for the model illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) adjacent(lantern, lantern2)
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 36 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? It usually requires several iterations before the lists of concepts, properties, values and relations are appropriate. At any time, check against the purpose of the eventual model illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) adjacent(lantern, lantern2)
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 37 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? Relations in the CM are in natural language, not yet in the form of mathematics, logic or computer ‘language’. Next two weeks: how to find suitable mathematical expressions (typically: functions) to go from conceptual model to formal model. illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) adjacent(lantern, lantern2)
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 38 The birth of a conceptual model lantern height: {5.0 … 25.0} m power: {100, 2000}W road width: {14.4} m reflectivity: car height: {1…3} m speed: {20 … 180} km/h driver visual capabilities: driverView traffic density: {30} cars/minute authority expenses: minimal step 4: which relations? For all but trivial models, a purely textual list of concepts, properties and values is inapproporiate. Use complementary (schematic) drawing. Use ‘standard’ notation, such as Entity Relationships or UML-light. illuminate(lanternn, road1) operatedBy(car, driver) consistsOf(traffic, carn) ridesOn(car, road) sees(driver,lanternn, road) pays(authority, lanternn) adjacent(lantern, lantern2)
A Core Course on Modeling Week 2- The Art of Omitting Constructing a Conceptual Model 39 authority driver This CM representation is called: ‘Entity-Relationship Graph’ All occurring entities are concepts Concepts are boxes Concept-info in the form of properties Relations are diamonds Numbers indicate ‘arity’ of relations adjacent 1 1 expenses visual capabilities 1 2 1 pays lantern operated by n 1 height power 1 n sees car n speed height located on illuminate n 1 1 consists of road 1 1 width surface reflectance 1 traffic rides on density 1 A conceptual model is a collection of concepts (with properties and values) and the relations connecting them, related to the model’s purpose
A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 40 concept: a bundle of properties property: (name, set of values) name: to distinguish properties type: set of all possible values for this property value : to single out a unique concept. A value can be atomic or compound atomic: cannot be decomposed compound: a concept, to be composed into further properties
A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 41 a type is always a set of values. But if the set contains only one value, and there is no confusion,we may drop the accolades Notation: concept: lantern called myLantern properties: height, power height type: {5 … 25}m power type: {100,2000}W abbreviation: myLantern= [height: 12m, power: 1000W] allLanterns= [height: {5 … 25}m, power: {100,2000}W] tallLanterns= [height: {15 … 25}m, power: {2000} W] oneTallLantern: tallLanterns myLantern: allLanterns, myLantern:tallLanterns allLanterns and tallLanterns are sets one particular lantern: set with only 1 element, abbreviation: no accolades use set-notation to indicate ranges or other collections of values oneTallLantern is a subset of the set tallLanterns, hence the ‘:‘ in stead of ‘=‘
A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 42 OK. So: conceptual modeling is mainly a large amount of burocracy to make an impressive mess of something completely trivial, right? Not quite. Clean conceptualization matters, because: • Confusion about naming is a main cause for disaster • Organization helps against chaos in case of complex models (1000-s of concepts and relations) and serves as a checklist: what relations to incorporate in the model? • Notation helps making subtle choices explicit and invites to think accurately even prior the formalisation phase • Computers start playing an essential role even in conceptual modeling, and computers require unambiguous notation (Web 2.0 !) • When going to the next step, computers come in anyhow: so good naming helps consistency between conceptual model and formal model
A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 43 supported by all computer languages ‘dot’ abbreviation of ‘its’ (=part-of) if type of P is compound: C.P.X. etc. Notation for addressing properties: let concept C have property P with value vP • Dot notation: C.P = vP • Index notation: C[P] = vP • Function notation: @(C,P) = vP • Subscript notation CP = vP supported by most computer languages reminiscent of arrays: property name instead of integer index if type of P is compound: C[P][X] etc. supported by some computer languages functions are a natural way to obtain dependent information if P is compound: @(@C,P),X) etc. nice for e.g. vectors: @(u+v,x) not supported by computer languages developed from hand writing (few symbols) if P is compound: subsubsubscript etc. not standardized (CP, PC, PC)
A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 44 Recapitalizing on notation name = something name : something what value does it have? or: what values do its properties have? what type 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
strings that are not concept names come in quotes! A Core Course on Modeling Week 2- The Art of Omitting Formal Issues 45 Recapitalizing on notation name = something name : something value radius1 = 14.6 (in some unit; see later) radius2: real, radius3: {3 … 12} bandMembers = {‘Paul’,’John’,’George’,’Ringo’} bandMember : {‘Paul’,’John’,’George’,’Ringo’} or bandMember:bandMembers monarchs = [‘Willem1’,‘Willem2’,‘Willem3’,‘Emma’,‘Wilhelmina’,‘Juliana’,‘Beatrix’] Bea=monarchs[6] poodle : dog dog : [ sound: bark, skin: fur, food: meat, name:{‘Toby’,’Fifi’}] myDog=[sound: bark, skin: fur, food: meat, name:’Toby’] value set set, no order set with order name of another concept another concept
This picture illustrates the ‘quality vs. quantity’ metaphor. Our term ‘quantity’ is not used as ‘multitude’, however. In Dutch, our term ‘quantity’ translates as ‘grootheid’, not ‘hoeveelheid’. A Core Course on Modeling Week 2- The Art of Omitting Quantities 46 Property: attribute of a concept Quantity: (name, type, value), disregarding the concept this quantity may be an attribute of. So: quantities can appear to ‘stand alone’ Mathematics is about ‘stand alone’ quantities, where the types are mathematical objects (numbers, functions, vectors, equations …) Properties always occur in the realm of conceptual modeling Quantities are useful for re-using mathematical results: area A of a circle with radius r: A=r 2, irrespective what the circle stands for
A Core Course on Modeling Week 2- The Art of Omitting Quantities 47 From small to big: quantities, types and various forms of order Nominal: no ordering Partial ordering Total ordering example: taste, material, car brand, … example: intervals, comes-before, preference, … example: Mohs’ scale (hardness), interval scale (oC), ratio scale (K)
A Core Course on Modeling Week 2- The Art of Omitting Quantities 48 From small to big: quantities, types and various forms of order
A Core Course on Modeling Week 2- The Art of Omitting Units, Scales and Dimensions 49 Properties often relate to measurements units Measuring starts with counting: ‘how often does a unit element fit in the quantity to be measured?’ Measure, say, some volume of dough. With unit u1find: x1 times; with u2 find: x2 times. What is the realvolume ????
A Core Course on Modeling Complication: x was ‘a number of times’, thus: an integer (counting!). Integers, however, are not closed under division. Way out: have a series of units (m,dm,cm,mm,…) and assume that xQ. (physicists even assume xR …) Week 2- The Art of Omitting Units, Scales and Dimensions 50 What is the real volume ???? Suppose that u2 fits p12 times in u1. If both measure ‘the same thing’, x1u1=x2u2, or x1/x2=u2/u1=p21 So we never know the ‘real’ value; we only know x/p with unknown p, plus the ratios p21 for various pairs of units u1, u2. Scaling means: move from one to another unit (with known ratio)