Agent-Oriented Software Engineering and Tropos Agent-Oriented Software Engineering Early Requirements and i* Modeling with i* Formal Tropos Analyzing Formal.

Slides:



Advertisements
Similar presentations
1 GRL Introduction Lin Liu University of Toronto April 2001.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Dept of Information and Communication Technology Tropos' Tropos at the Age of 6: Status and Research Directions John Mylopoulos University of Trento.
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
ISBN Chapter 3 Describing Syntax and Semantics.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
The Architecture Design Process
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
Describing Syntax and Semantics
AOSE-2003, Melbourne July 15 th 1 Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2,1, Marco Roveri 1,
What is Business Analysis Planning & Monitoring?
Introduction To System Analysis and design
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Unit 2: Engineering Design Process
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
SecureTropos ST-Tool A CASE tool for security-aware software requirements analysis Departement of Information and Communication Technology – University.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp † Paolo Giorgini ‡ John Mylopoulos † † Department of Computer Science.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
1 From GORE (not the US presidential candidate) to AORE (Agent-Oriented Requirements Engineering) Eric Yu University of Toronto November 2000.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Goal and Requirement Change Management in Enterprise Architecture Abelneh Teka 13, June 2012.
1 Introduction to Software Engineering Lecture 1.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto.
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Systems Architectures System Integration & Architecture.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
A Generic Model for Software Architecture Yun Sang-hyun Rossak. W. / Kirova. V. / Jolian. L. / Lawson. H. / Zemel. T. Software, IEEE Jul/Aug.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Analysis Classes Unit 5.
Model-Driven Analysis Frameworks for Embedded Systems
Software Design Lecture : 15.
Department of Computer Science Abdul Wali Khan University Mardan
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Agent-oriented Software Engineering Methodologies
Presentation transcript:

Agent-Oriented Software Engineering and Tropos Agent-Oriented Software Engineering Early Requirements and i* Modeling with i* Formal Tropos Analyzing Formal Tropos Models The Tropos Project Tropos -- 1 CSC2507 Conceptual Modeling 2004 John Mylopoulos

…An Idea...  Software Engineering methodologies have Traditionally come about in a “late-to-early” phase (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? Conceptual Modeling CSC John MylopoulosTropos -- 2

Conceptual Modeling CSC John MylopoulosTropos -- 3 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)

Conceptual Modeling CSC John MylopoulosTropos -- 4 ...but more recently...  A non-human agent, with its own personality and behavior, defined by its past history and structuralmakeup (CogSci perspective)  A social structure of software agents, who communicate, negotiate, collaborate and cooperate to fulfil their goals (Social perspective) These two perspectives will grow in importance -- in practice, but also SE research!

Conceptual Modeling CSC John MylopoulosTropos -- 5  Why Agent-Oriented Software?  Next generation software engineering will have to support open, dynamic architectures where components can accomplish tasks in a variety of operating environments.  Consider application areas such as eBusiness, webservices, pervasive and/or P2P computing.  These all call for software components that find and compose services dynamically, establish/drop partnerships with other components and operate under a broad range of conditions.  Learning, planning, communication, negotiation, and exception handling become essential features for such software components.... agents!

Conceptual Modeling CSC John MylopoulosTropos -- 6  Agent-Oriented Software Engineering  Many researchers working on it.  Research on the topic generally comes in two flavours: Extend UML to support agent communication, negotiation etc. (e.g., [Bauer99, Odell00]); Extend current agent programming platforms (e.g., JACK) to support not just programming but also design activities [Jennings00].  We are developing a methodology for building agent oriented software which supports requirements analysis, as well as design.

Conceptual Modeling CSC John MylopoulosTropos -- 7  What is an Agent?  A person, an organization, certain kinds of software.  An agent has beliefs, goals ( desires), intentions.  Agents are situated, autonomous, flexible, and social.  But note: human/organizational agents can’t be prescribed, they can only be partially described.  Software agents, on the other hand, have to be completely specified during implementation.  Beliefs correspond to (object) state, intentions constitute a run-time concept. For design-time, the interesting new concept agents have that objects don’t have is......goals!

Conceptual Modeling CSC John MylopoulosTropos --8  Why Worry AboutHuman/Organizational Agents?  Because their goals lead to software requirements, and these influence the design of a software system.  Note the role of human/organizational agents in OOA, - -> use cases.  Also note the role of agents in up-and-coming requirements engineering techniques such as KAOS [Dardenne93].  In KAOS, requirements analysis begins with a set of goals; these are analysed/decomposed to simpler goals which eventually either lead to software requirements, or are delegated to external agents.

