Conceptual Modeling

advertisement
From Software Models
To Social Models
John Mylopoulos
University of Trento
NTUA, Athens
April 11, 2011
2011 John Mylopoulos
NTUA -- 1
Abstract
Conceptual Modeling (CM) was a marginal research area at the very
fringes of Computer Science (CS) in the 60s and 70s, when the
discipline was dominated by topics focusing on programs, systems and
hardware architectures. This has changed over the past three
decades, with CM now playing a central role in CS research and
practice in diverse areas, such as Software Engineering (SE),
Databases (DB), Information Systems (IS), the Semantic Web (SW),
Business Process Management (BPM), Service-Oriented Computing,
Knowledge Management (KM), and more. The transformation was
greatly aided by the adoption of standards for modeling languages
(e.g., UML), and model-based methodologies (e.g., Model-Driven
Architectures) by the Object Management Group (OMG), W3C, and
other standards organizations.
 We briefly review the history of the field over the past 40 years,
focusing on the evolution of key ideas. We then focus on the
evolution of modelling concepts in SE, specifically requirements
engineering.

2011 John Mylopoulos
NTUA -- 2
Acknowledgements


I am grateful to my colleagues and students whose ideas
are represented (… modelled!) in these slides.
I’m particularly grateful to three long-time collaborators
and friends: Alex Borgida who showed me the way on a
formal grounding for conceptual modelling languages;
Nicola Guarino who taught me the basics of ontological
analysis; and Joachim Schmidt, who pointed me to a
future for Conceptual Modelling.
2011 John Mylopoulos
NTUA -- 3
Consider studying in
T
2011 John Mylopoulos
NTO
NTUA -- 4
Conceptual Models
 Use domain-oriented concepts (e.g., entity,
relationship, goal, actor, …) and are structured
according
to
cognitive
principles
(e.g.,
generalization, aggregation, classification, …).
 Adopt an associationist viewpoint: models consist
of
nodes
that
represent
concepts
and
associations/links
that
represent
semantic/episodic/other relationships between
concepts.
 Associationism has a long (and illustrious!)
history in Philosophy and Psychology that goes
back to Plato and Aristotle.
2011 John Mylopoulos
NTUA -- 5
Origins in Computer Science
➥ 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 modelling”
➥ Jean-Raymond 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.
2011 John Mylopoulos
NTUA -- 6
Animal
isa
isa
isa
has
Bird - can fly
Fish - can swim
Mammal
Feather
isa
isa
Penguin - can’t fly
eats
Conceptual
Models
Shark
Places/
PlacedBy
Human
Customer
1
M
Order
M
Seed & Vegie
Prices
Plan &
Budget
Weather
M
Plan
Budget
Book
Fertilizer
Money
Contains/
isContained
Buy
Supplies
Seeds
Cultivate
Plants
Pick
Produce
Vegetables
Vegetables
Extract
Seeds
Grow Vegetables
2011 John Mylopoulos
NTUA -- 7
Defining Moment for Conceptual
Modelling (CM)
"...The entity-relationship model adopts ... the
natural view that the real world consists of
entities and relationships... (The entityrelationship model) incorporates some of the
important semantic information about the real
world...”
[Chen75],
VLDB’75
2011 John Mylopoulos
NTUA -- 8
1975-1997 – Exploring the Frontier
➥ Many applications
 Design models for databases and software (DB,
IS, SE)
 Knowledge-based systems (AI, IS)
 Knowledge management (AI, IS)
➥ Many modelling languages
 Dozens of proposals for semantic network- and
frame-based languages, description logics, …
 More dozens for semantic data models …
 Box-and-arrow notations in SE
2011 John Mylopoulos
NTUA -- 9
Basic Ontologies
➥ Static -- encompass static aspects of an application,
described in terms of concepts such as Entity, Attribute,
Relationship, Resource,...
➥ Dynamic -- encompass dynamic aspects within an
application, described in terms of concepts such as Process,
Activity, Action, Plan, Procedure, Event, ... or State,
Transition,...
➥ Intentional -- encompass the world of things agents
(human or otherwise) believe in, want, prove, argue about;
covered by concepts such as Issue, Goal, Softgoal,
Supports, Denies, SubgoalOf, ...
➥ Social -- encompass social settings described in terms of
social activities and dependencies among actors, e.g., Actor,
Position, Role, Commitment of A to Β for φ, ...
[Mylopoulos97]
2011 John Mylopoulos
NTUA -- 10
Research Methodology I

