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