Conceptual Modeling CSC John MylopoulosTropos --9 The Tropos Methodology  We propose a set of primitive concepts and a methodology for agent-oriented requirements analysis and design.  We want to cover four phases of software development: Early requirements -- identifies stakeholders and their goals; Late requirements -- introduce system as another actor which can accommodate some of these goals; Architectural design -- more system actors are added and are assigned responsibilities; Detailed design -- completes the specification of system actors.

Conceptual Modeling CSC John MylopoulosTropos --10 Early Requirements?  The organizational environment of a software system can be conceptualized as a set of business processes, actors and/or goals.  The KAOS project defines the state-of-the-art on modeling early requirements in terms of goals; also offers well-developed analysis techniques and tools for generating late requirements.  We focus on actors and goals. In particular, we adopt the i* framework of Eric Yu [Yu95].  Actors = Agents  Positions Roles.

Conceptual Modeling CSC John MylopoulosTropos --11 Early Requirements: External Actors and their Goals A social setting consists of actors, each having goals (and/or softgoals) to be fulfilled.

Conceptual Modeling CSC John MylopoulosTropos --12

Conceptual Modeling CSC John MylopoulosTropos --13 Actor dependencies are intentional: One actor wants something, another is willing and able to deliver. Actor Dependencies

Conceptual Modeling CSC John MylopoulosTropos --14 Actor Dependency Models

Conceptual Modeling CSC John MylopoulosTropos --15 Using These Concepts  During early requirements, these concepts are used to model external stakeholders (people, organizations,existing systems), their relevant goals and interdependencies.  During late requirements, the system-to-be enters the picture as one or a few actors participating in i* models.  During architectural design, the actors being modelledare all system actors.  During detailed design, we are not adding more actors and/or dependencies; instead, we focus on fully specifying all elements of the models we have developed.

Conceptual Modeling CSC John MylopoulosTropos --16 Late Requirements with i*

Conceptual Modeling CSC John MylopoulosTropos --17 Software Architectures with i*

Conceptual Modeling CSC John MylopoulosTropos --18 …Yet Another Software Development Process  Initialization: Identify stakeholder actors and their goals;  Step: For each new goal: adopt it; delegate it to an existing actor; delegate it to a new actor; decompose it into new subgoals; declare the goal “denied”.  Termination condition: All initial goals have been fulfilled, assuming all actors deliver on their commitments.

Conceptual Modeling CSC John MylopoulosTropos --19 What is Different?  Goal refinement extends functional decomposition techniques, in the sense that it explores alternatives.  Actor dependency graphs extend object interaction diagrams in that a dependency is intentional, needs to be monitored, may be discarded, and can be established at design- or run-time.  In general, an actor architecture is open and dynamic; evolves through negotiation, matchmaking and likeminded mechanisms.  The distinction between design and run-time is blurred.  So is the boundary between a system and its environment (software or otherwise.)

Conceptual Modeling CSC John MylopoulosTropos --20 Why is this Better (…Sometimes…)  Traditionally, goals (and softgoals) are operationalized and/or metricized before late requirements.  This means that a solution to a goal is frozen into a software design early on and the designer has to work within the confines of that solution.  This won’t do in situations where the operational environment of a system, including its stakeholders, keeps changing.  This won’t do either for software that needs to accommodate a broad range of users, with different cultural, educational and linguistic backgrounds, or users with special needs.

Conceptual Modeling CSC John MylopoulosTropos --21 The Tale of Two Designs

Conceptual Modeling CSC John MylopoulosTropos --22 Formal Tropos  Each concept in a Tropos diagram can be defined formally, in terms of a temporal logic inspired by KAOS.  Actors, goals, actions, entities, relationships are described statically and dynamically.

Conceptual Modeling CSC John MylopoulosTropos --23 A Formal Tropos Example

Conceptual Modeling CSC John MylopoulosTropos --24 A Goal Dependency Example

Conceptual Modeling CSC John MylopoulosTropos --25 Analysing Models  Models are used primarily for human communication  But, this is not enough! Large models can be hard to understand, or take seriously!  We need analysis techniques which offer evidence that a model makes sense: Simulation through model checking, to explore the properties of goals, entities, etc. over their lifetime; Goal analysis which determine the fulfillment of a goal, given information about related goals; Social analysis which looks at viability, workability,…for a configuration of social dependencies.

