Download

17
Dept of Information and Communication Technology Tropos'06 -- 1 Tropos at the Age of 6: Status and Research Directions John Mylopoulos University of Trento March 2, 2006 DIT, UniTN, Trento

description

 

Transcript of Download

Page 1: 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

Page 2: Download

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)

Page 3: Download

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: "…"]

Page 4: Download

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?

Page 5: Download

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.

Page 6: Download

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)

Page 7: Download

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].

Page 8: Download

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.

Page 9: Download

Dept of Information and Communication Technology

Tropos'06 -- 9

Goal models

Schedulemeeting

By all means By

email

-

- +

++

+

-

-

Collecttimetables

By person

Bysystem

Have updatedtimetables

Collectthem

Chooseschedule

Manually

Automatically

MatchingeffortCollection

effort

Minimalconflicts

Degree ofparticipation

Quality ofscheduleMinimal

effort

Page 10: Download

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]).

Page 11: Download

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]

Page 12: Download

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).

Page 13: Download

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].

Page 14: Download

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.

Page 15: Download

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.

Page 16: Download

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.

Page 17: Download

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!