Download
description
Transcript of Download
Dept of Information and Communication Technology
Tropos'06 -- 1
Tropos at the Age of 6:Status and Research Directions
John MylopoulosUniversity of Trento
March 2, 2006DIT, UniTN, Trento
Dept of Information and Communication Technology
Tropos'06 -- 2
Research Baseline
Modeling social settings with i* [Yu93].Proposed as a modeling framework for early
requirements, business process reengineering,…
Design of modeling languagesTaxis -- design language for information systems
(1977-87)Telos -- metamodeling language for integrated
software development environments (1986-96)
Dept of Information and Communication Technology
Tropos'06 -- 3
… Namur, Belgium,1995 …
Tropos*Tropos*OntologyOntology
StStructuringructuring
Processes, actors, dependencies, resources,...Processes, actors, dependencies, resources,...
ApplicationApplicationareaarea
Business re-engineering, virtual corporations, Business re-engineering, virtual corporations, enterprise integration, software processes,...enterprise integration, software processes,...
Contexts, denotation, representation (+ gene-Contexts, denotation, representation (+ gene-ralization, aggregation, classification and attri-ralization, aggregation, classification and attri-bution)bution)
ToolsTools Process re-engineering, analysis, enactment Process re-engineering, analysis, enactment supportsupport
•TroposTropos (Greek) means mannermanner (as in “manner of doing things”)[Odyssey, line 1: "…"]
Dept of Information and Communication Technology
Tropos'06 -- 4
… 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, Object-Oriented 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?
Dept of Information and Communication Technology
Tropos'06 -- 5
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.
Dept of Information and Communication Technology
Tropos'06 -- 6
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)
Dept of Information and Communication Technology
Tropos'06 -- 7
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].
Dept of Information and Communication Technology
Tropos'06 -- 8
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.
Dept of Information and Communication Technology
Tropos'06 -- 9
Goal models
Schedulemeeting
By all means By
-
- +
++
+
-
-
Collecttimetables
By person
Bysystem
Have updatedtimetables
Collectthem
Chooseschedule
Manually
Automatically
MatchingeffortCollection
effort
Minimalconflicts
Degree ofparticipation
Quality ofscheduleMinimal
effort
Dept of Information and Communication Technology
Tropos'06 -- 10
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]).
Dept of Information and Communication Technology
Tropos'06 -- 11
From a Goal Model to a Statechart
Schedule meeting
Collect timetables
Choose schedule
By Person By System
Manually Automatically
Minimal effort
Collection effort
Matching effort
Good quality schedule
Minimal conflicts
Good participation
Send Request
Receive Response
OROR
OROR
AND
AND
AND
AND
AND AND
AND
AND
+
-
- +++-
-
Collect from Users
Collect from Agents
OROR
AccurateConstraints
MinimalDisturbances
+ -
+-
Schedule meeting
...
Choose schedule
[VP1=2]
Dept of Information and Communication Technology
Tropos'06 -- 12
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).
Dept of Information and Communication Technology
Tropos'06 -- 13
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].
Dept of Information and Communication Technology
Tropos'06 -- 14
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.
Dept of Information and Communication Technology
Tropos'06 -- 15
Designing Autonomic Software Autonomic software: can self-configure, self-repair,
self-optimize, (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.
Dept of Information and Communication Technology
Tropos'06 -- 16
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.
Dept of Information and Communication Technology
Tropos'06 -- 17
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!