210 likes | 225 Views
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
E N D
Agent Oriented modeling by interleaving formal and informal analysis Anna Perini1, Marco Pistore2,1, Marco Roveri1,Angelo Susi1 1ITC - IRST Via Sommarive, 18, I-38050, Trento-Povo, Italy {perini,roveri,susi}@irst.itc.it 2DIT, University of Trento Via Sommarive, 14, I-38050, Trento-Povo, Italy pistore@dit.unitn.it
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
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
AO Visual Modeling with Tropos Software developmentactivities Early Requirements Late Requirement Architectural Design Actors in the organizational setting System Actor Sub-system Actors
The example: Informal modeling Methodology Provides three Goal analysis Techniques: • AND/OR decomp. • Means-end analysis • Contribution
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)
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 ManagePheromoneTrapPlant …… Goal Area Collection Actor Advisor Mode achieve Attribute mptp : ManagePheromoneTrapPlant Creation Condition not Fulfilled(mptp) Fulfillment condition pp : PlantPlan (pp.actor=actor & Fulfilled(pp)) & … …… Goal Dependency OrchardsData ……
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 ManagePheromoneTrapPlant …… Goal Area Collection Actor Advisor Mode achieve Attribute mptp : ManagePheromoneTrapPlant Creation Condition not Fulfilled(mptp) Fulfillment condition pp : PlantPlan (pp.actor=actor & Fulfilled(pp)) & … …… Goal Dependency OrchardsData ……
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
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
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
Model Assessment & Refinement (2) Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Historical Data analysis Historical Data analysis Historical Data analysis Historical Data analysis Historical Data analysis Historical Data analysis Advisor Orchards historical Data Orchards historical Data Orchards historical Data Orchards historical Data Orchards historical Data Orchards Data Orchards Data Orchards Data Orchards Data Producer Producer Producer Producer Query • Is It possible for the Advisor to performhistorical data analysis? FULFILLABLEHistoricalDataAnalysis Results
Model Assessment & Refinement (3) Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Manage Pheromone trap plant Historical Data analysis Historical Data analysis Historical Data analysis Historical Data analysis Advisor Monitoring Devices data Monitoring Devices data Monitoring Devices data Orchards historical Data Orchards Data Producer Query • Is It possible for the Advisor to performhistorical data analysiswithout consulting the Producer? NONCRITICAL Producer FORHistoricalDataAnalysis Results
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
Model Validation • How does the Advisor usually operate? Is that he/she always satisfies the goal area collection after satisfying all its sub-goals, according to the following sequence: area analysis via GIS, plant plan and finally dispenser report and order? FULFILL AreaAnalysisViaGIS THEN PlantPlan THEN DispenserReportAndOrder THEN AreaCollection PlantPlan DispenserReportAndOrder
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
Conclusion (2) Informal Model Graphical Editor Natural Language Query High Level Lang. Query Formal Tropos Query Verification Engine Formal Tropos Results Visual Results
Future Work Informal Model Graphical Editor Visual Query MODELER High Level Lang. Query THE TOOL Formal Tropos Query Verification Engine (NuSMV) Formal Tropos Results Visual Results
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
References • T-Tool: http://sra.itc.it/tools/t-tool • Tropos: http://science.unitn.it/tropos
LTL query formula Global Possibility F ( a:Advisor (had:HistoricalDataAnalysis (had.actor = aFulfilled(had))))