Transcript Document
Dept of Information and Communication Technology
Tropos at the Age of 6:
Status and Research Directions
John Mylopoulos
University of Trento
March 2, 2006
DIT, UniTN, Trento
Tropos'06 -- 1
Dept of Information and Communication Technology
Research Baseline
Modeling social settings with i* [Yu93].
Proposed as a modeling framework for early requirements,
business process reengineering,…
Design of modeling languages
Taxis -- design language for information systems (1977-87)
Telos -- metamodeling language for integrated software
development environments (1986-96)
Tropos'06 -- 2
Dept of Information and Communication Technology
… Namur, Belgium,1995 …
Tropos*
Ontology
Processes, actors, dependencies, resources,...
Structuring
Contexts, denotation, representation (+ generalization, aggregation, classification and attribution)
Application
area
Business re-engineering, virtual corporations,
enterprise integration, software processes,...
Tools
Process re-engineering, analysis, enactment
support
•Tropos (Greek) means manner (as in “manner of doing things”)
[Odyssey, line 1: "…"]
Tropos'06 -- 3
Dept of Information and Communication Technology
… An Idea …
Software Engineering methodologies have come about in a
“late-to-early” (or, “downstream-to-upstream”) fashion.
In particular, Structured Programming preceded (and
influenced!) Structured Analysis and Design; likewise, ObjectOriented Programming preceded Object-Oriented Design and
Analysis.
In both cases, programming concepts were projected upstream
to dictate how designs and requirements are to be conceived.
What would happen if we projected requirements
concepts downstream to define software designs and
even implementations?
Tropos'06 -- 4
Dept of Information and Communication Technology
A Research Project
Develop a software development methodology founded on the
notions of actor,, goal/softgoal, and strategic actor
dependency.
These concepts are to be used in all phases of software
development (as with UML).
If these are the concepts we use to conceive software, we are
obviously developing agent-oriented software systems.
There are implementation environments for such systems;
accordingly we focus on earlier phases.
Tropos'06 -- 5
Dept of Information and Communication Technology
What is Software?
An engineering artifact, designed, tested and deployed using
engineering methods; rely heavily on testing and inspection
for validation (Engineering perspective)
A mathematical abstraction, a theory, which can be analyzed
for consistency and can be refined into a more specialized
theory (Mathematical perspective)
A non-human agent, with its own personality and behavior,
defined by its past history and structural makeup (CogSci
perspective)
A social structure of software agents, who communicate,
negotiate, collaborate and cooperate to fulfill their goals
(Social perspective)
Tropos'06 -- 6
Dept of Information and Communication Technology
Research Tasks
Develop a methodology, illustrated through case studies
([Castro01], [Bresciani01]), supported by a prototype
environment [->].
Develop formal analysis techniques for Tropos models:
Simulation through model checking, to explore temporal
properties of models [Fuxman01];
Goal analysis that determine the fulfillment of a goal, given
information about related goals [Giorgini02];
Social analysis that looks at configurations of actor
dependencies [Bryl06].
Tropos'06 -- 7
Dept of Information and Communication Technology
Probabilistic Goals
A generated design for a given (generic) goal is supposed to
fulfill (all!) its instances …, but in general it won't!
Can we make precise claims about a design, e.g., "If D is
true X% of the time, then an ambulance can be in the place
of accident anywhere in London within 15' 85% of the time"
Modeling and reasoning with probabilistic actions (e.g.,
"submit paper to conference") also an issue.
Use DT-Golog, PhD thesis by Mikhail Soutchanski.
Tropos'06 -- 8
Dept of Information and Communication Technology
Quality of
schedule
Minimal
effort
Minimal
conflicts
Matching
effort
Collection
effort
-
+
+
+
-
Goal
models
Schedule
meeting
+
-
Collect
timetables
Choose
schedule
By
person
By all
means
Degree of
participation
By
system
Manually
Automatically
By
email
Have
updated
timetables
Collect
them
Tropos'06 -- 9
Dept of Information and Communication Technology
Designing for High Variability
… software!
A goal model defines a space of alternatives for fulfilling a goal.
Design a system that supports all alternatives rather than one.
Generate generic design views from a goal model (Yijun Yu,
Alexei Lapouchnian, Sotiris Liaskos), [Yu06].
Characterise goal variability [Liaskos06].
Application of these ideas to the design of domotic software
systems (helps an elderly person live at home [Hui03]).
Tropos'06 -- 10
Dept of Information and Communication Technology
From a Goal Model to a Statechart
Schedule meeting
Good quality
schedule
Minimal
effort
AND
AND
AND
AND
Minimal
conflicts
Matching
effort
Collection
effort
Good
participation
Schedule
meeting
AND
AND
Collect
timetables
+
-
+
-
OR
+ +
OR
By Person
OR
OR
By System
OR
Collect from
Agents
+
[VP1=1]/by_perso
n
OR
Collect from
Users
Manually
Automatically
Choose schedule
AND
Minimal
Disturbances
Choose
schedule
Accurate
Constraints
AND
+
Send
Request
Receive
Response
[VP1=2]
[VP2=1]/manually
[VP3=1]/collectByAgents
[VP3=2]
Se n d
R e q u e st
[VP2]=2/automatically
receive
...
response
Tropos'06 -- 11
Dept of Information and Communication Technology
Modeling Preferences
Our language for modeling preferences (softgoals, controbutions)
is rather coarse-grained.
Use recent results from Knowledge Representation on
representing and reasoning with preferences to offer a more
expressive language for modeling preference, with suitable tool
support.
When a planner looks for a plan to satisfy a goal, it prefers
plans that satisfy preferences.
Based on work by Sheila McIlraith and her students (Liaskos).
Tropos'06 -- 12
Dept of Information and Communication Technology
From Goals to Database Designs
Requirements Engineering (RE) has changed dramatically in
the past 15 years: early requirements, goal-oriented RE,…
… but not database design!
Develop a systematic, tool-supported process for going from
goal models, to information models, to conceptual (e.g., ER)
schemas.
Lei Jiang, Thodoros Topaloglou, Alex Borgida [Jiang06].
Tropos'06 -- 13
Dept of Information and Communication Technology
Designing Business Processes
Instead of generating software designs, let's generate
business process designs.
Work with IBM's WebSphere Business Modeler group.
We have a tool-supported design process that can even
generate BPEL.
Alexei Lapouchnian, Yijun Yu.
Tropos'06 -- 14
Dept of Information and Communication Technology
Designing Autonomic Software
Autonomic software: can self-configure, self-repair, selfoptimize, (self-protect).
For us,
autonomic = high-variability + monitoring + diagnosis +
reconfiguring
We start from AI theories of diagnosis, develop design
techniques for monitoring and diagnosis (Yiqiao Wang).
Computer Associates Inc. wants techniques for reengineering
their logging and diagnostic facilities.
Tropos'06 -- 15
Dept of Information and Communication Technology
Designing Virtual Organizations
Consider a technology park where several SMEs form vistual
organizations to carry out large projects (that they can't
conduct individually).
How do we design them? How do we analyze the designs?
Thesis work by Enzo Colombo at the Politecnico di Milano
Proposes a 3-view design process: social, intentional and
process. Offers analysis techniues for each. i*/Tropos used
for the social+intentional views. Patterns are proposed.
Tropos'06 -- 16
Dept of Information and Communication Technology
The Longer Term
This is on-going work that is part of someone's PhD thesis.
There is some interest from industry (IBM, CA).
But what might be the longer term objective of all this
research (including the work we do in Trento)?
A Science of Software Design!
Tropos'06 -- 17