Validation By Animation : Software Architecture Based On the calculus - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Validation By Animation : Software Architecture Based On the calculus

Description:

def ( client, pref ( out ( call, null), pref ( in ( wait, null), pref ( tau, zero) ... trans(pref(out(X,Y), P), A, M, P Nin, Nout). 9/20/09. 19. Animation Patterns ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 25
Provided by: Thse
Category:

less

Transcript and Presenter's Notes

Title: Validation By Animation : Software Architecture Based On the calculus


1
Validation By Animation Software Architecture
Based On the ?-calculus
  • Selma AZAIEZ
  • Frédéric POURRAZ
  • Hervé VERJUS
  • Flavio OQUENDO

2
Presentation Overview
1
  • Architecture-Centric Development Process
  • Towards Architecture-Centric Development Process
  • Architecture Description Languages (ADLs)

2
  • ArchWare Project
  • ArchWare Project Objectives
  • ?-ADL Architectural Language

3
  • Architectural Validation using Animation
  • Animation approach
  • Animation example
  • Prototype implementation

4
Conclusion Future Work
3
Towards Architecture-Centric Development Process
Requirements
Abstract Architecture
Architectural Validation
Concrete Architecture
Deployment
4
Architecture Description Languages (ADLs)
  • Provide notations allowing to describe software
    architecture,
  • Increase the understandability and reusability of
    architectural descriptions
  • Little consensus on what ADL is and what
    architectural aspects should be modeled and
    covered,
  • Some ADLs are informal while others are based on
    formal notations such as ?-calculus
  • ADLs are provided with tools (e.g. Editor, Model
    Checker, Animator, etc...)

5
Presentation Overview
1
  • Architecture-Centric Development Process
  • Towards Architecture-Centric Development Process
  • Architecture Description Languages (ADLs)

2
  • ArchWare Project
  • ArchWare Project Objectives
  • ?-ADL Architectural Languages

3
  • Architectural Validation using Animation
  • Animation approach
  • Animation example
  • Prototype implementation

4
Conclusion Future Work
6
ArchWare Project1
  • Purposes
  • Providing a software architecture centric
    engineering environment ( architectural languages
    and tools),
  • Providing a persistent architecture framework,
  • Providing formal architectural languages such as
    ?-ADL,
  • Supporting architectural description verification
    and validation
  • Model Checker (formal properties verification)
  • Animator (intuitive validation)

1 IST European Project ArchWare Architecting
Evolvable Software (Project NIST-2001-3236)
7
?-ADL Architectural Language (1)
  • ?-ADL has as formal foundation the higher-order
    typed ?-calculus
  • a calculus for communicating and mobile systems
  • ?-ADL is itself a formal language defined as a
    domain-specific extension of the higher-order
    typed ?- calculus
  • it is a well-formed extension for defining a
    calculus of communicating and mobile
    architectural components

value client is abstraction (). value call,
wait is connection. value x
string via call send x. via wait receive
ystring. unobservable. .
8
?-ADL Architectural Language (2)
  • specified in a layered-approach with a core
    canonical abstract syntax (with a formal
    semantics)
  • designed as a formal layered language
  • To be extensible
  • To be compositional
  • To be persistent
  • To be executable
  • To enable analysis
  • To enable evolution

9
Presentation Overview
1
  • Architecture-Centric Development Process
  • Towards Architecture-Centric Development Process
  • Architecture Description Languages (ADLs)

2
  • ArchWare Project
  • ArchWare Project Objectives
  • ?-ADL Architectural Languages

3
  • Architectural Validation using Animation
  • Animation approach
  • Animation example
  • Prototype implementation

4
Conclusion Future Work
10
Why Animation ?
  • the use of ADL formal notation requires some
    experience and semantics well understanding,
  • users may encounter some difficulties while
    applying these notations

Animation provides graphical views helping the
architect in validating the structure and the
behavior of the architecture
Our Animation approach aims at providing a
graphical interpretation of ADL description.
11
Example of ?-ADL Architecture description
Scenario (1)
  • Example description
  • 1 contractor 1 negotiator.
  • 2 suppliers.
  • The contractor send tenders to the negociator
  • The negociator send the tendres to suppliers and
    if they both accept, the negociator choose the
    selected supplier.

12
Example of ?-ADL Architecture description
Scenario (2)
recursive value negociator is abstraction() ..
. via contractor_In receive contract -- Test if
the answer_1 and answer_2 is true
if(answer_1) then if(answer_2) then
choose ( -- Contract sent to
supplier_name_1 -- via supplier_1_answer_out
send contract via supplier_2_answer_out send
end ) or ( -- Contract sent to
supplier_name_2 -- via supplier_2_answer_out
send contract via supplier_1_answer_out send
end ) ... ...
Contractor
Negotiator
s1 Supplier
s2 Supplier
recursive value contractor is abstraction() --
User command to create tenders -- value
user_command_to_create_tenders is free
connection() via user_command_to_create_tenders
receive -- Connection creation -- value
contractor_tenders_out is connection(String) ...
-- Tenders sent -- via contractor_tenders_out
send tenders ...
recursive value negociator is abstraction() --
Connection creation -- value supplier_1_tenders_i
n is connection(String) value
supplier_1_answer_out is connection(Boolean) val
ue contractor_answer_out is connection(Boolean)
... -- tenders send -- via supplier_1_tenders_in
send tenders via supplier_2_tenders_in send
tenders -- Answer received -- via
supplier_1_answer_out receive answer_1
Boolean via supplier_2_answer_out receive
answer_2 Boolean -- Answer send if
(answer_1 or answer_2) do unobservale via
contractor_answer_in send true ...
recursive value contractor is abstraction() ..
. via contractor_answer_in receive
negociator_answer via contractor_answer_out
send contract ...
13
Validation using Animation
value supply_chain is abstraction() compose
contractor() and negociator() and supplier
_1(supplier_name_1) and supplier_2(supplier_nam
e_2)
14
Animation Approach
  • The approach must
  • Preserve ADL semantics
  • Connect graphical visualizations that interpret
    the language semantics
  • Supports dedicated human computer interaction
    techniques (e.g. to handle indeterminism)

15
Animation Approach Implementation
ADL Semantics Analysis
Animation Computation
Animation Display / Rendering
16
ADL Semantics Analysis
ADL Semantics Analysis
  • Use of Mobile Model Checker (MMC)
  • - operational semantics to execute ?-calculus
    descriptions
  • - formal properties verification to analyse
    ?-calculus descriptions

17
MMC Mechanism Description
value client is abstraction (). value call,
wait is connection . via call
send. via wait receive. unobservable. .
def ( client, pref ( out ( call, null),
pref ( in ( wait, null), pref ( tau,
zero)))).
Translation ADL syntax to MMC syntax
gt Semantics encoding trans(P1 ,A, M, P2, Nin,
Nout).
18
Animation Rules
Animation Computation
  • establish the link between a given ADL
    expression and its corresponding animation
  • act as an interface between the ADL semantic
    interpretation and the animation visualisation
  • have exactly the same form as the trans
    relation which facilitates their plug-in
  • AnimationRule(P1, A, M, P2, Nin, Nout)
  • is defined for each trans relation
  • fires the corresponding pattern that
    identifies the animation

AnimationRule (pref(out(X,Y), P), A, M, P, Nin,
Nout) - out_pattern(out(X,Y)),
trans(pref(out(X,Y), P), A, M, P Nin, Nout).
19
Animation Patterns
  • Animation Display / Rendering
  • Identify the graphical visualizations
    corresponding to each expression
  • Can be realized in different steps
  • - several patterns levels

20
Prototype Global Architecture
Animation Engine Server (Java)
Animation Engine (Prolog)
Patterns
MMC
Animation Rules
Animation Patterns
JAVA
Client Side
Applet Animation Viewer
21
Prototype Graphical Interface
22
Presentation Overview
1
  • Architecture-Centric Development Process
  • Towards Architecture-Centric Development Process
  • Architecture Description Languages (ADLs)

2
  • ArchWare Project
  • ArchWare Project Objectives
  • ?-ADL Architectural Languages
  • Example of ?-ADL Architecture

3
  • Architectural Validation using Animation
  • Animation approach
  • Animation example
  • Prototype implementation

4
Conclusion Future Work
23
Conclusion
  • Generic approach for ADLs based on ?-calculus
  • Providing structural and behavioral views
  • Providing an intuitive validation tool in an
    architectural environement
  • Handling indeterminism by the way of human
    interaction
  • Complementary approach with formal verification
    approaches (model checking, theorem proving)

24
Future work
  • Extend animator to all ?-ADL layers (e.g. domain
    specific layer)
  • Improve graphical rendering (architectural
    elements introspection, icons library, etc)
  • Experiment our approach with complex
    architectural descriptions
  • Support animation at each refinement stage
  • Support animation of mobile architecture
    descriptions
Write a Comment
User Comments (0)
About PowerShow.com