Conceptual Modeling CSC John MylopoulosTropos --26 Model Checking for Tropos  Goal: Apply model checking to richer models than those that have been tried before.  Approach Definition of an automatic translation from Formal Tropos specifications to the input language of the nuSMV model checker [Cimatti99]. Verification of temporal properties of state representations of finite Tropos models. Discovery of interesting scenarios that represent counterexamples to properties not satisfied by the specifications. Model simulation.

Conceptual Modeling CSC John MylopoulosTropos --27 Mapping Tropos to nuSMV  The language supported by a model checker includes variables that can take one of a finite number of Also, constraints on the allowable transitions from one value to another.  How do we map Formal Tropos to nuSMV? Each goal instance is represented by a variable that can take values “no”, “created”, “fulfilled”; these represent the possible states of a goal instance. Each action is represented by a Boolean variable that is true only at the time instance when the action occurs.

Conceptual Modeling CSC John MylopoulosTropos --28 Translation for CoverRepairs

Conceptual Modeling CSC John MylopoulosTropos --29 An Interesting Property

Conceptual Modeling CSC John MylopoulosTropos --30 On-Going Work  Tropos models are infinite; to make model checking work, we pick finite submodels (e.g., 1, 2,... instances per class, for any one property we want to prove and see if it leads to counter-examples.  How do we pick submodels? How do we know when to stop?  Experiments to demonstrate the scalability of the approach.

Conceptual Modeling CSC John MylopoulosTropos --31 Goal Analysis

Conceptual Modeling CSC John MylopoulosTropos --32 How do we evaluate this graph?

Conceptual Modeling CSC John MylopoulosTropos --33 Analyzing Softgoal Graphs  Given a goal graph structure, the following label propagation procedure determines the status of each goal node. A goal is labeled satisfied (S) - if it is satisfiable and not deniable denied (D) - if deniable and not satisfiable conflicting (C) - if both deniable and satisfiable undetermined (U) - if neither  Labeling procedure iterates over two basic steps: I. For each goal, compute the label of each satisfied outgoing link; these labels can be one of four mentioned earlier, plus U-, U+ and ? II. The labels accumulated for a single proposition are combined into one of the four labels (S, D, C, U)

Conceptual Modeling CSC John MylopoulosTropos --34 How Are Labels Propagated?

Conceptual Modeling CSC John MylopoulosTropos --35 Critique It is not clear that this algorithm terminates; it is possible that the label of a node will keep changing after each step of the label propagation algorithm. The label combination rules seem ad hoc and with no justification (other than a feeble “they seem intuitive”). It is unclear what goal relationships such as ‘+’, ‘-’ really mean. Can we come up with a goal analysis algorithm which (a) terminates, (b) is computationally tractable, and (c) is semantically well-founded?

Conceptual Modeling CSC John MylopoulosTropos --36 A Qualitative Goal Model  We use S(atisfied), D(enied) and don’t assume that they are logically exclusive (remember, goals may be contradictory!)  We offer several axioms for every goal relationship....more axioms for predicate D, goal relationships --, -...

Conceptual Modeling CSC John MylopoulosTropos --37

Conceptual Modeling CSC John MylopoulosTropos --38 Qualitative Goal Analysis  Given a goal graph, we can instantiate these axioms into a collection of propositional Horn clauses, e.g.,  We are also given some S and D labels for some goals, e.g., S(haveUpdatedTbl)  There is an O(N) proof procedure which will generate all inferences from these axioms. Our proof procedure works as a label propagation algorithm.  We have also developed algorithms to accommodate probabilities and criticalities for goals.

Conceptual Modeling CSC John MylopoulosTropos --39 Quantitative Goal Analysis  Now, S and D have different meaning: S(g,p) -- “probability that g is satisfied is at least p” D(g,p) -- “probability that g is denied is at least p”  For example, “The probability that a meeting will be scheduled is.95” “The probability that an ambulance will arrive within 15 minutes is.9”

Conceptual Modeling CSC John MylopoulosTropos --40 Axiomatization and Results  The axioms become ∀ g1,g2,g3[AND({g1,g2},g3) ⇒ ((S(g1,p1) ∧ S(g2,p2)) ⇒ S(g3,p1*p2))] ∀ g1,g2,g3[OR({g1,g2},g3) ⇒ ((S(g1,p1) ∧ S(g2,p2)) ⇒ S(g3,p1 ⊕ p2))] ∀ g1,g2[+(g1,g2,p) ⇒ [S(g1,p1)) ⇒ S(g2,p*p1)]]  We have a label propagation algorithm which is sound and complete wrt this axiomatization, and converges to the right values.  There are other ways to embelish this axiomatization in order to account for amount of evidence, multiple sources of evidence,...

