Information Models and Conceptual Models

From Entities and Relationships to Social Actors and Dependencies John Mylopoulos University of Toronto 19th International Conference on Conceptual Mo...
Author: Jean Preston
6 downloads 3 Views 95KB Size
From Entities and Relationships to Social Actors and Dependencies John Mylopoulos University of Toronto 19th International Conference on Conceptual Modeling Salt Lake City, October 9-12, 2000

2000 John Mylopoulos

ER’00 -- 1

Information Models and Conceptual Models n Information models offer primitives for modeling (information about) an application. n Physical (information) models offer computer-inspired primitives, such as file, record, pointer,… n Logical models offer mathematical abstractions, such as set, function and relation. n Unlike their physical and logical cousins, conceptual models offer: ü Primitive concepts which reflect the application being modelled, e.g., entity, relationship, activity, agent,… ü Abstraction mechanisms inspired by Cognitive Science for organizing information, e.g., generalization, aggregation, classification,… 2000 John Mylopoulos

ER’00 -- 2

1

Origins of Conceptual Modeling n Ross Quillian proposed in his PhD thesis semantic networks in order to model the structure of human memory (1966) n Ole-Johan Dahl proposed in 1967 Simula, Simula an extension of the programming language ALGOL 60, for simulation applications which require some “world modeling” n Jean-Robert Abrial proposed the 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 proposed only a few years earlier. n Doug Ross proposed in the mid-70s the Structured Analysis and Design Technique (SADT SADT) as a “language for communicating ideas”. The technique was used by Softech, a Boston-based company, in order to model requirements for software systems. [Mylopoulos98] 2000 John Mylopoulos

ER’00 -- 3

SemanticNets

Simula

‘70

SmallTalk

Frames ‘75

ERModel

SADT

SemanticDM

DFD

KLONE ‘80

EERModel ‘85

ESShells

Formal ReqModels

OODM

Description Logics

‘90

OOA

SpecialDM KAOS ‘95

…and hundreds of others...

2000 John Mylopoulos

UML ER’00 -- 4

2

KAOS n A formal requirements modeling language. n Its basic premise: (Organizational) goals lead to requirements. n Goals justify and explain the presence of requirements which are not necessarily comprehensible by clients. n Goals can be used to assign responsibilities to agents so that prescribed constraints can be met. n Goals provide basic information for detecting and resolving conflicts that arise from multiple viewpoints [KAOS]

2000 John Mylopoulos

ER’00 -- 5

The KAOS Metamodel Agent Agent

performs

input

Action Action

Entity Entity link

Relationship Relationship

Borrower Borrower

BookCopy BookCopy

performs

input

Checkout Checkout

instanceOf link

Steve Steve

master

Copy Copy

War&Peace.c.4 War&Peace.c.4

performs

checkout checkout 12/12/93 12/12/93 2000 John Mylopoulos

copy

Book Book

input

copy

War& War& Peace Peace master

Copy4 Copy4 ER’00 -- 6

3

Entities and Relationships in KAOS Entity Library Has collection, available, checkedOut, lost: setOf[BookCopy] coverageArea: setOf[Subject] Invariant ( collection = available ∪ checkedOut ∪ lost ∧ available ∩ checkedOut = ∅ ∧ available ∩ lost = ∅ ∧ checkedOut ∩lost = ∅ ) ... end Library Relationship Borrowing Links Borrower [Role Role Borrows, Card 0::N] BookCopy [Role Role BorrowedBy, Card 0::1] Invariant ( ∀lib: Library, bor: Borrower, bc: BookCopy) (Borrowing(bor,bc) ∧ bc ∈ lib.collection ⇒ bc ∈ lib.checkedOut ∧ ★Requesting(bor,bc)] ... end Borrowing 2000 John Mylopoulos

ER’00 -- 7

A Coarse-Grain Classification of Primitive Terms n Static terms encompass static aspects of an application, described in terms of concepts such as Entity, Attribute, Entity Attribute Relationship, Relationship Resource,... Resource n Dynamic terms model dynamic aspects within an application, described in terms of Process, Process Activity, Activity Action, Action Plan, Plan Procedure, State, Procedure Event,...or Event State Transition,... Transition n Intentional terms describe the world world of things agents (human or otherwise) believe in, want, prove, argue about, e.g., Issue, Issue Goal, Goal Softgoal, Softgoal Supports, Supports Denies, Denies SubgoalOf, SubgoalOf ... n Social terms describe social settings in terms of social relationships among agents, such as Authority, Commitment, Responsibility, Actor, Position, Role, Social Actor Position Role Dependency,... Dependency n ...Others... 2000 John Mylopoulos

ER’00 -- 8

4

Intentional and Social Models n Have been used in AI for planning, intelligent agents, multiagent systems. n Have been used, more recently, in Software Engineering for early requirements analysis, also capturing design rationale. n Are being explored for applications in Workflow and Organizational Modeling, Analysis and Design. n Have a bright future in Software Engineering. Shift from what a software system does… To why it does it, and in cooperation with whom!

2000 John Mylopoulos

ER’00 -- 9

The i* Framework Maximize profits

Customer

Car repaired

