Download presentation

Presentation is loading. Please wait.

Published bySerena Alcott Modified over 2 years ago

1
1 A Core Course on Modeling Organizing concepts trees tables Organizing meaning objects semantics Notation Mapping ACCEL aggregation: vectors quantified expressions user defined functions Week 2 – the Art of Omitting

2
2 A Core Course on Modeling concepts: trees ‘Where do you live?’ Week 2 – the Art of Omitting

3
3 A Core Course on Modeling Organizing concepts: trees country (e.g., Netherlands) province (e.g., North Brabant) city (e.g., Eindhoven) quarter (e.g., Woensel) Week 2 – the Art of Omitting

4
4 A Core Course on Modeling Week 2 – the Art of Omitting Organizing concepts: trees partOf() country (e.g., Netherlands) province (e.g., North Brabant) city (e.g., Eindhoven) quarter (e.g., Woensel)

5
5 A Core Course on Modeling Organizing concepts: trees kingdom (e.g., animalia) phylum (e.g., chordata) class (e.g., mammalia) order (e.g., cetacea) isA() family (e.g., delphinidae), genus (e.g., orcinus), species (e.g., orca) Week 2 – the Art of Omitting

6
6 A Core Course on Modeling Organizing concepts: trees isA() Extensional definition: enumerate existing things grouping in (sub)sets Week 2 – the Art of Omitting

7
7 A Core Course on Modeling Organizing concepts: trees Hierarchy: often too restrictive Subsets often relate to meaning Several hierarchies co-exist Week 2 – the Art of Omitting

8
8 A Core Course on Modeling Organizing concepts: tables A B C X Y Z Week 2 – the Art of Omitting Alternative: table

9
9 A Core Course on Modeling Organizing concepts: tables A B C X Y Z property P values A,B,C property Q values x,y,z Week 2 – the Art of Omitting ABC Xc1c2c3 Yc4,c5c6 Zc7c8c9 Alternative: table

10
10 A Core Course on Modeling Organizing concepts: tables A B C X Y Z property P values A,B,C property Q values x,y,z Week 2 – the Art of Omitting ABC Xc1c2c3 Yc4,c5c6 Zc7c8c9 Example: set of vehicles; P = ‘medium’, A,B,C= ‘land’, ‘water’, ‘air’, Q = ‘payload’, X,Y,Z = ‘passengers’, ‘freight’, ‘mail’.

11
11 A Core Course on Modeling Organizing concepts: tables A B C X Y Z Week 2 – the Art of Omitting property P values A,B,C (group) property Q values x,y,z (period) ABC Xc1c2c3 Yc4,c5c6 Zc7c8c9

12
12 A Core Course on Modeling Organizing concepts: tables A B C X Y Z ABC Xc1c2c3 Yc4,c5c6 Zc7c8c9 property P values A,B,C property Q values x,y,z what to do with >2 properties? Week 2 – the Art of Omitting

13
13 A Core Course on Modeling Organizing concepts: tables A B C X Y Z PQ c1AX c2BX c3CX c4AY c5AY c6CY c7AZ c8CZ c9CZ c4, c5 are undistinguishable [P:B, Q:Y] does not occur Week 2 – the Art of Omitting

14
14 A Core Course on Modeling Organizing concepts: tables A B C X Y Z PQ c1AX c2BX c3CX c4AY c5AY c6CY c7AZ c8CZ c9CZ orthogonal table: every property applies to each concept Week 2 – the Art of Omitting M M M N M N N N M … … … … … … … … … … Q

15
15 A Core Course on Modeling Organizing concepts: tables Week 2 – the Art of Omitting Not every tree leads to an orthogonal table (Orthogonal) table: better compression than tree Orthogonal table: with N properties, distinguish O(2 N ) concepts or log(M) properties for M concepts. (Arbitrary) tree: N internal nodes for N leaves.

16
16 A Core Course on Modeling Organizing concepts: tables Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 tasteholdercreamtoppingcherry ice1vanillaconeyessmartiesred ice2vanillastickyessmartiesred ice3chocstickno hazelnut none ice4vanillaconenosmartiesgreen ice5strawberrybowlyeshazelnutnone orthogonal table ontology: helps explore option space

17
17 A Core Course on Modeling Organizing concepts: tables Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 tasteholdercreamtoppingcherry ice1vanillaconeyessmartiesred ice2vanillastickyessmartiesred ice3chocstickno hazelnut none ice4vanillaconenosmartiesgreen ice5strawberrybowlyeshazelnutnone orthogonal table ontology: helps explore option space

