Lecture 6: Discovering Domain Entities
|
|
|
- Alexander Melton
- 10 years ago
- Views:
Transcription
1 221 Lecture 6: Discovering Domain Entities DTU Informatics FM 2012 Tutorial Lecture Notes 221 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
2 5. 5. Discovering Domain Entities Lecture 2 briefly characterised, informally and also a bit more formally, what we mean by a domain. Lecture 3 informally and systematically characterised the four categories of entities: parts, actions, events and behaviours. Lectures 4 5 more-or-less repeated Sect. 3 s material but by now giving more terse narratives (that is, informal descriptions) and, for the fist time, also formalisations. Lectures 4 5 did not hint at how one discovers domain parts (i.e., their types), actions, events and behaviours. In this section we try unravel a set of techniques and tools so-called discoverers and analysers using which the domain describer (scientist and/or engineer) can more-or-less systematically discover, analyse and describe a domain, informally and formally. 221 DTU Informatics FM 2012 Tutorial Lecture Notes 221 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
3 Discovering Domain Entities 5.1. Preliminaries 5.1. Preliminaries Before we present the discoverers and analysers we need establish some concepts. These are: Part Signatures Slides Domain Indices Slides Inherited Part Signatures Slides Domain Signatures Slides Simple and Compound Domain Signatures Slides c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
4 5. Discovering Domain Entities 5.1. Preliminaries Part Signatures 223 Let us consider a part p : P Part Signatures Let p : P, by definition, be the principal part of a domain. Now we need to identify (i) the type, P, of that part; (ii) the types, S 1,..., S m, of its proper sub-parts (if p is composite); (iii) the type, PI, of its unique identifier; (iv) the possible types, MI 1,..., MI n, of its mereology; and (v) the types, A 1,..., A o, of its attributes. We shall name that cluster of type identifications the part signature. We refer to P as identifying the part signature. Each of the S i (for i : {1..m}) identifies sub-parts and hence sub-part, i.e., part signatures. DTU Informatics FM 2012 Tutorial Lecture Notes 223 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
5 Discovering Domain Entities 5.1. Preliminaries Part Signatures Example 41 (Net Domain and Sub-domain Part Signatures) The part signature of the hubs and the links are here chosen to be those of (i) N, (ii) Hs, (ii) Ls and Net name, Net owner, etc. The part signatures Hs and Ls are (ii) Hs = H-set, H (iii,iv) HI, LI-set (v) Hub Nm, Location, HΣ, HΩ,... (ii) Ls = L-set, L (iii,iv) LI, HI-set (v) Link Nm, LΣ, LΩ, LEN, etc. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
6 5. Discovering Domain Entities 5.1. Preliminaries Domain Indices Domain Indices By a domain index we mean a list of part type names that identify a sequence of part signatures. More specifically The domain has index. The sub-domains of, with part types A, B,..., C, has indices,a,,b,...,,c. The sub-domains of sub-domain with index l and with part types A, B,..., C has indices l A, l B,..., l C. DTU Informatics FM 2012 Tutorial Lecture Notes 225 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
7 Discovering Domain Entities 5.1. Preliminaries Domain Indices Example 42 (Indices of a Road Pricing Domain) We refer to the the Road-pricing Transport Domain, cf. Example 36 on page 184. The sub-domain indices of the road-pricing transport domain,, are:,,n,,f,,m,,n,vs,,n,ls,,n,h,,n,l and,f,v. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
8 5. Discovering Domain Entities 5.1. Preliminaries Inherited Domain Signatures Inherited Domain Signatures Let,A,B,C,D be some domain index. Then,A,B,C,A,B,A are the inherited domain indices of,a,b,c,d. DTU Informatics FM 2012 Tutorial Lecture Notes 227 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
9 Discovering Domain Entities 5.1. Preliminaries Domain and Sub-domain Categories Domain and Sub-domain Categories By the domain category of the domain indexed by l D we shall mean the domain signature of D, and the action, event and behaviour definitions whose signatures involves just the types given in the domain signature of D or in inherited domain signatures. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
10 5. Discovering Domain Entities 5.1. Preliminaries Domain and Sub-domain Categories 229 Example 43 (The Road-pricing Domain Category) The road-pricing domain category consist of the types N, F and M, the create Net create Fleet and create M actions, and corresponding Net, Fleet and M behaviours DTU Informatics FM 2012 Tutorial Lecture Notes 229 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
11 Discovering Domain Entities 5.1. Preliminaries Domain and Sub-domain Categories By a sub-domain category, of index l, we shall mean the sub-domain types of the sub-domain designated by index l, and the actions, events and behaviours whose signatures involves just the types of the l indexed sub-domain or of any prefix of l indexed sub-domain or of the root domain. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
12 5. Discovering Domain Entities 5.1. Preliminaries Domain and Sub-domain Categories 231 Example 44 (A Hub Category of a Road-pricing Transport Domain) The ancestor sub-domain types of the hub sub-domain are: HS, N and. The hub category thus includes the part (etc.) types H, HI,..., the insert Hub and the delete Hub actions, perhaps some saturated hub (and/or other) event(s), but probably no hub behaviour as it would involve at least the type LI which is not in an ancestor sub-domain of the Hub sub-domain. DTU Informatics FM 2012 Tutorial Lecture Notes 231 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
13 Discovering Domain Entities 5.1. Preliminaries Simple and Compound Indexes Simple and Compound Indexes By a simple index we mean a domain or a sub-domain index. By a compound index we mean a set of two or more distinct indices of a domain. Compound indices, c idx : {l i,l j,...,l k }, designate parts, actions, events and behaviours each of whose types and signatures involve types defined by all of the simple indexes of c idx. Example 45 (Compound Indices of the Road-pricing System) We show just one compound index: {,N,HS,H,,N,LS,L }. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
14 5. Discovering Domain Entities 5.1. Preliminaries Simple and Compound Domain Categories Simple and Compound Domain Categories By a simple domain category we shall mean any l-indexed [sub-]domain category. By the compound domain category of compound index c idx : {l i,l j,...,l k }, we shall mean the set of types, actions, events and behaviours as induced by compound index c idx, that is, parts, actions, events and behaviours each of whose types and signatures involve types defined by all of the simple indexes of c idx. DTU Informatics FM 2012 Tutorial Lecture Notes 233 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
15 Discovering Domain Entities 5.1. Preliminaries Simple and Compound Domain Categories Example 46 (The Compound Domain Category of Hubs and Links) The compound domain category designated by {,N,HS,H,,N,LS,L } includes: type HIs = HI-set axiom his:his card his=2 LIs = LI-set HΣ = (LI LI)-set LΣ = (HI HI)-set HΩ = HΣ-set LΩ = LΣ-set value mereo L: L HIs, mereo H: H LIs attr HΣ: H HΣ attr LΣ: L LΣ attr HΩ: H HΩ attr LΩ: L LΩ axiom h:h attr HΣ(h) attr HΩ(h) l:l attr LΣ(l) attr LΩ(l) c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
16 5. Discovering Domain Entities 5.1. Preliminaries Examples Examples We repeat some examples, but now formalised. Example 47 (The Root Domain Category) We start at the root,, of the Road Pricing Domain. See Fig. 13. < > Figure 13: The Root At the root we discover the net, fleet and road pricing monitor. See Fig. 14 on the following page. DTU Informatics FM 2012 Tutorial Lecture Notes 235 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
17 Discovering Domain Entities 5.1. Preliminaries Examples N F M New indices: {<,N>,<,F>,<,M>} Figure 14: Exploring the root index Index c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
18 5. Discovering Domain Entities 5.1. Preliminaries Examples When observing the very essence of the road pricing domain at the level one observes: type N, F, M value obs N: N obs F: F obs M: M attr...:... where... stands for types of road pricing domain attributes. 237 DTU Informatics FM 2012 Tutorial Lecture Notes 237 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
19 Discovering Domain Entities 5.1. Preliminaries Examples Example 48 (The Net Domain Category) We then proceed to explore the domain at index,n. See Fig. 15. N F M Hs Ls New indices: {<,N,Hs>,<,N,Ls>} Figure 15: Exploring the,n Index c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
20 5. Discovering Domain Entities 5.1. Preliminaries Examples 239 When observing the very essence of the Net domain, at the, N level one observes: type Hs = H-set Ls = L-set H L... value obs Hs: N Hs obs Ls: N Ls attr Hs: Hs... attr Ls: Ls... where... stand for attributes of the Hs and the Ls parts of N. DTU Informatics FM 2012 Tutorial Lecture Notes 239 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
21 Discovering Domain Entities 5.1. Preliminaries Examples Example 49 (The Fleet Domain Category) We then proceed to explore the domain at index,f. See Fig. 16. N F Hs Ls Vs New index: <,F,Vs> Figure 16: Exploring the,f Index c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
22 5. Discovering Domain Entities 5.1. Preliminaries Examples 241 When observing the very essence of the Fleet domain, at the, F level one observes: type Vs = V-set V... value obs Vs: F Vs attr... Vs... where... stand for attributes that we may wish to associate with Fleets of vehicles. DTU Informatics FM 2012 Tutorial Lecture Notes 241 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
23 Discovering Domain Entities 5.1. Preliminaries Examples Example 50 (The Hub Domain Category) We now switch back to explore the domain at index,n,hs. See Fig. 17. N F M Hs Ls H New index: <,N,Hs,H> Figure 17: Exploring the, N,Hs,H Index c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
24 5. Discovering Domain Entities 5.1. Preliminaries Examples When observing the very essence of the Fleet domain, at the, N,Hs,H level one observes: type HI... value uid HI: H HI attr...: H... where... stand for LOCation, etc. 243 DTU Informatics FM 2012 Tutorial Lecture Notes 243 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
25 Discovering Domain Entities 5.1. Preliminaries Examples Example 51 (The Link Domain Category) Next we explore the link domain. See Fig. 18. N F M Hs H Ls H New index: <,N,Ls,L> Figure 18: Exloring the, N,Ls,L Index c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
26 5. Discovering Domain Entities 5.1. Preliminaries Examples When observing the very essence of the Fleet domain, at the, N,Ls,L level one observes: type LI... value uid LI: L LI attr...: L... where... stand for LOCation, LENgth, etc. 245 DTU Informatics FM 2012 Tutorial Lecture Notes 245 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
27 Discovering Domain Entities 5.1. Preliminaries Examples Example 52 (The Compound Hub and Link Domain Category) We next explore a compound domain. See Fig. 19. N F M Hs H Ls L Exploring composite index: {<,N,Hs,H>,<,N,Ls,L>} Figure 19: Exploring composite index {, N,Hs,H, N,Ls,L } c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
28 5. Discovering Domain Entities 5.1. Preliminaries Examples 247 When observing the very essence of the Fleet domain, at the {, N,Hs,H,, N,Ls,L } level one observes: type HΣ = (LI LI)-set, HΩ = HΣ-set, LΣ = (HI HI)-set, LΩ = LΣ-set value attr HΣ: H HΣ, attr HΩ: H HΩ attr LΣ: L LΣ, attr LΩ: L LΩ mereo L: L HI-set axiom l:l:card mereo L(l)=2 mereo H: H LI-set (= LI-set) remove H: HI N N insert L: L N N remove L: LI N N... axiom hσ:hσ..., hω:hω... lσ:hσ..., lω:hω... DTU Informatics FM 2012 Tutorial Lecture Notes 247 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
29 Discovering Domain Entities 5.1. Preliminaries Discussion Discussion The previous examples (47 52), especially the last one (52), illustrates the complexity of a domain category; from just observing sub-part types and attributes (as in Examples 47 49), Example 52 observations grow to intricate mereologies etcetera. The discoverers that we shall propose aim at structuring the discovery process by focusing, in turn, on part sorts, concrete part types, unique identifier types of parts, part mereology, part attributes, action signatures, event signatures, etc. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
30 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Proposed Type and Signature Discoverers By a domain discoverer we shall understand a tool and a set of principles and techniques for using this tool in the discovery of the entities of a domain. In this section we shall put forward a set of type and signature discoverers. Each discoverer is indexed by a simple or a compound domain index. And each discoverer is dedicated to some aspect of some entities. Together the proposed discoverers should cover the most salient aspects of domains. Our presentation of type and signature discoverer does not claim to help analyse all of a domain. DTU Informatics FM 2012 Tutorial Lecture Notes 249 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
31 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers We need formally define what an index is. type Index = Smpl Idx Cmpd Idx Smpl Idx = { idx idx:type Name } Cmpd Idx = Smpl Idx-set Cmpd Idx = { sis:cmpd Idx wf Cmpd Idx(sis) } value wf Cmpd Idx: Cmpd Idx Bool wf Cmpd Idx(sis) si,si :Smpl Idx {si,si } sis si si DISCOVERER KIN D: Index Text DISCOVER KIN D(l t ) as text pre: l t is a valid index beginning with post: text is some, in our case, RSL text The idea of the l t index is that it identifies a sub-domain, t, of c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
32 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers 251 where DISCOVERER KIN D is any of the several different kinds of domain forms: [90 (Slide 255)] PART SORTS, [91 (Slide 257)] HAS A CONCRETE TYPE, [92 (Slide 260)] PART TYPES, [93 (Slide 264)] UNIQUE ID, [96 (Slide 265)] MEREOLOGY, [98 (Slide 267)] ATTRIBUTES, [100 (Slide 275)] ACTION SIGNATURES, [101 (Slide 276)] EVENT SIGNATURES and [103 (Slide 280)] BEHAVIOUR SIGNATURES. In a domain analysis (i.e., discovery) the domain description emerges bit-by-bit. Initially types are discovered and hence texts which define unique identifier types and functions, mereology types and functions, and attribute types and functions. Then the signatures of actions, events and behaviours. DTU Informatics FM 2012 Tutorial Lecture Notes 251 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
33 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Analysing Domain Parts The two most important aspects of an algebra are those of its parts and its operations. Rather than identifying, that is, discovering or analysing individual parts we focus on discovering their types initially by defining these as sorts. And rather than focusing on defining what the operations achieve we concentrate on the signature, i.e., the types of the operations. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
34 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts 253 It (therefore) seems wise to start with the discovery of parts, and hence of their types. Part types are present in the signatures of all actions, events and behaviours. When observing part types we also observe a variety of part type analysers: possible unique identities of parts, the possible mereologies of composite parts, and the types of the attributes of these parts. DTU Informatics FM 2012 Tutorial Lecture Notes 253 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
35 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Sorts and Their Observers Domain Part Sorts and Their Observers Initially we discover parts by deciding upon their types, in the form, first of sorts, subsequently and possibly in the form of concrete types. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
36 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Sorts and Their Observers A Domain Sort Discoverer A Domain Sort Discoverer 90. A part type discoverer applies to a simply indexed domain, index, and yields (a) a set of type names (b) each paired with a part (sort) observer. value 90. PART SORTS: Index Text 90. PART SORTS(l T ): 90(a). tns:{t 1,T 2,...,T m }:TN-set 90(b). { obs T j : T T j T j :tns} DTU Informatics FM 2012 Tutorial Lecture Notes 255 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
37 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Sorts and Their Observers A Domain Sort Discoverer Example 53 (Some Part Sort Discoveries) We apply a concrete version of the above sort discoverer to the road-pricing transport domain : PART SORTS( ): type N, F, M value obs N: N obs F: F obs M: M PART SORTS(,N ): type Hs, Ls value obs Hs: N Hs obs Ls: N Ls PART SORTS(,F ): type Vs value obs Cs: F Vs c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
38 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers Domain Part Types and Their Observers Do a Sort Have a Concrete Type? Sometimes we find it expedient to endow a discovered sort with a concrete type expression, that is, turn a sort definition into a concrete type definition. 91. Thus we introduce the discoverer : 91 HAS A CONCRETE TYPE: Index Bool 91 HAS A CONCRETE TYPE(l t ):true false DTU Informatics FM 2012 Tutorial Lecture Notes 257 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
39 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers Do a Sort Have a Concrete Type? Example 54 (Some Type Definition Discoveries) We exemplify two true expressions: HAS A CONCRETE TYPE(,N,Hs ) HAS A CONCRETE TYPE(,N,Ls ) HAS A CONCRETE TYPE(,N,Hs,H ) HAS A CONCRETE TYPE(,N,Ls,L ) c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
40 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers A Domain Part Type Observer A Domain Part Type Observer The PART TYPES(l t ) invocation yields one or more sort definitions of part types together with their observer functions. The domain analyser can decide that some parts can be immediately analysed into concrete types. Thus, together with yielding a type name, the PART TYPES can be expected to yield also a type definition, that is, a type expression (paired with the type name). Not all type expressions make sense. We suggest that only some make sense. DTU Informatics FM 2012 Tutorial Lecture Notes 259 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
41 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers A Domain Part Type Observer 92. The PART TYPES discoverer applies to a composite type, t, and yields (a) a type definition, T = TE, (b) together with the sort and/or type definitions of so far undefined type names of TE. (c) The PART TYPES discoverer is not defined if the designated sort is judged to not warrant a concrete type definition. 92. PART TYPES: Index Text 92. PART TYPES(l t ): 92(a). type t = te, 92(b). T 1 or T 1 = TE 1 92(b). T 2 or T 2 = TE 2 92(b) (b). T n or T n = TE n 92(c). pre: HAS A CONCRETE TYPE(l t ) c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
42 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers A Domain Part261 Type Observer Example 55 (Some Part Type Discoveries) We exemplify two discoveries: PART TYPES(,N,Hs ): type H Hs = H-set PART TYPES(,N,Ls ): type L Ls = L-set PART TYPES(,F ): type V Vs = V-set DTU Informatics FM 2012 Tutorial Lecture Notes 261 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
43 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Domain Part Types and Their Observers Concrete Part Types Concrete Part Types In Example 55 on the preceding page we illustrated one kind of concrete part type: sets. Practice shows that sorts often can be analysed into sets. Other analyses of part sorts are Cartesians, list, and simple maps: 90(b). 90(b). 90(b). te: tn1 tn2... tnm te: tn te: Token m tn where tn s are part type usually sort names some of which may have already been defined, and where Token is some simple atomic (non-part) type. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
44 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers Part Type Analysers There are three kinds of analysers: unique identity analysers, mereology analysers and general attribute analysers. and DTU Informatics FM 2012 Tutorial Lecture Notes 263 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
45 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers Unique Identity Analysers Unique Identity Analysers We associate with every part type T, a unique identity type TI. 93. So, for every part type T we postulate a unique identity analyser function uid TI. value 93. UNIQUE ID: Index Text 93. UNIQUE ID(l T ): 93. type 93. TI 93. value 93. uid TI: T TI c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
46 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers Mereology Analysers Mereology Analysers Given a part, p, of type T, the mereology, MEREOLOGY, of that part is the set of all the unique identifiers of the other parts to which part p is partship-related as revealed by the mereo TI i functions applied to p. 94. Let types T 1, T 2,..., T n be the types of all parts of a domain. 95. Let types TI 1, TI 2,..., TI n 22, be the types of the unique identifiers of all parts of that domain. 96. The mereology analyser MEREOLOGY is a generic function which applies to an index and yields the set of (a) zero, (b) one or (c) more mereology observers. 22 We here assume that all parts have unique identifications. DTU Informatics FM 2012 Tutorial Lecture Notes 265 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
47 2665. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers Mereology Analysers type 94. T = T 1 T 2... T n 95. T idx = TI 1 TI 2... TI n 96. MEREOLOGY: Index Text 96. MEREOLOGY({l i T j,...,l k T l }): 96(a). either: {} 96(b). or: mereo TI x : T (TI x TI x -set) 96(c). or: { mereo TI x : T (TI x TI x -set), 96(c). mereo TI y : T (TI y TI y -set), 96(c)...., 96(c). mereo TI z : T (TI z TI z -set) } where none of TI x, TI y,..., TI z are equal to TI and each is some T idx. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
48 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers General Attribute Analysers General Attribute Analysers A general attribute analyser analyses parts beyond their unique identities and possible mereologies. 97. Part attributes have names. We consider these names to also abstractly name the corresponding attribute types, that is, the names function both as attribute names and sort names. Finally we allow attributes of two or more otherwise distinct part types to be the same. 98. ATTRIBUTES applies to parts of any part type t and yields 99. the set of attribute observer functions attr at, one for each attribute sort at of t. DTU Informatics FM 2012 Tutorial Lecture Notes 267 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
49 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers General Attribute Analysers type 97. AT = AT 1 AT 2... AT n value 98. ATTRIBUTES: Index Text 98. ATTRIBUTES(l T ): 99. type 99. AT 1, AT 2,..., AT m 99. value 99. attr AT 1 : T AT attr AT 2 : T AT , 99. attr AT m : T AT m, m n c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
50 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers General Attribute Analysers 269 Example 56 (Example Part Attributes) We exemplify attributes of composite and of atomic parts: ATTRIBUTES( ): type Domain Name,... value attr Name: Domain Name... where Domain Name could include State Roads or Rail Net. etcetera. DTU Informatics FM 2012 Tutorial Lecture Notes 269 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
51 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers General Attribute Analysers ATTRIBUTES(,N ): type Sub Domain Location, Sub Domain Owner, Kms,... value attr Location: N Sub Domain Location attr Owner: N Sub Domain Owner attr Length: N Kms... where Sub Domain Location could include Denmark, Sub Domain Owner could include The Danish Road Directorate 23, respectively BaneDanmark 24, etcetera eng.asp?artikelid=931 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
52 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers General Attribute Analysers ATTRIBUTES(,N,Hs,L ): type LOC, LEN,... value attr LOC: L LOC attr LEN: L LEN... ATTRIBUTES({,N,Hs,L.,N,Hs,H }): type LΣ = HI-set, LΩ LΣ-set HΣ = LI-set, HΩ HΣ-set value attr LΣ: L LΣ attr LΩ: L LΩ attr HΣ: H HΣ attr HΩ: H HΩ where LOC might reveal some Bezier curve 25 representation of the possibly curved three dimensional location of the link in question, LEN might designate length in meters, LΣ [HΣ] designates the state of the link [hub], LΩ [HΩ] designates the space of all allowed states of the link [hub], etcetera curve DTU Informatics FM 2012 Tutorial Lecture Notes 271 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
53 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Analysing Domain Parts Part Type Analysers Attribute Sort Exploration Attribute Sort Exploration Once the attribute sorts of a part type have been determined there remains to be discovered the concrete types of these sorts. We omit treatment of this point in the present version of these these lectures. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
54 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Action Signatures Discovering Action Signatures General We really should discover actions, but actually analyse function definitions. And we focus, in these lectures, on just discovering the function signatures of these actions. By a function signature, to repeat, we understand a functions name, say fct, and a function type expression (te), say dte rte where dte defines the type of the function s definition set and rte defines the type of the function s image, or range set. DTU Informatics FM 2012 Tutorial Lecture Notes 273 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
55 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Action Signatures Function Signatures Usually Depend on Compound Domains Function Signatures Usually Depend on Compound Domains We use the term functions to cover actions, events and behaviours. We shall in general find that the signatures of actions, events and behaviours depend on types of more than one domain. Hence the schematic index set {l 1 t 1,l 2 t 2,...,l n t n } is used in all actions, events and behaviours discoverers. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
56 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Action Signatures The ACTION SIGNATURES Discoverer The ACTION SIGNATURES Discoverer 100. The ACTION SIGNATURES meta-function applies to an index set and yields (a) a set of action signatures each consisting of an action name and a pair of definition set and range type expressions where (b) the type names that occur in these type expressions are defined by in the domains indexed by the index set. 100 ACTION SIGNATURES: Index Text 100 ACTION SIGNATURES({l 1 T 1,l 2 T 2,...,l n T n }): 100(a) act fct i : te id teir, 100(a) act fct j : te jd tejr, 100(a)..., 100(a) act fct k : te kd tekr 100(b) where: 100(b) type names in (te (i j... k)d ) and in (te (i j... k)r ) are 100(b) type names defined by the indices which are prefixes of 100(b) l m T m and where T m is in some signature act fct i j... k. DTU Informatics FM 2012 Tutorial Lecture Notes 275 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
57 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Event Signature Discovering Event Signature Events are from the point of view of signatures very much like actions The EVENT SIGNATURES meta-function applies to an index set and yields (a) a set of action signatures each consisting of an action name and a pair of definition set and range type expressions where (b) the type names that occur in these type expressions are defined either in the domains indexed by the index set or by the environment (i.e., outside the domain ). c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
58 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Event Signature EVENT SIGNATURES: Index Text 101 EVENT SIGNATURES({l 1 T 1,l 2 T 2,...,l n T n }): 101(a) evt fct i : te id teir, 101(a) evt fct j : te jd tejr, 101(a)..., 101(a) evt fct k : te kd tekr 101(b) where: 101(b) type names of te (i j... k)d and te (i j... k)r are type names 101(b) defined by the indices which are prefixes of l m t m 101(b) and where t m is in some signature act fct i j... k or may 101(b) refer to types definable only outside DTU Informatics FM 2012 Tutorial Lecture Notes 277 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
59 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Behaviour Signatures Discovering Behaviour Signatures We choose, in these lectures, to model behaviours in CSP 26. This means that we model (synchronisation and) communication between behaviours by means of messages m of type M, CSP channels (channel ch:m) and CSP output: ch!e [offer to deliver value of expression e on channel ch], and input: ch? [offer to accept a value on channel ch]. We allow for the declaration of single channels as well as of one, two,..., n dimensional arrays of channels with indexes ranging over channel index types type Idx, CIdx, RIdx... : channel ch:m, { ch v[vi]:m vi:idx }, { ch m[ci,ri]:m ci:cidx,ri:ridx },... etcetera. We assume some familiarity with RSL/CSP. 26Other behaviour modelling languages are Petri Nets, MSCs: Message Sequence Charts, Statechart etc. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
60 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Behaviour Signatures 279 A behaviour usually involves two or more distinct sub-domains. Example 57 (The Involved Subdomains of a Vehicle Behaviour) Let us illustrate that behaviours usually involve two or more distinct sub-domains. A vehicle behaviour, for example, involves the vehicle subdomain, the hub subdomain (as vehicles pass through hubs), the link subdomain (as vehicles pass along links) and, for the road pricing system, also the monitor subdomain. DTU Informatics FM 2012 Tutorial Lecture Notes 279 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
61 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Behaviour Signatures 102. The BEHAVIOUR SIGNATURES is a meta function It applies to a set of indices and results in a text, 104. The text contains (a) a set of zero, one or more message types, (b) a set of zero, one or more channel index types, (c) a set of zero, one or more channel declarations, (d) a set of one or more process signatures with each signature containing a behaviour name, an argument type expression, a result type expression, usually just Unit, and (e) an input/output clause which refers to channels over which the signatured behaviour may interact with its environment. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
62 5. Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Behaviour Signatures BEHAVIOUR SIGNATURES: Index Text 103. BEHAVIOUR SIGNATURES({l 1 T 1,l 2 T 2,...,l n T n }): 104(a). type M = M 1 M 2... M m, m 0 104(b). I = I 1 I 2... I n, n 0 104(c). channel ch,vch[ i ],{vch[ i ]:M i:i a },{mch[ j,k ]:M j:i b,k:i c }, (d). value 104(d). bhv 1 : ate 1 inout 1 rte 1, 104(d). bhv 2 : ate 2 inout 2 rte 2, 104(d)...., 104(d). bhv m : ate m inout m rte m, 104(d). where type expressions atei i and rte i for all i involve at least two 104(d). types t i and t j of respective indexes l i t i and l j t j 104(e). where inout i : in k out k in,out k 104(e). where k: ch ch[ i ] {ch[ i ] i I a } {mch[ j,k ]:M i:i b,j:i c }... DTU Informatics FM 2012 Tutorial Lecture Notes 281 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
63 Discovering Domain Entities 5.2. Proposed Type and Signature Discoverers Discovering Behaviour Signatures Example 58 (A Vehicle Behaviour Signature Discovery) We refer, for example, to Examples 36 (Slides ) and 40 (Slides ). let ih=.n.ls,h,il=.n.hs,l,iv=,f,v,im=,monitor in BEHAVIOUR SIGNATURES({iv,ih,iv,im}) as text let n:n, hs=obs HS(n), ls=obs LS(n), vs=obs F(PART SORTS)( ) in where text: type VL Msg, VH Msg, VM Msg channel 62(a). {vh ch[ attr VI(v),attr HI(h) ] v:v,h:h v vd h hs}:vh Msg 62(b). {vl ch[ attr VI(v),attr LI(h) ] v:v,l:l v vs h ls}:vl Msg 62(c). m ch:vm Msg value 64. vehicle: VI V VP 83. out,in {vl ch[ vi,li ] li:li li xtr LIs(ls)} 83. {vh ch[ vi,hi ] hi:hi hi xtr HIs(hs)} out m ch,... Unit end end c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
64 5. Discovering Domain Entities 5.3. What Does Application Mean? What Does Application Mean? Now what does it actually mean to apply a discover function? We repeat our list of discoverers. [90 (Slide 255)] PART SORTS, [91 (Slide 257)] HAS A CONCRETE TYPE, [92 (Slide 260)] PART TYPES, [93 (Slide 264)] UNIQUE ID, [96 (Slide 265)] MEREOLOGY, [98 (Slide 267)] ATTRIBUTES, [100 (Slide 275)] ACTION SIGNATURES, [101 (Slide 276)] EVENT SIGNATURES and [103 (Slide 280)] BEHAVIOUR SIGNATURES. It is the domain engineer cum scientist who issues the commands. DTU Informatics FM 2012 Tutorial Lecture Notes 283 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
65 Discovering Domain Entities 5.3. What Does Application Mean? The first formal domain inquiry is that of PART SORTS( ). We refer to Item 90 on page 255, for example as captured by the formulas, Items 90 90(b) (Slide 285). For the domain engineer to issue one of the discovery commands means that that person has (i) prepared his mind to study the domain and is open to impressions, (ii) decided which DISCOVERER KIN D to focus on, and (iii) studied the rules of engagement of that command, that is which pre-requisite discoverers must first have been applied, with which index, that is, in which context the command invocation should be placed, and which results the invocation is generally expected to yield. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
66 5. Discovering Domain Entities 5.3. What Does Application Mean? PART SORTS PART SORTS Let us review the PART SORTS discoverer: value 90. PART SORTS: Index Text 90. PART SORTS(l T ): 90(a). tns:{t 1,T 2,...,T m }:TN-set 90(b). { obs T j : T T j T j :tns} The domain analyser has decided to position the search at domain index l T where T = if l = and where T is some previously discovered part type. DTU Informatics FM 2012 Tutorial Lecture Notes 285 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
67 Discovering Domain Entities 5.3. What Does Application Mean? PART SORTS From Item 90(a) the domain analyser is guided (i.e., advised) to analyse the domain at position l T : is the domain type T a type of one or more subpart types? If so then decide which they are, that is: T 1,T 2,...,T m, that is, the generation of the text type T 1,T 2,...,T m, if not then tns={} and no text is generated. Item 90(b), and given the domain analyser s resolution of Item 90(a), then directs the generation of m observers obs T j : T T j (for j : {1..m}). c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
68 5. Discovering Domain Entities 5.3. What Does Application Mean? HAS A CONCRETE TYPE HAS A CONCRETE TYPE Let us review the HAS A CONCRETE TYPE analyser: 91 HAS A CONCRETE TYPE: Index Bool 91 HAS A CONCRETE TYPE(l T ):true false Item 91 directs the domain analyser to decide whether the domain type T at position l t should be given a concrete type definition. It is a decision sôlely at the discretion of the domain analyser whether domain type T should be given a concrete type definition, and which concrete type it should then be given, that is, how it should be concretely abstractly modelled. DTU Informatics FM 2012 Tutorial Lecture Notes 287 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
69 Discovering Domain Entities 5.3. What Does Application Mean? PART TYPES PART TYPES Let us review the PART TYPES analyser: 92. PART TYPES: Index Text 92. PART TYPES(l t ): 92(a). type T = TE, 92(b). T 1 or T 1 = TE 1 92(b). T 2 or T 2 = TE 2 92(b) (b). T n or T n = TE n 92(c). pre: HAS A CONCRETE TYPE(l t ) c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
70 5. Discovering Domain Entities 5.3. What Does Application Mean? PART TYPES 289 The domain analyser has decided to position the search at domain index l T where T = if l = and where T is some previously discovered part type. From Item 92 the domain analyser is guided (i.e., advised) to analyse the domain at position l T : can an abstract, yet concrete type definion be given for T? If so then decide which it should be, that is, should it be an atomic type a number type, Intg, Rat, Real, a Boolean type, Bool, or a token type, f.ex. TOKEN; DTU Informatics FM 2012 Tutorial Lecture Notes 289 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
71 Discovering Domain Entities 5.3. What Does Application Mean? PART TYPES or should it be a composite type either a set type: TE: T s -set of te: T s -infset, or a Cartesian type: TE: T 1 T 2...T m, or a list type: TE: T l or te: Tω l or a map type: TE: T d m T t? In either case the text type T = TE, T 1 or T 1 =TE 1, T 2 or T 1 =TE 2,..., T n or T n =TE n is generated where TE (TE x ) is a type expression whose so far undefined type names T 1, T 2,..., T n must be defined, either as sorts, or a concrete types. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
72 5. Discovering Domain Entities 5.3. What Does Application Mean? UNIQUE ID UNIQUE ID Let us review the UNIQUE ID analyser: value 93. UNIQUE ID: Index Text 93.a UNIQUE ID(l T ): 93.b type 93.c TI 93.d value 93.e uid TI: T TI Item 93.a inquires as to the Line 93.b type name Line 93.c of the inquired part type s unique identifiers Line 93.d and the function signature value Line 93.e of the observer, uid TI, name, the definition set type (T, of course) and the range set type (TI obviously). Thus, the only real new discovery here is the name, TI, of the unique identifier type. DTU Informatics FM 2012 Tutorial Lecture Notes 291 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
73 Discovering Domain Entities 5.3. What Does Application Mean? UNIQUE ID Etcetera, etcetera Discussion We have presented a set of discoverers: [90 (Slide 255)] PART SORTS, [91 (Slide 257)] HAS A CONCRETE TYPE, [92 (Slide 260)] PART TYPES, [93 (Slide 264)] UNIQUE ID, [96 (Slide 265)] MEREOLOGY, [98 (Slide 267)] ATTRIBUTES, [100 (Slide 275)] ACTION SIGNATURES, [101 (Slide 276)] EVENT SIGNATURES and [103 (Slide 280)] BEHAVIOUR SIGNATURES. c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09: Towards a Theory of Domain Descriptions
74 5. Discovering Domain Entities 5.4. Discussion 293 There is much more to be said: About a meta-state component in which is kept the text so far generated. A component from which one can see which indices and hence which type names have so far been generated, and on the basis of which one can perform tests of well-formedness of generated text, etcetera, etcetera, DTU Informatics FM 2012 Tutorial Lecture Notes 293 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
75 293 End Lecture 6: Discovering Domain Entities DTU Informatics FM 2012 Tutorial Lecture Notes 293 c Dines Bjørner 2011, Fredsvej 11, DK 2840 Holte, Denmark - April 30, 2012: 09:16
Components, Materials and Discussion of Endurants
0 Dines Bjørner s MAP-i Lecture # 4 Components, Materials and Discussion of Endurants Monday, 25 May 2015: 16:45 17:30 c Dines Bjørner 2015, Fredsvej 11, DK 2840 Holte, Denmark May 23, 2015: 15:36 0 Domain
The TSE Trading Rules 1
The TSE Trading Rules 1 Dines Bjørner Fredsvej 11, DK-2840 Holte, Danmark E Mail: [email protected], URL: www.imm.dtu.dk/ db February 22, 2010 1 This is version 2 of a document first released on January
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation
Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Abstract This paper discusses methods of joining SAS data sets. The different methods and the reasons for choosing a particular
2) What is the structure of an organization? Explain how IT support at different organizational levels.
(PGDIT 01) Paper - I : BASICS OF INFORMATION TECHNOLOGY 1) What is an information technology? Why you need to know about IT. 2) What is the structure of an organization? Explain how IT support at different
Fundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
A terminology model approach for defining and managing statistical metadata
A terminology model approach for defining and managing statistical metadata Comments to : R. Karge (49) 30-6576 2791 mail [email protected] Content 1 Introduction... 4 2 Knowledge presentation...
ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)
ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) Subject Description: This subject deals with discrete structures like set theory, mathematical
Fabio Patrizi DIS Sapienza - University of Rome
Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research
Software Engineering
Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method
INF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
Normalization. Reduces the liklihood of anomolies
Normalization Normalization Tables are important, but properly designing them is even more important so the DBMS can do its job Normalization the process for evaluating and correcting table structures
Object Oriented Software Models
Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
Domain Stakeholders. 9.1 Introduction. 9.2 Stakeholders
9 Domain Stakeholders The prerequisite for studying this chapter is that you have read Chaps. 1 and 8 of this volume. The aims are to introduce the concept of (domain) stakeholders, to distinguish between
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
Vector storage and access; algorithms in GIS. This is lecture 6
Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector
Beyond the Mouse A Short Course on Programming
1 / 22 Beyond the Mouse A Short Course on Programming 2. Fundamental Programming Principles I: Variables and Data Types Ronni Grapenthin Geophysical Institute, University of Alaska Fairbanks September
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Chapter 6. The stacking ensemble approach
82 This chapter proposes the stacking ensemble approach for combining different data mining classifiers to get better performance. Other combination techniques like voting, bagging etc are also described
1 Sets and Set Notation.
LINEAR ALGEBRA MATH 27.6 SPRING 23 (COHEN) LECTURE NOTES Sets and Set Notation. Definition (Naive Definition of a Set). A set is any collection of objects, called the elements of that set. We will most
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
Process Modelling from Insurance Event Log
Process Modelling from Insurance Event Log P.V. Kumaraguru Research scholar, Dr.M.G.R Educational and Research Institute University Chennai- 600 095 India Dr. S.P. Rajagopalan Professor Emeritus, Dr. M.G.R
PGR Computing Programming Skills
PGR Computing Programming Skills Dr. I. Hawke 2008 1 Introduction The purpose of computing is to do something faster, more efficiently and more reliably than you could as a human do it. One obvious point
Logic in Computer Science: Logic Gates
Logic in Computer Science: Logic Gates Lila Kari The University of Western Ontario Logic in Computer Science: Logic Gates CS2209, Applied Logic for Computer Science 1 / 49 Logic and bit operations Computers
Efficient Data Structures for Decision Diagrams
Artificial Intelligence Laboratory Efficient Data Structures for Decision Diagrams Master Thesis Nacereddine Ouaret Professor: Supervisors: Boi Faltings Thomas Léauté Radoslaw Szymanek Contents Introduction...
Microarray Data Analysis. A step by step analysis using BRB-Array Tools
Microarray Data Analysis A step by step analysis using BRB-Array Tools 1 EXAMINATION OF DIFFERENTIAL GENE EXPRESSION (1) Objective: to find genes whose expression is changed before and after chemotherapy.
COMPUTER SCIENCE. Paper 1 (THEORY)
COMPUTER SCIENCE Paper 1 (THEORY) (Three hours) Maximum Marks: 70 (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time) -----------------------------------------------------------------------------------------------------------------------
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
FORMAL SPECIFICATION OF SOFTWARE DEVELOPMENT USING BUSINESS RULES APPROACH
FORMAL SPECIFICATION OF SOFTWARE DEVELOPMENT USING BUSINESS RULES APPROACH Yaya Setiyadi, S. Si, M. T. 1, Oerip S. Santoso 2, Cecilia E. Nugraheni and ST. MT 3. 1 Del Institute of Technology, Toba Samosir,
I PUC - Computer Science. Practical s Syllabus. Contents
I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations
We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.
LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test
Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important
Data Structure and Algorithm I Midterm Examination 120 points Time: 9:10am-12:10pm (180 minutes), Friday, November 12, 2010
Data Structure and Algorithm I Midterm Examination 120 points Time: 9:10am-12:10pm (180 minutes), Friday, November 12, 2010 Problem 1. In each of the following question, please specify if the statement
Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1
Recursion Slides by Christopher M Bourke Instructor: Berthe Y Choueiry Fall 007 Computer Science & Engineering 35 Introduction to Discrete Mathematics Sections 71-7 of Rosen cse35@cseunledu Recursive Algorithms
The Advantages of Using RAID
1 Quick Guide to the SPD Engine Disk-I/O Set-Up SPD Engine Disk-I/O Set-Up 1 Disk Striping and RAIDs 2 Metadata Area Configuration 3 Assigning a Metadata Area 3 Metadata Space Requirements 3 Data Area
Mathematical Induction
Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
Mixing Warm and Cold Water
Mixing Warm and Cold Water A Continuing Investigation of Thermal Pollution By Kevin White 1 Context: This lesson is intended for students conducting an ongoing study of thermal pollution. Perhaps, students
Math 1050 Khan Academy Extra Credit Algebra Assignment
Math 1050 Khan Academy Extra Credit Algebra Assignment KhanAcademy.org offers over 2,700 instructional videos, including hundreds of videos teaching algebra concepts, and corresponding problem sets. In
http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304
MATH 1340.04 College Algebra Location: MAGC 2.202 Meeting day(s): TR 7:45a 9:00a, Instructor Information Name: Virgil Pierce Email: [email protected] Phone: 665.3535 Teaching Assistant Name: Indalecio
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
MIDLAND ISD ADVANCED PLACEMENT CURRICULUM STANDARDS AP ENVIRONMENTAL SCIENCE
Science Practices Standard SP.1: Scientific Questions and Predictions Asking scientific questions that can be tested empirically and structuring these questions in the form of testable predictions SP.1.1
Simulating Investment Portfolios
Page 5 of 9 brackets will now appear around your formula. Array formulas control multiple cells at once. When gen_resample is used as an array formula, it assures that the random sample taken from the
Vim, Emacs, and JUnit Testing. Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor
Vim, Emacs, and JUnit Testing Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor Overview Vim and Emacs are the two code editors available within the Dijkstra environment. While both
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
6.025J Medical Device Design Lecture 3: Analog-to-Digital Conversion Prof. Joel L. Dawson
Let s go back briefly to lecture 1, and look at where ADC s and DAC s fit into our overall picture. I m going in a little extra detail now since this is our eighth lecture on electronics and we are more
Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi
Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 9 Basic Scheduling with A-O-A Networks Today we are going to be talking
In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
Notes on Determinant
ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
The Relational Data Model
CHAPTER 8 The Relational Data Model Database One of the most important applications for computers is storing and managing information. The manner in which information is organized can have a profound effect
Mathematics Online Instructional Materials Correlation to the 2009 Algebra I Standards of Learning and Curriculum Framework
Provider York County School Division Course Syllabus URL http://yorkcountyschools.org/virtuallearning/coursecatalog.aspx Course Title Algebra I AB Last Updated 2010 - A.1 The student will represent verbal
DTD Tutorial. About the tutorial. Tutorial
About the tutorial Tutorial Simply Easy Learning 2 About the tutorial DTD Tutorial XML Document Type Declaration commonly known as DTD is a way to describe precisely the XML language. DTDs check the validity
WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER
WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER Course Outline (2015) Basic Programming With Procedural & Object Oriented Concepts (C, C++) Training Office# Road: 11, House: 1 A, Nikunja 2, Khilkhet,
Database Security. The Need for Database Security
Database Security Public domain NASA image L-1957-00989 of people working with an IBM type 704 electronic data processing machine. 1 The Need for Database Security Because databases play such an important
Polynomial Degree and Lower Bounds in Quantum Complexity: Collision and Element Distinctness with Small Range
THEORY OF COMPUTING, Volume 1 (2005), pp. 37 46 http://theoryofcomputing.org Polynomial Degree and Lower Bounds in Quantum Complexity: Collision and Element Distinctness with Small Range Andris Ambainis
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
Binary Heap Algorithms
CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks [email protected] 2005 2009 Glenn G. Chappell
ISO 9001 Quality Management Systems Professional
ISO 9001 Quality Management Systems Professional Professional Certifications Sample Questions Sample Questions 1. The non-fulfillment of a specified requirement is called a: A. Concession B. Nonconformity
RECOVER ( 8 ) Maintenance Procedures RECOVER ( 8 )
NAME recover browse and recover NetWorker files SYNOPSIS recover [-f] [-n] [-q] [-u] [-i {nnyyrr}] [-d destination] [-c client] [-t date] [-sserver] [dir] recover [-f] [-n] [-u] [-q] [-i {nnyyrr}] [-I
Factoring Patterns in the Gaussian Plane
Factoring Patterns in the Gaussian Plane Steve Phelps Introduction This paper describes discoveries made at the Park City Mathematics Institute, 00, as well as some proofs. Before the summer I understood
CS 145: NoSQL Activity Stanford University, Fall 2015 A Quick Introdution to Redis
CS 145: NoSQL Activity Stanford University, Fall 2015 A Quick Introdution to Redis For this assignment, compile your answers on a separate pdf to submit and verify that they work using Redis. Installing
Lecture 2 CS 3311. An example of a middleware service: DNS Domain Name System
Lecture 2 CS 3311 An example of a middleware service: DNS Domain Name System The problem Networked computers have names and IP addresses. Applications use names; IP uses for routing purposes IP addresses.
Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions
Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group
MiSeq: Imaging and Base Calling
MiSeq: Imaging and Page Welcome Navigation Presenter Introduction MiSeq Sequencing Workflow Narration Welcome to MiSeq: Imaging and. This course takes 35 minutes to complete. Click Next to continue. Please
Chapter Objectives. Chapter 9. Sequential Search. Search Algorithms. Search Algorithms. Binary Search
Chapter Objectives Chapter 9 Search Algorithms Data Structures Using C++ 1 Learn the various search algorithms Explore how to implement the sequential and binary search algorithms Discover how the sequential
The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).
CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical
Project Planning and Project Estimation Techniques. Naveen Aggarwal
Project Planning and Project Estimation Techniques Naveen Aggarwal Responsibilities of a software project manager The job responsibility of a project manager ranges from invisible activities like building
CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary
Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:
Napier University. School of Engineering. Electronic Engineering A Module: SE42205 Digital Design
Napier University School of Engineering Digital Design Clock + U1 out 5V "1" "2" "4" JK-FF D JK-FF C JK-FF B U8 SN7408 signal U4 SN74107 U5 SN74107 U6 SN74107 U3 SN7408 U2 J Q J Q & J Q & K CQ K CQ K CQ
Big Data & Scripting Part II Streaming Algorithms
Big Data & Scripting Part II Streaming Algorithms 1, Counting Distinct Elements 2, 3, counting distinct elements problem formalization input: stream of elements o from some universe U e.g. ids from a set
Lecture 17 : Equivalence and Order Relations DRAFT
CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion
Wheeled Vehicle Design For Science Olympiad By Carey I. Fisher
Wheeled Vehicle Design For Science Olympiad By Carey I. Fisher The Wheeled Vehicle competition requires that the vehicle travel a specific distance set by the judge at the time of the contest. So the problem
Computer Science 1015F ~ 2010 ~ Notes to Students
Computer Science 1015F ~ 2010 ~ Notes to Students Course Description Computer Science 1015/8F and 1016S together constitute a complete Computer Science curriculum for first year students, offering an introduction
Programming Languages & Tools
4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming
Some Computer Organizations and Their Effectiveness. Michael J Flynn. IEEE Transactions on Computers. Vol. c-21, No.
Some Computer Organizations and Their Effectiveness Michael J Flynn IEEE Transactions on Computers. Vol. c-21, No.9, September 1972 Introduction Attempts to codify a computer have been from three points
Exiqon Array Software Manual. Quick guide to data extraction from mircury LNA microrna Arrays
Exiqon Array Software Manual Quick guide to data extraction from mircury LNA microrna Arrays March 2010 Table of contents Introduction Overview...................................................... 3 ImaGene
COURSE OUTLINE COMPUTER INFORMATION SYSTEMS 1A. PREREQUISITE: None. Concurrent enrollment in CIS-96 or CIS-97 is recommended.
Degree Credit _X Non Credit Nondegree Credit Comm Service COURSE OUTLINE COMPUTER INFORMATION SYSTEMS 1A COURSE DESCRIPTION 3 Units 1A Introduction to Computer Information Systems PREREQUISITE: None. Concurrent
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
CLC Server Command Line Tools USER MANUAL
CLC Server Command Line Tools USER MANUAL Manual for CLC Server Command Line Tools 2.5 Windows, Mac OS X and Linux September 4, 2015 This software is for research purposes only. QIAGEN Aarhus A/S Silkeborgvej
A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW
A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW John C. Knight, Jane C. Prey, & Wm. A. Wulf Department of Computer Science University of Virginia ABSTRACT
UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences
UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Jan M. Rabaey Homework #2 EECS 141 Due Friday, February 6, 5pm, box in 240 Cory 1. Suppose you
Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques
Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques Sean Thorpe 1, Indrajit Ray 2, and Tyrone Grandison 3 1 Faculty of Engineering and Computing,
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti
