Title: Nessun titolo diapositiva
1Agent 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_at_i
rst.itc.it 2DIT, University of Trento Via
Sommarive, 14, I-38050, Trento-Povo,
Italy pistore_at_dit.unitn.it
2Introduction
- 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
3Outline
- 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
4AO Visual Modeling with Tropos
Software development activities
Early Requirements
Late Requirement
Architectural Design
Actors in the organizational setting
System Actor
Sub-system Actors
5The example Informal modeling
- Methodology
- Provides three
- Goal analysis
- Techniques
- AND/OR decomp.
- Means-end analysis
- Contribution
6Informal 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)
7The 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.actoractor
Fulfilled(pp)) -
- Goal Dependency OrchardsData
8The 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.actoractor
Fulfilled(pp)) -
- Goal Dependency OrchardsData
9Formal 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
10The 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
11Model 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
12Model Assessment Refinement (2)
- Is It possible for the Advisor to perform
historical data analysis ? - FULFILLABLE HistoricalDataAnalysis
Query
Results
13Model Assessment Refinement (3)
- Is It possible for the Advisor to perform
historical data analysis without consulting the
Producer? - NONCRITICAL Producer FOR HistoricalDataAnalysis
Query
Results
14Model 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
15Model 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
16Conclusion
- 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
17Conclusion (2)
Informal Model
Graphical Editor
Natural Language Query
High Level Lang. Query
Formal Tropos Query
Verification Engine
Formal Tropos Results
Visual Results
18Future 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
19Future 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
20References
- T-Tool http//sra.itc.it/tools/t-tool
- Tropos http//science.unitn.it/tropos
21LTL query formula
- Global Possibility
- F ( ? aAdvisor
- (? hadHistoricalDataAnalysis
- (had.actor a ? Fulfilled(had))))