… The meaning triangle
Concept
Flower
Sign
Tulips
1,2,3,4,5,6
2011 John Mylopoulos
Referent
NTUA -- 11
Research Methodology II



New concepts for modelling applications; e.g.,
the use of the concept of goal to model
software requirements in SE.
Formal semantics for modelling languages, and
automated reasoning support for models.
Note: Throughout the ‘70s and ‘80s CM was a
fringe research area in Computer Science.
?
2011 John Mylopoulos
Freedom
lives
Forever
NTUA -- 12
Pitfalls of
Informal
Models
“Far Side” by
Gary Larson
2011 John Mylopoulos
NTUA -- 13
What Happened Next?




The Semantic Web (Tim Berners-Lee et al) – web data
need to be encapsulated with their semantics, so that
they can be processed automatically.
Model-Driven Software Engineering (OMG) – Software
development consists of processes that create and
manipulate chains of models ranging from problemoriented, platform-independent ones to machine-oriented,
platform-dependent ones.
Model Management (Phil Bernstein et al) – to cope with
data complexity we need models (schemas, ontologies, …)
Ontological Analysis (Nicola Guarino et al) – “… content
must be analyzed independently of the way it is
represented …”
2011 John Mylopoulos
NTUA -- 14
The Semantic Web



Use semantically rich ontologies to capture the semantics
of concepts and roles/relationships.
This is accomplished by adopting Description Logics as
ontology modelling languages.
Annotate web data with the concepts they instantiate, eg,
<person> Paolo Buono <residence> lives in Trento
</residence> and works at the <work> University of Trento
</work> </person>



Some concerns: Capturing semantics through more
expressive languages vs capturing semantics through a
richer collection of primitive concepts [Borgida04].
More concerns: There is a lot more to making web data
“machine processable” than semantic annotations, see data
integration frameworks (DBs).
Even more concerns: Usability, scalability, …
2011 John Mylopoulos
NTUA -- 15
“Far Side”
take on the
Semantic Web
2011 John Mylopoulos
NTUA -- 16
Ontological Analysis (OA)

Consider
 2000 US presidential election: Was there a hole?
 2001 World Trade Centre catastrophe: How many
events?
Ontological analysis can answer these questions
Book by Roberto Casati and Achille C.
Varzi (MIT Press):
• Holes and other superficialities
• Parts and places
[Guarino09]
2011 John Mylopoulos
NTUA -- 17
The Formal Tools of OA







Theory
Theory
Theory
Theory
Theory
Theory
…
of
of
of
of
of
of
Essence and Identity
Parts (Mereology)
Unity and Plurality
Dependence
Composition and Constitution
Properties and Qualities
OA is to CM
what Sub-atomic Physics is to Physics
2011 John Mylopoulos
NTUA -- 18
The State-of-the-Art in CM




A large collection of modelling languages,
ranging from Description Logics, to the EER
model and UML class diagrams (cum OCL).
Specialized
languages
for
requirements,
software architectures, various domains, …
Ontological Analysis.
A growing number of relevant communities: ER,
KRR, FOIS, SemWeb, Models, CAiSE, RE,
AAMAS, …
No longer a fringe research area within CS!
2011 John Mylopoulos
NTUA -- 19
Requirements Engineering
Requirements Engineering (RE) consists of activities intended
to identify and communicate the purpose of a softwareintensive system, and the contexts in which it will be used.
Hence, RE acts as the bridge between real world needs of
stakeholders (e.g., users, customers, …) affected by a
software system, and the capabilities and opportunities
afforded by software-intensive technologies
Application Domain
2011 John Mylopoulos
Machine Domain
NTUA -- 20
Criticality of RE
Causes of project success/failure: Survey of US software
projects (1999, Standish Group):
 Top 3 success factors:
 User involvement
 Executive management support
 Clear statement of requirements
 Top 3 factors leading to failure:
 Lack of user input
 Incomplete requirements and specs
 Changing requirements and specs