18
18 A Core Course on Modeling Organizing meaning: objects Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 tasteholdercreamtoppingcherry ice1vanillaconeyessmartiesred ice2vanillastickyessmartiesred ice3chocstickno hazelnut none ice4vanillaconenosmartiesgreen ice5strawberrybowlyeshazelnutnone ice1 = [taste:vanilla, holder:cone, cream:yes, topping:smarties, cherry:red] coneIce = [taste:{vanilla, choc, strawberry}, holder:cone, cream:{yes, no}, topping:{smarties, hazelnut}, cherry:{red, green, none}] ice = [taste:{vanilla, choc, strawberry}, holder:{cone, stick, bowl}, cream:{yes, no}, topping:{smarties, hazelnut}]

19
19 A Core Course on Modeling Organizing meaning: objects Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 image: http://gagfunny.com/gag/index.php/tag/living-shadows-illusion/ Intensional definition: specifiy things by properties irrespective existence extensional intensional

20
20 A Core Course on Modeling Organizing meaning: objects Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 x : Y means: if x and Y are sets: x Y if x is an element: x Y abbreviate ‘{a}’ by ‘a’ isA(x,Y) means: for every P in Y, x.P : Y.P. isA(x,Y): inheritance; x inherits from Y x is more concrete, Y is more abstract

21
21 A Core Course on Modeling Organizing meaning: objects Week 2 – the Art of Omitting image: http://www.emiliosanfilippo.it/?page_id=1172 examples isA( ): ice1: coneIce; conIce : ice; isA(ice1, coneIce); isA(coneIce, ice); isA(ice, [holder:{cone, stick, bowl}] ) isA(ice, [ ]) isA(coneIce, [ ]) ice1 = [taste:vanilla, holder:cone, cream:yes, topping:smarties, cherry:red] coneIce = [taste:{vanilla, choc, strawberry}, holder:cone, cream:{yes, no}, topping:{smarties, hazelnut}, cherry:{red, green, none}] ice = [taste:{vanilla, choc, strawberry}, holder:{cone, stick, bowl}, cream:{yes, no}, topping:{smarties, hazelnut}] a concept with just a single property (‘holder’) a very abstract concept, having no properties at all (‘a thing’)

22
22 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concept can be an item (a concrete, unique thing) Organizing meaning: objects

23
23 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concept can be an item (a concrete, unique thing) or a concept can be a class Organizing meaning: objects

24
24 A Core Course on Modeling Week 2- conceptual modeling designer: gustaveEiffel location: ChampsDeMars height: 320 m The anatomy of concepts: a concept can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own Organizing meaning: objects

25
25 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation or a class can be an abstraction such as:’monuments in Paris’ such as: ‘bunch of steel girders’ Organizing meaning: objects

26
26 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … of all similar things, called elements or members (sometimes numbered) a class can be an abstraction Organizing meaning: objects

27
27 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … or all different things (elements, members - sometimes named) a class can be an abstraction Organizing meaning: objects

28
28 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … or all different things (sometimes named) a class can be an abstraction Organizing meaning: objects

29
29 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … or all different things (sometimes named) a class can be an abstraction … that typicaly has less properties than its concreter instances Organizing meaning: objects

30
30 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … or all different things (sometimes named) a class can be an abstraction … that can be instantiated by a more concrete concept Organizing meaning: objects

31
31 A Core Course on Modeling Week 2- conceptual modeling The anatomy of concepts: a concepts can be an item (a concrete, unique thing) an item can have properties a concept can be a class … with values that may be concepts with properties of their own a class can be an aggregation … or all different things (sometimes named) a class can be an abstraction … that can be instantiated by a more concrete concept use the right terms for the right things: concept item class aggregation, element abstraction, instance property Organizing meaning: objects

32
32 A Core Course on Modeling Week 2- conceptual modeling Notation: denote aggregation image: http://www.robertpeake.com/archives/419-manuscript-anxiety.html v = {1, 2, 3}, a set with three numerical elements – not separately accessible p = [1, 2, 3], an array with three numbered numerical elements, p[0] = 1 q = [a, b, c], an array with 3 numbered concepts, q[0] = a r = [‘a’, ’b’, ’c’], an array with three numbered strings, r[0] = ‘a’ s = [‘x’:1, ’y’:2, ’z’:3], an array with three named numerical elements, s[‘x’] = 1 {1, 2, 3} == {3, 2, 1} [1, 2, 3] != [3, 2, 1] whereas [‘x’:1, ‘y’:2, ‘z’:3 ] == [‘y’:2, ‘z’:3, ‘x’:1]

33
33 A Core Course on Modeling Week 2- conceptual modeling Notation: denote aggregation image: http://www.robertpeake.com/archives/419-manuscript-anxiety.html v = {1, 2, 3}, a set with three numerical elements – not separately accessible p = [1, 2, 3], an array with three numbered numerical elements, p[0] = 1 q = [a, b, c], an array with 3 numbered concepts, q[0] = a r = [‘a’, ’b’, ’c’], an array with three numbered strings, r[0] = ‘a’ s = [ x :1, y :2, z :3], an array with three named numerical elements, s[‘x’] = 1 {1, 2, 3} == {3, 2, 1} [1, 2, 3] != [3, 2, 1] whereas [‘x’:1, ‘y’:2, ‘z’:3 ] == [‘y’:2, ‘z’:3, ‘x’:1] Quotes are optional for the names of properties

34
34 A Core Course on Modeling Week 2- conceptual modeling Notation: denote aggregation image: http://www.robertpeake.com/archives/419-manuscript-anxiety.html p = [1, 2, 3], an array with three numbered numerical elements, p[0] = 1 is an abbreviation for p = ['0': 1, '1': 2, '2': 3] which is the same as p = ['1': 2, '0': 1, '2': 3] (order doesn't matter) But in the abbreviation, naming ('0':…, '1':…, '2':…) is left out. To know which of [1, 2, 3] or [2, 1, 3] is meant, order convention is required.

35
35 A Core Course on Modeling Week 2- conceptual modeling Notation: denote aggregation image: http://www.robertpeake.com/archives/419-manuscript-anxiety.html Sets, lists, concepts and accessing elements: P=[a, b, c]: ordered list, [a, b, c] [b, a, c] access elements: P[0] == a, etc. P={a, b, c}: set ( unordered ), {a, b, c} == {b, a, c} P={a … b}: set containing all x, a x b P=['john':a, 'pete':b, 'suzy': c]: named list or concept access elements: P['pete'] == b, alternative: P.pete == b ['john':a, 'pete':b, 'suzy': c] == ['pete':b, 'john':a, 'suzy': c] there is no notation to access an individual element only use for numbers, weekdays, … but only for values that have total ordering.

36
36 A Core Course on Modeling Mapping image: http://www.corporatienl.nl/hoe-slaat-u-twee-vliegen-in-een-klap/ p = [1, 2, 3] q = [10, 20, 30] vector addition: sum = [p[0]+q[0], p[1]+q[1], p[2]+q[2]] = [11, 22, 33] Easier: sum = p + q ACCEL applies mapping whenever possible. Week 2 – the Art of Omitting

37
37 A Core Course on Modeling ACCEL Why ACCEL? compare to MS Excel, not to BASIC, C++, Matlab, … low threshold for non-programmers follows to-do-list approach from Lectures built-in features (chapters 5 & 6) Pareto Genetic Optimization Sensitivity Analysis with Condition Numbers.. why NOT ACCEL? Week 2 – the Art of Omitting

38
38 A Core Course on Modeling ACCEL: aggregation all agregation by vectors vectors aggregate arbitrary quantities e.g.: v = [1, 2, 3]; v[1] : 2 e.g.: v = [‘x’:1, ‘y’:2, ‘z’:3]; v[’y’] : 2 (v.y : 2) also: v = [x:1, y:2, z:3] but NOT v[y] instead of v[‘y’] e.g.: v = [1, [10, 20], 3]; v[0] : 1 v[1] : [10,20] v[1][1] : 20 v[0][1] :undefined … but ACCEL tries not to disappoint its users… but ACCEL tries not to disappoint its users Week 2 – the Art of Omitting

39
39 A Core Course on Modeling ACCEL: aggregation … but ACCEL tries not to disappoint its users… but ACCEL tries not to disappoint its users index1=slider(0,0,10) index2=slider(0,0,10) printB=b printC=c printD=d a=[1,[10,20],3] b=a[index1] c=b[index2] d=a[index1][index2] Week 2 – the Art of Omitting

