Agent Oriented modeling by interleaving formal and informal
Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2, 1, Marco Roveri 1, Angelo Susi 1 1 ITC - IRST Via Sommarive, 18, I-38050, Trento-Povo, Italy {perini, roveri, susi}@irst. itc. it 2 DIT, University of Trento Via Sommarive, 14, I-38050, Trento-Povo, Italy pistore@dit. unitn. it AOSE-2003, Melbourne July 15 th 1
Introduction • What – Exploitation of Formal Techniques to guide and support the analyst while building and refining Conceptual Models • Why – Visual conceptual modeling is a core process in software development (RUP / AGILE) » Weakness: lack of a formal semantics – Formal specifications languages provide a precise semantics » Weakness: require strong skills, often ineffective for discussing with the stakeholders • How – Defining a framework which uses diagrammatic models equipped with formal semantics » Agent Oriented approach (TROPOS) » Focus on Requisites specification AOSE-2003, Melbourne July 15 th 2
Outline • Introduction • Tropos by Example – Informal modeling via Informal Tropos – Formal modeling via Formal Tropos • The framework – Model assessment and refinement – Model validation – Model evolution • Conclusions & Future Work AOSE-2003, Melbourne July 15 th 3
AO Visual Modeling with Tropos Software development activities Early Requirements Actors in the Late Requirement Architectural Design System Actor Sub-system Actors organizational setting AOSE-2003, Melbourne July 15 th 4
The example: Informal modeling Methodology Provides three Goal analysis Techniques: • • • AND/OR decomp. Means-end analysis Contribution AOSE-2003, Melbourne July 15 th 5
Informal Analysis via Tropos • Benefits – Language ontology based on common sense (informal) components (actors, goals, dependencies …) – A graphical notation – Reasoning mechanisms: AND/OR goal decomposition, means-end analysis, goal contribution analysis, that allow to model the “why” domain and system requirements • Weaknesses – Static view of the model (no dynamics for the generation and achievement of goals, needs, dependencies …) – No temporal constraints (e. g. , on the fulfillment of goals and dependencies) AOSE-2003, Melbourne July 15 th 6
The Example: Formal modeling • • A Formal Tropos specification consists of a sequence of class declarations such as actors, goals and dependencies, that represents the formal counterpart of the objects in the informal specification Extends a Tropos specification with annotations that characterize the valid behaviors of the model Actor Advisor Actor Producer Goal Manage. Pheromone. Trap. Plant …… Goal Area Collection Actor Advisor Mode achieve Attribute mptp : Manage. Pheromone. Trap. Plant Creation Condition not Fulfilled(mptp) Fulfillment condition pp : Plant. Plan (pp. actor=actor & Fulfilled(pp)) & … …… Goal Dependency Orchards. Data …… AOSE-2003, Melbourne July 15 th 7
The Example: Formal modeling • • A Formal Tropos specification consists of a sequence of class declarations such as actors, goals and dependencies, that represents the formal counterpart of the objects in the informal specification Extends a Tropos specification with annotations that characterize the valid behaviors of the model Actor Advisor Actor Producer Goal Manage. Pheromone. Trap. Plant …… Goal Area Collection Actor Advisor Mode achieve Attribute mptp : Manage. Pheromone. Trap. Plant Creation Condition not Fulfilled(mptp) Fulfillment condition pp : Plant. Plan (pp. actor=actor & Fulfilled(pp)) & … …… Goal Dependency Orchards. Data …… AOSE-2003, Melbourne July 15 th 8
Formal Analysis via Tropos • Benefits – The introduction of the temporal dimension in Tropos Representation allow to produce scenarios to be validated by the stakeholders – Domain representation can be Formally Verified (proof, counterexamples to correct the domain specification) • Weaknesses – Formal languages are expressive but yet hard to be understood (temporal constraints are expressed via a typed first-order linear time temporal logic LTL) – Formal Results are hard to interpret in the informal setting AOSE-2003, Melbourne July 15 th 9
The framework • We propose a framework based on the idea of exploiting formal techniques to guide and support the analyst while building and refining a conceptual model • The framework has to support: • Model assessment and refinement, against possible inadequacies • Model validation, with the stakeholders, to end up with an agreed set of requirements • Model evolution, maintaining its consistency, propagating changes, merging redundant information • The framework will include a tool for: • an automatic translation from Informal to Formal • visualization of the query results AOSE-2003, Melbourne July 15 th 10
Model Assessment & Refinement The Informal Analyst assesses the model against possible inconsistencies or redundancies or critical elements and eventually refines the informal model on the basis of the new answer of the Formal Analyst to his/her question AOSE-2003, Melbourne July 15 th 11
Model Assessment & Refinement • Query (2) Is It possible for the Advisor to perform historical data analysis ? FULFILLABLE Historical. Data. Analysis Results Manage Pheromone trap plant Historical Data analysis Advisor Manage Pheromone trap plant Historical Data analysis Orchards historical Data Manage Pheromone trap plant Historical Data analysis Orchards historical Data Orchards Data Producer Manage Pheromone trap plant Orchards historical Data AOSE-2003, Melbourne July 15 th Orchards historical Data Orchards Data Producer Historical Data analysis Producer Orchards Data Producer 12
Model Assessment & Refinement Is It possible for the Advisor to perform historical data analysis without consulting the Producer? • Query NONCRITICAL Producer FOR Historical. Data. Analysis Results Manage Pheromone trap plant Historical Data analysis Advisor Orchards historical Data Producer Manage Pheromone trap plant Historical Data analysis Monitoring Devices data Orchards Data AOSE-2003, Melbourne July 15 th 13 (3)
Model Validation The informal Analyst looks for relevant validation cases to be proposed to the stakeholder in order to drive the validation process and to end up with an agreed model AOSE-2003, Melbourne July 15 th 14
Model Validation • How does the Advisor usually operate? Is that he/she always satisfies the goal area collection after satisfying all its subgoals, according to the following sequence: area analysis via GIS, plant plan and finally dispenser report and order? FULFILL Area. Analysis. Via. GIS THEN Plant. Plan THEN Dispenser. Report. And. Order THEN Area. Collection Dispenser. Report. And. Order AOSE-2003, Melbourne July 15 th Plant. Plan 15
Conclusion • Lightweight usage of Formal Methods • Formal model is extracted automatically by an annotated informal model • Formal model properties to be verified are obtained from queries in a user friendly language • Witnesses and counter-examples are graphical AOSE-2003, Melbourne July 15 th 16
Conclusion Informal Model Graphical Editor Natural Language Query High Level Lang. Query Formal Tropos Results Verification Engine Visual Results AOSE-2003, Melbourne July 15 th (2) 17
Future Work THE TOOL Informal Model MODELER Graphical Editor Visual Query High Level Lang. Query Formal Tropos Results Verification Engine (Nu. SMV) Visual Results AOSE-2003, Melbourne July 15 th 18
Future Work • We are validating the framework respect to other software development activities • We are now involved in the design of the tool that supports: – The build up of the modeler components – The management of the informal diagram via graph rewriting techniques – The high level language to temporal logic queries translator – The implementation of visualization functions to show the formal results to the informal analyst AOSE-2003, Melbourne July 15 th 19
References • • T-Tool: http: //sra. itc. it/tools/t-tool Tropos: http: //science. unitn. it/tropos AOSE-2003, Melbourne July 15 th 20
LTL query formula Global Possibility F ( a: Advisor ( had: Historical. Data. Analysis (had. actor = a Fulfilled(had)))) AOSE-2003, Melbourne July 15 th 21
- Slides: 21