Different areas of Computer Science use different terms for the same concepts! Can we find a common vocabulary? Can we find a common vocabulary?
Conceptual Modeling
CSC2507
I. Introduction What is Information Information Modeling? Modeling? Impressions and Expressions Conceptual Models Primitive Terms, Abstraction Mechanisms Mechanisms and and Tools Tools Examples of Conceptual Models: EER, UML, CLASSIC, KAOS, KAOS, Telos, Telos, …and Tropos History of Conceptual Modelling Formal and Informal Models Models
2004 John Mylopoulos
Conceptual Modeling
Introduction -- 1
CSC2507
Humans used symbols symbols to to model model their their environment environment since the beginning beginning of of civilization! civilization! 2004 John Mylopoulos
Introduction -- 2
Conceptual Modeling
CSC2507
What is Information Modeling? queries/updates
expressions expressions
The Theuse useof of computer-based computer-based symbol structures symbolstructures structures (impressions) (impressions) (impressions) to tomodel model (information (informationabout) about) an anapplication application
symbol structure/ structure/ impression 2004 John Mylopoulos
application (the “real world” world”) Introduction -- 3
Conceptual Modeling
CSC2507
...Actually... We could be modeling the real world, or somebody’s conception of the real world
2004 John Mylopoulos
Introduction -- 4
Conceptual Modeling
CSC2507
Information Modeling I I
I
The term “information modeling” is actually ambiguous. Consider “Designer clothing” -- clothing made by designers (subjective reading); hence “information modeling” means “models made out of information”; “Traveller clothing” -- clothing for the traveller (objective reading): hence “information modeling” means “models of information”; In general, we will use the second reading: we are interested in models of information (about the world.) The information may come from a single agent, or a group of agents.
2004 John Mylopoulos
Introduction -- 5
Conceptual Modeling
CSC2507
Origins I I
I
I
Ross Quillian proposed semantic networks as a model of the structure of human memory (1966) Ole-Johan Dahl proposed in 1967 Simula, an extension of the programming language ALGOL 60, for simulation applications which require some “world modeling” Jean-Robert Abrial proposed a semantic model in 1974, shortly followed by Peter Chen’s Entity-Relationship model (1975) as advances over logical data models, such as Codd’s Relational model. Doug Ross proposed in the mid-70s the Structured Analysis and Design Technique (SADT) as a “language for communicating ideas”. The technique was used to specify requirements for software systems.
2004 John Mylopoulos
Introduction -- 6
Conceptual Modeling
CSC2507
Semantic Networks (1966) Animal isa
isa isa
Bird - can fly
has
Fish - can swim Mammal
isa
Feather
isa
Penguin - can’ can’t fly
eats
Shark
Human Novel ideas I Impressions are built out of concepts and associations I Inheritance of attributes -- default, single I Computation defined in terms of spreading activation -e.g., discovering the meaning of “horse food” horse --> animal --> eat --> food horse --> animal --> madeOf --> meat --> food
2004 John Mylopoulos
Introduction -- 7
Conceptual Modeling
CSC2507
Simula (1967) customer person haircutPeriod height haircutPrice weight coors enterQueue payBill newC, delC I I I
barberShop person queue height barbers weight coors serveCustomer getPayment newBS, delBS
barber person haircutTime height salary weight coors giveHaircut newB, DelB
Ole-Johan Dahl proposed it as an extension of the ALGOL 60, for simulation applications. A (simulation) program consists of classes and instances. Instances model the simulated application, classes define common features of instances, are organized into subclass hierarchies.
2004 John Mylopoulos
Introduction -- 8
Conceptual Modeling
CSC2507
The Entity-Relationship Model (1975) Places/ Places/ PlacedBy PlacedBy 11
Customer Customer
M M
Order Order M M
Customers place orders; each order contains many books
Contains/ Contains/ isContained isContained
M M Book Book
Novel ideas I Assumes that application consists of entities and relationships (ontological assumptions) I Shows how a conceptual schema can be mapped onto a logical one. I [Abrial’s semantic model was more akin to OO data models, but did offer entities and relations too] 2004 John Mylopoulos
Introduction -- 9
Conceptual Modeling
CSC2507
Structured Analysis and Design Technique (SADT) Novel Ideas I Modeling the operating Money environment of a software system. I Application models organized in terms of boxinside-box notation. 2004 John Mylopoulos
& Seed & Vegie Plan Budget Prices
Weather Plan
Budget Fertilizer
Buy Supplies Seeds
Cultivate Plants
Pick Produce Vegetables
Vegetables
Extract Seeds
Grow Vegetables
Introduction -- 10
SemanticNets
Conceptual Modeling
‘70
Logic Programming
SmallTalk
Frames ERModel ‘75 KLONE DeductiveDB
SADT
SemanticDM
‘80
EERModel ‘85
ESShells
OODM
Description Logics Deductive SpecialDM OODB
‘90
‘95
KAOS
2004 John Mylopoulos
Conceptual Modeling
CSC2507
Simula
DFD Formal ReqModels
OOA
UML Introduction -- 11
CSC2507
Different areas of Computer Science use different terms for the same concepts! Can we find a common vocabulary? (…please??)
2004 John Mylopoulos
Introduction -- 12
Conceptual Modeling
CSC2507
Expressions I
Expressions are communication statements of linguistic and/or pictorial nature through which an agent (human or otherwise) accumulates information about an application. Natural language statements are expressions. So are books... So are Predicate Calculus statements... So are SQL statements.... So are digitized pictures... So are Web pages... ...more...
2004 John Mylopoulos
Introduction -- 13
Conceptual Modeling
CSC2507
Impressions I
I I
Impressions (also models) are internal symbol structures held by an agent (human/software) that represent fragments of an application. Example impressions: human memory, mental states, databases, knowledge bases, websites,... Impressions have two properties: Functional role -- impressions arise by virtue of the history and coupling of the agent to its environment, and give rise to the agent’s future actions; Representational import -- impressions stand in a content relationship to an application the agent is in contact with.
2004 John Mylopoulos
Introduction -- 14
Conceptual Modeling
CSC2507
Meaning vs Interpretation I
I
I
The meaning of an impression is what all uses of the impression have in common. For example, “the morning star” always refers to a star visible early in the morning. The interpretation of an impression is what the impression refers to in a particular instance, or a particular use. For example, “the morning star” may refer to planet Venus when I use it (...on Earth), while it refers to planet Jupiter when astronaut John Glenn says it on Mars. Typically, the transition from meaning to interpretation occurs when an impression is bound to a context. This applies to indexical terms, e.g., “I”, “here”, “now”, but also descriptions, such as “morning star” and “a student in CSC2507”.J
2004 John Mylopoulos
Conceptual Modeling
Introduction -- 15
CSC2507
Information Modeling in Computer Science and Engineering Information modeling is practiced and researched in several areas within Computer Science and Engineering, including: I Databases -- data modeling, using vanilla or semantic data models to build databases; I Software Engineering -- requirements modeling, using diagrammatic (structured, OO, or plain vanilla) techniques to build requirement specifications ; software process modeling using finite state machines, statecharts, rules, Petri nets to build process models; I Artificial Intelligence -- knowledge representation using logic-based notations, description logics, semantic networks, frames, etc. to build knowledge bases;
2004 John Mylopoulos
Introduction -- 16
Conceptual Modeling
CSC2507
Variations in Use I I I I
There are important differences in the use of impressions among different areas of Computer Science: In AI, knowledge bases are to be used by a program to perform a task (expertly). In Software Engineering, diagrams are used for communication among people. Databases model large amounts of concrete facts, rather than generic knowledge, are used by humans and programs and have to scale up.
2004 John Mylopoulos
Introduction -- 17
Conceptual Modeling
CSC2507
Implications Differing uses of impressions have important consequences I Type of notation used -- if people use the impression, the notation may be semi-formal or even informal; for knowledge bases in AI, on the other hand, formality is all-important. I Types of knowledge captured -- for SE and Databases domain information is captured; for AI, task knowledge, including heuristics is equally important. I Coverage and completeness of the impressions -for SE and Databases coverage can be quite broad and incomplete; for AI, coverage has to be narrow and complete. 2004 John Mylopoulos
Introduction -- 18
Conceptual Modeling
CSC2507
Information Models An information model consists of: a collection of symbol structure types, whose instances are impressions that describe an application, a collection of operations, and a collection of general integrity rules which define the set of consistent impressions, or changes thereof. Example: The Relational Model for databases Basic impression types: table, tuple, domain Operations: add/remove/update tuple, union/ intersection/...of tables Integrity rule: No two tuples within a table can have the same key 2004 John Mylopoulos
Introduction -- 19
Conceptual Modeling
CSC2507
Types of Information Models Physical models use machine-oriented terms -- e.g., records, fields, B-trees,...-- to model an application. ...conflicting representational representational and and efficiency efficiency concerns! concerns!
Logical models offer mathematical abstractions -- e.g., arrays, lists, sets, relations -- for modeling purposes, hiding the implementation details from the user. ...but logical symbol structures structures are are flat flat and and unintuitive.... unintuitive.... can’ can’t describe complex situations!
Conceptual models use application-oriented terms and organize information on the basis of principles such as generalization, aggregation and classification. conceptual symbol structures (are supposed to) model directly and naturally naturally an an application application 2004 John Mylopoulos
Introduction -- 20
Conceptual Modeling
CSC2507
Information Models, Languages and Notations I I
I
Unlike an information model, a language is used for communication. There may be several languages associated with one and the same information model. e.g., relational query languages A notation (usually graphical) is used to offer partial descriptions of an impression. Again, there may be several notations associated with the same information model. e.g., graphical notations for Data Flow diagrams.
2004 John Mylopoulos
Conceptual Modeling
Introduction -- 21
CSC2507
Characterizing Conceptual Models Basic building blocks --- Terms Terms descriptions concepts,...
Composition rules -- Abstractions Abstractions abstraction mechanisms semantic relationships structuring mechanisms,... mechanisms,... Analysis and management tools tools simulation, verification, normalization,... normalization,... 2004 John Mylopoulos
Introduction -- 22
Conceptual Modeling
CSC2507
Terms, Abstraction, and Tools I
I I
I
Let’s try to characterize conceptual models by looking at the basic building blocks, the structuring mechanisms, and the tools they offer for building an information base: Primitive Terms - these are the concepts built into a conceptual model, e.g., Entity, Entity Activity, Activity Agent, Agent Goal,... Goal Abstraction Mechanisms -- primitive mechanisms for structuring an impression along different dimensions, e.g., Generalization, Generalization Aggregation, Aggregation Classification,... Classification Tools and Analysis techniques -- for creating, updating, searching, validating and managing an information base Important to avoid superficial comparisons, comparisons, e.g., ones based on syntactic/graphical syntactic/graphical sugar sugar
2004 John Mylopoulos
Conceptual Modeling
Introduction -- 23
CSC2507
Three Conceptual Models I
I
I
Extended Entity-Relationship Model (EER EER ) -- ER model extended to support aggregation and generalization; there are many different version of this, e.g., [EER92]; some versions are supported by commercial modeling tools. Unified Modeling Language (UML UML) -- combines earlier Object-Oriented Analysis (OOA) techniques by Booch, Jacobson (OOSE), Rumbaugh (OMT), others [UML97]; offers facilities for modeling objects, methods, various types of actors, aggregation, generalization, etc. CLASSIC -- A Description Logic developed at Bell labs by Brachman , Borgida etc. [Borgida89]; uses a limited form of Logic, supports a limited form of inference.
2004 John Mylopoulos
Introduction -- 24
Conceptual Modeling
CSC2507
…And Three More... I
I
I
KAOS -- a research prototype for requirements modeling, developed by Axel van Lamsweerde and colleagues [Dardenne93]. Can model goals, constraints, tokens, classes, metaclasses etc. Telos -- a research prototype intended for metamodelling applications [Mylopoulos90]; treats attributes as first class objects, uses heavily metaclasses (for objects and attributes) for metamodelling, supports a logic-based sublanguage for specifying constraints and deductive rules. Tropos -- a modeling language founded on the notions of actor, goal, and social dependency (among actors); used for modeling different phases of software development.
2004 John Mylopoulos
Introduction -- 25
Conceptual Modeling
CSC2507
Formality: From Informal to Formal Informal models, minimal syntax, no primitive terms or semantics Informal models, minimal syntax, primitive terms, no semantics Formal models with primitive terms, syntax and semantics
Formal models, with a primitive terms, syntax, semantics and an assertional sublanguage for user-defined constraints and rules. 2004 John Mylopoulos
e.g., graphs
e.g., SADT, DFDs
e.g., EER, some OOA models
e.g., RML, KAOS KAOS
Introduction -- 26
Conceptual Modeling
CSC2507
Informal Models I I I I
Diagrammatic notations for sketching an application. Offer boxes (nodes) and labelled arrows (links). There is no guidance on what boxes and arrows to use for a particular application. There is no agreed upon semantics attached to either the boxes or the arrows; users interpret them in terms of their labels, other informal documentation, as well as their own perspective Appointment
Person make
with
Doctor
on
Date
2004 John Mylopoulos
Introduction -- 27
Conceptual Modeling
CSC2507
Diagrammatic Models I
I
I
Offer a graphical notations for modeling; they come with primitive terms for modeling an application, i.e., a set of concepts in terms of which we can conceptualize an application e.g., SADT offers data and activity boxes, input, input output, output control arrows There are only informal semantics attached to either the boxes or the arrows; users interpret them in terms of their labels, other informal documentation. Such techniques usually come with a methodology on how to use them.
2004 John Mylopoulos
Introduction -- 28
Conceptual Modeling
CSC2507
Health Problem
Person Schedule
Person Budget
Appointment
Person time
Make Appointment
See Doctor
Appointment Slot
Diagnosis
Payment
Pay Doctor
Prescription
Person Well
Get Medication
Visit Doctor Activity 2004 John Mylopoulos
Introduction -- 29
Conceptual Modeling
CSC2507
Formal Models I
Used as far back as semantic networks [Findler78], also in semantic data models, such as the Entity-Relationship model. I We could provide a formal semantics for the SADT box and arrow types in terms of a set of axioms (or in some other way) ∀ A/Activity, E/Entity, t, t'/TimeInterval [ InputOf(E, A) ∧ InstanceOf(a, A, t) ⇒ ∃ e InstanceOf(e, E, t') ∧ Overlaps(t', t) ∧ InputOf(e, a)] t t’ where Overlaps(t', t) means I Such an axiom might be enforced by an SADT++ tool which instantiates activities and data
2004 John Mylopoulos
Introduction -- 30
Conceptual Modeling
CSC2507
Analysis of Impressions I
I I
Formality is important for an information model for two basic reasons: It eliminates, or at least reduces, ambiguity; It can be used as a foundation for (algorithmic) analysis of impressions. Analysis may consist of various forms of consistency, completeness, etc. The course will be discussing different forms of analysis for different kinds of impressions.
2004 John Mylopoulos
Introduction -- 31
Conceptual Modeling
CSC2507
References I
I I I
I I
[Borgida89] Borgida, A., Brachman, R., McGuiness, D., and Resnick, L., “CLASSIC/DB: A Structural Data Model for Objects”, Proceedings ACM SIGMOD International Conference on the Management of Data, Portland, June 1989. [Dardenne93] Dardenne, A., van Lamsweerde, A. and Fickas, S.,”Goal-Directed Requirements Acquisition”, in The Science of Computer Programming 20, 1993. [EER92] Parent, C., and Spaccapietra, S., “ERC+: An Object-Based EntityRelationship Approach”, in [Loucopoulos92]. [Loucopoulos92] Loucopoulos , P. and Zicari, R., (eds.) Conceptual Modeling, Databases and CASE: An Integrated View of Information System Development, Wiley, 1992. [Mylopoulos92] Mylopoulos, J., “Conceptual Modeling and Telos ” , in [Loucopoulos92]. [Smith86] Smith, B., “The Correspondence Continuum”, Proceedings Canadian Society for the Computational Studies of Intelligence (CSCSI) National Conference, Montreal, 1986.
2004 John Mylopoulos
Introduction -- 32