Insurance Company

Customer happy

Settle claim

Goals are relative, fulfillment is collaborative

2000 John Mylopoulos

ER’00 -- 10

5

Means-Ends Analysis Settle Settle Claim Claim

Actor boundary

Prepare offer Whose fault?

Determine fault

Get accident info

Handle claim

Verify policy

Settle claim

Complete transaction Settlement cost? Determine cost to settle

Insurance Company

D D

D

Injury info

D

Sufficient treatment

D

Police

Accident info

Minimal repairs

Appraise damage

Doctor

Appraiser

Witness 2000 John Mylopoulos

ER’00 -- 11

Strategic Dependency Models Claims payout Car repaired

D

Customer

D

D

D D

Goal

Resource

Task

Softgoal

Secure employment

D

Fair repair appraisal

Minimize repairs

D

Continue business

2000 John Mylopoulos

D Appraise damages

D

D

Repairs covered

Appraiser

D

D

Maximize estimate

D

D

D

Insurance Company

D D

Body Shop

Pay repairs

D Premium payment

D

D

ER’00 -- 12

6

Tropos: A Formal Version of i* n Each concept in an i* diagram is defined formally, in terms of a KAOS-like specification. n The specification language includes a temporal logic inspired by KAOS. n Actors, goals, actions, entities, relationships are described statically and dynamically.

2000 John Mylopoulos

ER’00 -- 13

A Tropos Example Entity Claim Has claimId: Number, insP: InsPolicy, claimDate, date: Date, details: Text Necessary date ≤ insP.expDate Necessary (∀x)(Claim(x) ∧ l¬Claim(x) ⇒ ¬RunsOK(x.insP.car)) end Claim Action MakeRepair Performed by BodyShop Refines RepairCar Input cl : Claim Pre ¬RunsOK(cl.insP.car) Post RunsOK(cl.insP.car) 2000 John Mylopoulos

ER’00 -- 14

7

A Goal Dependency Example GoalDependency RepairsCovered Mode Fulfil Depender Customer Dependee InsuranceCo Has cl: Claim Defined /* the amount paid out by the insurance company covers repair costs */ end RepairsCovered

2000 John Mylopoulos

ER’00 -- 15

Tropos: An Application n Traditionally, software development techniques have been implementation-driven. n This means that the programming paradigm of the day dictated the design and requirements paradigms. n So, structured programming led to structured design and structured (requirements) analysis, while object-oriented programming led to object-oriented design and analysis. n Aligning the paradigms used for requirements, design and implementation makes perfect sense. But why start with an implementation paradigm? What would requirements-driven requirements-driven software development look like??

2000 John Mylopoulos

ER’00 -- 16

8

AgentOriented Software Development n Use the primitive concepts of Tropos to specify early and late requirements, architectural and detailed design for a software system. n Through all these phases, software is viewed as a social structure whose components are actors (agents, positions or roles) having goals and capable of fulfilling goals, carrying out tasks and delivering resources. n Unlike other development techniques, goals can be associated with actors in any phase, even at run-time. n This software development technique is appropriate for software that will operate in unpredictable or underspecified environments, e.g., the internet. [Tropos] 2000 John Mylopoulos

ER’00 -- 17

Tropos and the Big Picture i* KAOS

Z

Agent-oriented programming

UML l rly ra ate s u Ea nts t L e nt ec ign hit des em me r c i e r ir A qu qu re re

2000 John Mylopoulos

d ile n a t g De esi d

ion tat n e lem p Im

ER’00 -- 18

9

A Different Application... n Build a tool that helps strategic business analysts conduct their work. n Strategic business analysts keep track of trends and events that may affect positively or negatively the strategic objectives of their organization. “Keeping track” includes following (business) news, analysis reports and other relevant information. n Our solution: Build a model of strategic goals, relevant events, actors etc. ...If you are holding a hammer, the whole world looks like a bunch of nails...

2000 John Mylopoulos

ER’00 -- 19

Strategic Goals and Events

Own consumer attention

Have access to content

Acquire/partner with “old media” companies

Be the largest ISP in Canada

Create content

Offer free access

--

++ Acquisition of “old media” co

“old media” co stock plunges

causes

++

++

-

++

-

Competition buys a content provider

Partnership with “old media” co

causes

Financial difficulties for “old media” co 2000 John Mylopoulos

+

Competitor acquires other access providers

Competitor expands operations

Acquisition of a competitor

then Buy a sports team

Competitor starts to offer free access

Competitor signs a deal with equipment manufacturer

ER’00 -- 20

10

Analysing Models n Models are used primarily for human communication n But, this is not enough! Large models can be hard to understand, or take seriously! n We need analysis techniques which offer evidence that a model makes sense. What would these be for intentional and social models? ü Social analysis techniques which look at viability, workability,… for a set of social dependencies. ü Goal analysis techniques which determine the fulfillment of a goal, given information about the fulfillment of related goals. à Time simulation which explores the properties of goals over their lifetime.

2000 John Mylopoulos

ER’00 -- 21