Conceptual Modeling CSC John MylopoulosTropos --41 Dependency Graph Analysis  Given a set of actors, each with associate root goals, and a goal graph for each root goal, find a dependency graph which fulfills all root goals

Conceptual Modeling CSC John MylopoulosTropos --42 Well-Formed Dependency Graphs  Some dependency graphs don’t make sense...  What is a “good” dependency graph assuming that we are interested in: minimizing dependence; distributing work.  Algorithms for transforming dependency graphs.

Conceptual Modeling CSC John MylopoulosTropos --43 The Media Shop Example  Media taxonomy on-line catalog DBMS  E-Shopping Cart Check In Buying Check Out  Search Engine catalog Browser Keywords full-text  Secure $ transactions orders  Multimedia description samples

Conceptual Modeling CSC John MylopoulosTropos --44 Early Requirements Analysis  Understand the organizational setting, produce an organizational model organizational model with relevant actors and their respective goals. Goals are relative, fulfillment is collaborative.

Conceptual Modeling CSC John MylopoulosTropos --45 Beware!!! When we design software organizational systems, we must avoid the pitfalls of human organizational ones…

Conceptual Modeling CSC John MylopoulosTropos --46 Related Work

Conceptual Modeling CSC John MylopoulosTropos --47 Related Work

Conceptual Modeling CSC John MylopoulosTropos --48 Conclusions  We have proposed a set of concepts and sketched a methodology that can support Agent-Oriented Software Development.  Agent-Oriented software development is an up-and coming paradigm because of an ever-growing demand for customizable, robust and open software systems that truly meet the needs and intentions of their stakeholders.  This is a long-term project, and much remains to be done.

Conceptual Modeling CSC John MylopoulosTropos --49 References [Bauer99] Bauer, B., Extending UML for the Specification of Agent Interaction Protocols. OMG document ad/ [Castro02] Castro, J., Kolp, M., Mylopoulos, J., “Towards Requirements- Driven Software Development Methodology: The Tropos Project,” Information Systems 27(2), Pergamon Press, June 2002, [Chung00] Chung, L., Nixon, B., Yu, E., Mylopoulos, J., Non-Functional Requirements in Software Engineering, Kluwer Publishing, [Dardenne93] Dardenne, A., van Lamsweerde, A. and Fickas, S., “Goal–directed Requirements Acquisitio n ”, Science of Computer Programming, 20, [Fuxman01a].Fuxman, A., Pistore, M., Mylopoulos, J. and Traverso, P., “Model Checking Early Requirements Specifications in Tropos”, Proceedings Fifth International IEEE Symposium on Requirements Engineering, Toronto, August [Fuxman01b] Fuxman,A., Giorgini, P., Kolp, M., Mylopoulos, J., “Information Systems as Social Organizations”, Proceedings International Conference on Formal Ontologies for Information Systems, Ogunquit Maine, October Iglesias98] Iglesias, C., Garrijo, M. and Gonzalez, J., “A Survey of Agent- Oriented Methodologies”, Proceedings of the 5th International Workshop on Intelligent Agents: Agent Theories, Architectures, and Languages (ATAL-98), Paris, France, July 1998.

Conceptual Modeling CSC John MylopoulosTropos --50 References, cont’d. [[Jennings00] Jennings, N. “On Agent-Based Software Engineering”, Artificial lntelligence 117, [Mylopoulos92].Mylopoulos, J., Chung, L. and Nixon, B., "Representing and Using Non-Functional Requirements: A Process-Oriented Approach," IEEE Transactions on Software Engineering 18(6), June 1992, [Odell00] Odell, J., Van Dyke Parunak, H. and Bernhard, B., “Representing Agent Interaction Protocols in UML”, Proceedings 1st International Workshop on Agent-Oriented Software Engineering (AOSE00), Limerick, June [Wooldridge00] Wooldridge, M., Jennings, N., and Kinny, D., “The Gaia Methodology for Agent-Oriented Analysis and Design,” Journal of Autonomous Agents and Multi-Agent Systems, 3(3), 2000, 285–312. [Yu95] Yu, E., Modelling Strategic Relationships for Process Reengineering, Ph.D. thesis, Department of Computer Science, University of Toronto, [Zambonelli00] Zambonelli, F., Jennings, N., Omicini, A., and Wooldridge, M., “Agent-Oriented Software Engineering for Internet Applications,” in Omicini, A., Zambonelli, F., Klusch, M., and Tolks-Dorf R., (editors), Coordination of Internet Agents: Models, Technologies, and Applications, Springer-Verlag LNCS, 2000, 326–346.