Application Domain
2011 John Mylopoulos
Machine Domain
NTUA -- 21
2011 John Mylopoulos
NTUA -- 22
Origins of RE -- SADT (~1975)
Novel Ideas
 Modeling the
operating
environment of
a software
system. Money
 Models
represented in
terms of boxand-arrow
notation.
&
Seed & Vegie Plan
Budget
Prices
Weather
Plan
Budget
Fertilizer
Buy
Supplies
Seeds
Cultivate
Plants
Pick
Produce
Vegetables
Vegetables
Extract
Seeds
Grow Vegetables
2011 John Mylopoulos
NTUA -- 23
Requirements as Goals
Requirements define what stakeholders want (e.g.,
“schedule meetings”), not what functions the system ought
to support (e.g., “request timetables”).
Goals are refined through AND/OR decompositions until
they can be operationalized through a function/task.
Goals may be synergistic or contradictory.
A solution (specification) to a given set of goals consists
of a bunch of tasks which, if carried out in some order
fulfill the goals.
A goal model defines a space of alternative designs for
fulfilling a goal.
2011 John Mylopoulos
NTUA -- 24
Domain
assumption
A Goal model
Schedule
meeting
AND
Collect
timetables
OR
OR
By
System
OR
Collect from
agents
OR
2011 John Mylopoulos
--
OR
OR
Manually
Collect from
users
AND
Collect
AND
Choose
schedule
By
Person
Tasks
Rooms
available
AND
Send
request
Automatically
AND
Receive
response
Schedule
NTUA -- 25
Softgoals
(Functional) Goals, such as “Schedule meeting” are well
defined; non-functional goals, such “ higher profits ” ,
“ higher customer satisfaction ” or “ easily maintainable
system” specify qualities the system-to-be should adhere
to and are not definable.
Such qualities are represented as softgoals; they can be
thought as “ fuzzy goals ” with no clear-cut criteria for
satisfaction; hence softgoals are satisficed, rather than
satisfied.
Softgoals can be used as criteria for selecting among
alternative designs.
2011 John Mylopoulos
NTUA -- 26
A softgoal model
Usability
AND
Error
Avoidance
AND
Information
Sharing
AND
AND
Ease of Learning
User
Flexibility
Allow
Change of
Settings
Support
Change of
Colours
Change
colour
2011 John Mylopoulos
User
Tailorability
+
+ + +
Support
Change of
State
Change
state
AND
AND
Programmability
+
Modularity
Support
Change of
Language
+
Use
Components
+
Allow User-Defined
Writing Tool
Change
language
NTUA -- 27
Good quality
schedule
Minimal
effort
AND
AND
AND
AND
Good
participation
Minimal
conflicts
Matching
effort
AND
Collection
effort
-
AND
Collect
timetables
+
Evaluating
alternatives
By Person
with softgoals
+
+ +
OR
Choose
schedule
OR
OR
By System
OR
OR
Collect from
Users
Manually
Automatically
Accurate
Constraints
2011 John Mylopoulos
+
-
OR
Collect from
Agents
Minimal
Disturbances
Schedule
meeting
+
AND
Send
Request
AND
Receive
Response
NTUA -- 28
What are we Designing?



(70s) … Software systems
(90s) … Socio-technical systems: Systems
consisting
of
software
and
hardware
components, but also people and organizations
Consistently with this shift, software models
are increasingly adopting ideas from multi-agent
systems
2011 John Mylopoulos
NTUA -- 29
Stakeholders and their goals
ContributeToMtg
actor
UsefulMtg
Initiator
ScheduleMtg
CalendarInfo
Participant
Scheduler
AttendMtg
resource
task
SuitableTime
2011 John Mylopoulos
NTUA -- 30
(Social) Commitments
[Bratman87] and [Cohen90] formalized the notion
of an agent ’ s (psychological) commitment to her
intentions.
[Singh91] stressed instead the notion of social
commitment C(a,b,φ,ψ) whereby “agent a commits to
fulfill ψ for agent b, on condition that φ holds”.
Think of social commitment as the basic molecule
for modelling social structures and norms, including
obligations to others, allegiance to one’s country, to
one’s employer, to family and friends, …
2011 John Mylopoulos
NTUA -- 31
Looking Forward