Model Checking n Automatic technique for analyzing finite state concurrent systems. n Given a model of a specification, represented as a graph, check to see whether it satisfies certain temporal properties. n Advantages ü “push-button” analysis. ü always produces a counterexample of properties not satisfied by the model, if one exists (..with some caveats…).

[Clarke99]

2000 John Mylopoulos

ER’00 -- 22

11

Model Checking for Tropos n Goal: Apply model checking to richer models than those that have been tried before. n Approach ü Definition of an automatic translation from Tropos specifications to the input language of the nuSMV model checker [Cimatti99]. ü Verification of temporal properties of state representations of finite Tropos models. ü Discovery of interesting scenarios that represent counterexamples to properties not satisfied by the models. ü Model simulation.

2000 John Mylopoulos

ER’00 -- 23

Translation for CoverRepairs VAR CoverRepairs : {no, created, fulfilled} INIT CoverRepairs = no TRANS CoverRepairs = no -> (next(CoverRepairs)=no | next(CoverRepairs)=created) TRANS CoverRepairs = created -> (next(CoverRepairs)=created | next(CoverRepairs)=fulfilled) TRANS CoverRepairs = fulfilled -> next(CoverRepairs) = fulfilled TRANS CoverRepairs=no -> next(CoverRepairs = created -> !RunOK) TRANS CoverRepairs = created -> next(CoverRepairs = fulfilled -> DamageCosts = fulfilled) TRANS CoverRepairs = created -> next(CoverRepairs = fulfilled RunsOK) 2000 John Mylopoulos

ER’00 -- 24

12

An Interesting Property LTLSPEC F(CoverRepairs = fulfilled) -> F(MakeRepair) This property does not hold for the model. A counterexample is: Variable RunOK

t1 false

t2 false

t3 true

t4 true

DamageCosts

no

no

created

fulfilled

CoverRepairs no

created

created

fulfilled

MakeRepair

false

false

false

false

2000 John Mylopoulos

ER’00 -- 25

A Fix Add to the definition of the entity class Car … Necessary ¬RunsOK(self) ∧ ¬MakeRepair(self) ⇒ l ¬RunsOK(self) ...

2000 John Mylopoulos

ER’00 -- 26

13

What Comes Next? Metadata!! n So, you have a zillion data sources out there and want to access them (with computer help). How do you do it?? ⇒ Have a semantic and pragmatic description of what each contains! n Prerequisite: Standard models for static, dynamic, intentional, social applications, toolsets that support the process of constructing such descriptions. n Corequisite: A data model for metadata which supports a rich algebra for model chunks, a “meta” (classification) hierarchy, a rich set of semantic referential relationships, and a first-class treatment for attributes. n Telos [Mylopoulos90] supports some of these features; we are beginning to work on a data model that supports them all.

2000 John Mylopoulos

ER’00 -- 27

Postscript n Making conceptual modeling everyday practice, requires more than new ideas and research results. n Conceptual modeling is only taught in a superficial and “here is another application” manner in most undergraduate curricula for Computer and Information Science. n Compare how much training our undergraduates get on programming and on modeling! n Undegraduate curricula need to recognize the importance of modeling in the career of an IT professional. n Undergraduate curricula need to make sure that students get a solid education on modeling principles and practice!

2000 John Mylopoulos

ER’00 -- 28

14

Acknowledgements Contributors to the Tropos project include: Ariel Fuxman, Manuel Kolp and Eric Yu (University of Toronto, Canada), Jaelson Castro (Federal University of Pernambuco, Brazil), Paolo Bresciani, Paolo Giorgini, Fausto Gunchiglia, Anna Perini, Marco Pistore (University of Trento and IRST, Italy).

2000 John Mylopoulos

ER’00 -- 29

The Tropos URL… http://www.cs.toronto.edu/~mkolp/tropos

My email… [email protected]

2000 John Mylopoulos

ER’00 -- 30

15

References n [Cimatti99] A. Cimatti, E. Clarke, F. Giunchiglia and M. Roveri, “NuSMV: A New Symbolic Model Verifier,” in N. Halbwachs and D. Peled, (eds.) Proceedings of the International Conference on Computer-Aided Verification (CAV'99), Trento, Italy, July 1999; Lecture Notes in Computer Science, no. 1633, 495-499, Springer-Verlag. n [Clarke99] E. M. Clarke, O. Grumberg and D. Peled. Model Checking, MIT Press, 1999. n [KAOS] http://www.ingi.ucl.ac.be/research/projects/AVL/ReqEng.html. n [Mylopoulos90] J. Mylopoulos, A. Borgida, M. Jarke, and M. Koubarakis. “Telos: Representing Knowledge About Information Systems,” ACM Transactions on Information Systems, 1990. n [Mylopoulos98] J. Mylopoulos, “Information Modeling in the Time of the Revolution”, Information Systems 23(3-4), June 1998. n [Tropos] http://www.cs.toronto.edu/~mkolp/tropos

2000 John Mylopoulos

ER’00 -- 31

Information Models queries

updates

Computer-based Computer-based symbol symbolstructures structures that thatmodel model (information (informationabout) about) an anapplication application

symbol structure (“model”) 2000 John Mylopoulos

application (the “real world”) ER’00 -- 32

16

Suggest Documents