40
40 A Core Course on Modeling ACCEL: aggregation netherlands=[…,'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] fr=['cap':'leeuwarden','pop':647239,'area':5748.74] dr=['cap':'assen','pop': 489912, 'area':2680.37] ov=['cap':'zwolle','pop':1138571, 'area':3420.86] gl=['cap':'arnhem','pop':2013903, 'area':5136.51] ut=['cap':'utrecht','pop':1243161, 'area':1449.12] nh=['cap':'haarlem','pop':2719764, 'area':4091.76] zh=['cap':'den haag','pop':3560205, 'area':3418.50] zl=['cap':'middelburg','pop':381202, 'area':2933.89] nb=['cap':'den bosch','pop':2470184, 'area':5081.76] li=['cap':'maastricht','pop':1121483, 'area':2209.22] Week 2 – the Art of Omitting

41
41 A Core Course on Modeling ACCEL: aggregation netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. prov0=p[0] prov1= … prov2= … pop0=prov0.pop pop1= … pop2= … totPop=pop0 + pop1 + … what is the exact population? sum over provinces image: http://www.dontpaniconline.com/magazine/radar/a-boring-conference Week 2 – the Art of Omitting

42
42 A Core Course on Modeling ACCEL: quantified expressions netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. Alternative: quantified expressions totPop = #(dummy, seq, term, operation) dummy: a quantity that assumes subsequent values from seq seq: a set of values. E.g., vSequence(0,11) = [0,1,2,3,4,5,6,7,8,9,10] term: an expression,perhaps depending on dummy operation: what to do with the values of term Week 2 – the Art of Omitting

43
43 A Core Course on Modeling ACCEL: quantified expressions netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. Alternative: quantified expressions totPop = #(dummy, seq, term, operation) totPop = #(i, [1,2,3], i, add) totPop = 6 t = [3,4,5,6,7] totPop = #(i, [1,2,3], t [i], add) totPop = t [1] + t [2] + t [3] = 4 + 5 + 6 = 15 u = [[1,2],[3,4],[5,6]] totPop = #(i, [0,1,2], u[i][1], add) totPop = ([1,2])[1] + ([3,4])[1] + ([5,6])[1] = 2 + 4 + 6 = 12 Week 2 – the Art of Omitting

44
44 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. Alternative: quantified expressions totPop = #(dummy, seq, term, operation) totPop = #(i, vSequence(0,11), p [i]. pop, add) maxPop = #(i, vSequence(0,11), p [i]. pop, max) minArea = #(i, vSequence(0,11), p [i].area, min) … but suppose we need the most spacious province? ACCEL: quantified expressions Week 2 – the Art of Omitting

45
45 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. Alternative: quantified expressions totPop = #(dummy, seq, term, operation) totPop = #(i, vSeq(0,11), p [i]. pop, add) maxPop = #(i, vSeq(0,11), p [i]. pop, max) minArea = #(i, vSeq(0,11), p [i].area, min) … but suppose we need the most spacious province? ACCEL: quantified expressions Week 2 – the Art of Omitting

46
46 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. ACCEL: quantified expressions http://www.panoramio.com/photo/12605032 spaciousness = area / population Week 2 – the Art of Omitting

47
47 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. maxSpaciousness = #(i, vSeq(0,11), spaciousness(i), max) … but spaciousness is not a single quantity: depends on i, so takes different values during computation. Quantities that depend on other quantities:user defined functions. spaciousness(i) = p[i]. area / p[i]. pop Notice: i takes various values during the compuation; is not a quantity. Instead i is called a dummy. ACCEL: user defined functions Week 2 – the Art of Omitting

48
48 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. ACCEL: user defined functions maxSpaciousness=#(i,vSeq(0,11),spaciousness(i),max) spaciousness(i)=p[i].area/p[i].pop p=[Pgr,Pfr,Pdr,Pov,Pgl,Put,Pnh,Pzh,Pzl,Pnb,Pli] Pgr=['cap':'groningen','pop':582161,'area':2960.03]... Pli=['cap':'maastricht','pop':1121483,'area':2209.22] so the most spacious province offers 8900 m 2 /person ! … But which province is that? Week 2 – the Art of Omitting

49
49 A Core Course on Modeling netherlands=[…, 'provinces':p, …] p=[gr,fr,dr,ov,gl,ut,nh,zh,zl,nb,li] gr=['cap':'groningen', 'pop':582161,'area':2960.03] …. As follows: maxSpaciousness=#(i,vSeq(0,11),spaciousness(i),max) spaciousness(i)=p[i]. area / p[i]. pop mostSpacious=#(i,vSeq(0,11),if(spaciousness(i)==maxSpaciousness,i,0),max) capitalOfMostSpacious=p[mostSpacious]. cap curious for result? Try yourself! ACCEL: user defined functions Week 2 – the Art of Omitting

50
50 A Core Course on Modeling idea: expression that is evaluated more than once in a computation: user-defined functions can be used whenever quantities are used can have arbitrary arguments (one or more) … with arbitrary names (no name clashes) can return whatever you want, e.g. myFunc(a,b) = ['x':a,'y':b] p=myFunc(3,4) gives result p=['x':3,'y':4] p=myFunc(3,4)['x'] and myFunc(3,4).x both give result p=3 use to organize your thinking use to keep script readible use to shorten script use to keep formal and conceptual models similar ACCEL: user defined functions Week 2 – the Art of Omitting

Similar presentations

Presentation is loading. Please wait....

OK

PPL Syntax & Formal Semantics Lecture Notes: Chapter 2.

PPL Syntax & Formal Semantics Lecture Notes: Chapter 2.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on boilers operations manager Ppt on limitation act malaysia Ppt on vitamin c deficiency Ppt on earth movements and major landforms in canada File type ppt on cybercrime articles A ppt on cloud computing Ppt on power system stability pdf Ppt on life history of william shakespeare Ppt on exim bank of india Ppt on conservation of wildlife and natural vegetation of africa