parameterized models for distributed java objects
Download
Skip this Video
Download Presentation
Parameterized Models for Distributed Java Objects

Loading in 2 Seconds...

play fullscreen
1 / 22

Parameterized Models for Distributed Java Objects - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

Parameterized Models for Distributed Java Objects. Tomás Barros & Rabéa Boulifa OASIS Project INRIA Sophia Antipolis April 2004. Agenda. Main Goal Parametrized Models Generation of Models Properties Study Case Conclusion Perspectives. Main Goal.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Parameterized Models for Distributed Java Objects' - dacian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
parameterized models for distributed java objects
Parameterized Models for Distributed Java Objects

Tomás Barros & Rabéa Boulifa

OASIS Project

INRIA Sophia Antipolis

April 2004

agenda
Agenda
  • Main Goal
  • Parametrized Models
  • Generation of Models
  • Properties
  • Study Case
  • Conclusion
  • Perspectives
main goal
Main Goal

Analysis and Verification of Behavioural Properties of Distributed (Java) Systems

  • Naturally description of realistic distributed systems
  • (Semi) Automatic model generation from source code
  • Hierarchy & Compositionability
slide4

Architecture

(parameterized)

Properties

(parameterized)

Rabea

Architecture

(parameterized)

Instantiations

Tomás

Static Analysis

Abstract

Source Code

Source

Code

Abstraction

(ProActive)

Aims Snapshot

Informal

Requirements

Model Checker

proactive library
ProActive library
  • Active objects communicate by Remote Method Invocation.
  • Each active object:
    • has a request queue (always accepting incoming requests)
    • has a body specifying its behaviour (local state and computation, service of requests, submission of requests)
    • manages the « wait by necessity » of responses (futures)
method calls informal diagram
Method Calls : informal diagram

Current object i

Remote object j

!Req_m(args)

  • method call

!Req_m(args)

?Req_m(args)

  • request arriving in
  • the queue

?Req_m(args)

  • request served
  • (executed and removed)

!Serv_m(args)

!Serv_m(args)

!Rep_m(val)

  • response sent back

!Rep_m(val)

  • response received

?Rep_m(val)

?Rep_m(val)

parameterized networks

serve

serve

Aj

Ai

Qj

Qi

use

use

Req

Req

Pi

Pj

Parameterized Networks

Parameterized Synchronisation Networks

Active Object j

  • O= {Oi} a set of active object classes.
  • Dom(Oi) a set of instantiations of each class (by abstraction of creation parameters).

Active Object i

Queue pLTS

Req(args)

Behaviour pLTS

Rep(v)

networks of synchronised pltss
Networks of synchronised pLTSs
  • Parametrized Labelled transition systems,

pLTSs= LTSs with guarded parameterized transitions

  • 1 pNet per activity=pLTS body + pLTS queue + pLTS proxy
  • Labels= Requests/Responses

(method name + finite abstraction of parameters)

  • Construction by rules, based on the eXtended Method Call Graph.
extended method call graph

a

p

MCG=<id, V, C, T >

method namenodescall edgestransfer edges

eXtended Method Call Graph

It encodes both the usual control flow usual in MCG (resolution of class analysis

and of method calls), and the data low relative to interesting parameters.

nodes  {

ent(m, args), pp(lab), ret(val),

call(var, o.m, ags),

use(val), serve(mset, pred)

}

witho typed as remote or local

procedure
Procedure
  • Global Network: analyse the source code of the application, parameterized by some finite abstraction of parameters.
  • For each Active Object Class (with all required passive classes):
    • build the eXtended Method Call Graph, XMCG
    • compute the sequential pLTS, using rules
    • for each use node construct the proxy "Future" pLTS
    • generate the request queue pLTS
    • Combine the pLTSs (the body, the queue and the proxy).
  • Property: For a finite data abstraction  Termination guarantied
call rule
Call rule
  • If o is remote, we simply generate a send message !o.Q_m(this, f, args) encoding the method name, its status and its (abstracted) param. with future var.
  • else the message !o.Call_m(args) is sentto the method proccess and according to the return value is void or no the responseis awaited or no.
buffer network
Buffer Network

Buf.Body

get

put

Buf.Queue

electronic invoices in chile1
Electronic Invoices in Chile
  • 15 parameterized automata
  • 4 level of hierarchy
  • state explosion: grouping, hiding, reduction by bisimulation
  • 7 properties successful verified (after fixing the model)
conclusions
Conclusions
  • Outlined a graphical language
  • Developed instantiating tool
  • Generation of model from ProActive source code
  • Validated our approach into a realistic application
perspectives
Perspectives
  • Refine the language and formalise the abstractions
  • Parameterized verification and pre-order relation
  • Components and dynamic binding/creation
  • On-the-fly model checking and graphical editor (currently started)
thank you
Thank you

Tomás Barros

[email protected]

Rabea Boulifa

[email protected]

Vercors: http://www-sop.inria.fr/oasis/Vercors

ProActive: http://www-sop.inria.fr/oasis/ProActive

ad