I. Introduction - Department of Computer Science

19 downloads 249545 Views 206KB Size Report
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

Suggest Documents