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