We understand very well static and dynamic
ontologies, pretty well intentional and social
ones.
There are many applications out there that
aren’t being served well with what we have so
far …
 Business worlds
 Cultural worlds
 Legal worlds
2011 John Mylopoulos
NTUA -- 32
Summary


Conceptual models are useful artifacts for
understanding,
communication,
design,
management, and more.
There has been much progress in spelling out the
principles that underlie models and modelling …
… but much remains to be done …
2011 John Mylopoulos
NTUA -- 33
“Move away from any
narrow interpretation of
databases and expand its
focus to the hard problems
faced by broad visions of
data, information, and
knowledge management”
Motto 12th International
Joint Conference on
Extending Database
Technology and Database
Theory, Saint-Petersburg,
2009
2011 John Mylopoulos
NTUA -- 34
References
[Borgida04] Borgida, A., Mylopoulos, J., “Data Semantics Revisited”, VLDB Workshop
on the Semantic Web and Databases (SWDB’04), August 2004, Springer LNCS, 9-26.
[Bratman87] Bratman M., Intention, Plans, and Practical Reason, Harvard University
Press, Cambridge, MA., 1987.
[Chen76] Chen, P., “The Entity-Relationship Model – Towards a Unified View of Data”,
ACM Transactions on Database Systems 1(1), 1976.
[Chopra10] Chopra, A., Mylopoulos, J., Dalpiaz, F., Giorgini, P., Singh, M.,
“Requirements as Goals and Commitments too”, in Salinesi, C., Souveyet, C., Ralyte,
J. (eds.) Intentional Perspectives on Information Systems Engineering, Studies in
Computational Intelligence book series, Springer-Verlag, June 2010.
[Cohen90] Cohen P., Levesque H., “Intention is choice with commitment”, Artificial
Intelligence 42, 1990, 213–261.
[Guarino09] Guarino, N. “Introduction to Ontological Analysis”, Lecture notes for a
PhD course given at the University of Trento, May 2009.
[iStar97] Yu E., “ Towards Modeling and Reasoning Support for Early-Phase
Requirements Engineering”, 3rd IEEE Int. Conference on Requirements, Engineering,
1997, 226-235.
2011 John Mylopoulos
NTUA -- 35
References
(cont’d)
[KAOS93] Dardenne A., van Lamsweerde A., Fickas S., “Goal-directed Requirements
Acquisition”, Science of Computer Programming 20, 1993, 3-50.
[Mumford83] Mumford, E. “Designing human systems for new technology - The
ETHICS method”, retrieved from http://www.enid.eu-net.com/C1book1.htm
[Mylopoulos97] Mylopoulos, J., “Information Modeling in the Time of the
Revolution”, Information Systems 23(3-4), June 1998, 127-156.
[NFR92] Mylopoulos, J., Chung, L. and Nixon, B., "Representing and Using NonFunctional Requirements: A Process-Oriented Approach," IEEE Transactions on
Software Engineering 18(6), June 1992, 483-497.
[Singh91] Singh, M., “Social and psychological commitments in multi-agent systems”,
AAAI Fall Symposium on Knowledge and Action at Social and Organizational Levels,
1991,104–106.
[Taylor82] Taylor, J., “Designing an Organization and an Information-System for
Central Stores – a Study in Participative Socio-Technical Analysis and Design”, Systems
Objectives Solutions 2(2), 1982, 67-76.
[Trist51] Trist, E., Bamforth, K., “Some social and psychological consequences of the
long-wall method of coal-getting”, Human Relations 4, 1951, 3-38.
2011 John Mylopoulos
NTUA -- 36
Download