overview of the oasis research proofs of safety properties of distributed java applications

18
OASIS Modocop in the OASIS project: Active Objects, Semantics, Internet and Security INRIA in Sophia-Antipolis http://www.inria.fr/oasis Overview of the OASIS research • Proofs of safety properties of distributed Java applications • Platform for static analysis and verification of distributed Java Eric Madelaine, 13- 02-2002

Upload: anastasia-owens

Post on 30-Dec-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Modocop in the OASIS project: Active Objects, Semantics, Internet and Security INRIA in Sophia-Antipolis http://www.inria.fr/oasis. Overview of the OASIS research Proofs of safety properties of distributed Java applications Platform for static analysis and verification of distributed Java. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Modocop in the OASIS project: Active Objects, Semantics, Internet and Security

INRIA in Sophia-Antipolishttp://www.inria.fr/oasis

• Overview of the OASIS research• Proofs of safety properties of distributed Java applications• Platform for static analysis and verification of distributed Java

Eric Madelaine, 13-02-2002

Page 2: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Oasis at a glance

concurrence /distribution

security

Semantics and proofs

Static analysis / Model Checking

Java/XML Environment

Formal Models

Implementation & optimizations

Library

Specif

icatio

ns

Environments

Objec

tsDistributed

Page 3: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Parallel, Distributed, Concurrent, Mobileprogramming

Sequential Multithreaded Distributed

• Transparent distribution, remote object creation• Method call -> asynchronous communication• Futures & wait-by-necessity• Mobility: Migration of active objects• XML descriptors for deployment

Sun Microsystems

Page 4: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

C3D: distributed-//-collaborative

Page 5: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Ongoing Work

• Secure and efficient meta-computing– Security at application level (appli. VPN)

– Group communication

• Formal definition of the ProActive model– ASP: object model a la Abadi-Cardelli

• Equivalence proofs between Sequential and Parallel programs

• Deterministic subset of the model

– Behavioural semantics, and relation with the object model

– Property verification via model-checking

Page 6: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

A component generator for domain-specific languages

object-oriented & XML-centric

Microsoft

W3C

• Openness: conform to W3C standards (DTD, Schemas)

• Reuse: an homogeneous approach (exportable GUI)

• Integration: component-based architecture

• Adaptability: visitor design patterns & AOP

• Environments for Java (& Javacard), Bytecode.

Page 7: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Page 8: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Modocop in the OASIS project:

• Overview of the OASIS research

• Proofs of safety properties of distributed Java applications

• Platform for static analysis and verification of distributed Java

Page 9: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Proofs of safety properties of concurrent/distributed Java applications• Context :

Multi-threaded Java JCSP (processes & channels a la CSP) ProActive (asynchronous messages, creation and migration of active objects) Specific frameworks: AAA, Voyager, Aglets, ...

• Criteria : High level primitives for distribution/communication, formal semantics Distributed implementation

ProActive

Page 10: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

ProActive: behavioural semantics

• Active objects = processes, parameterised, with dynamic creation.

• Distant method calls = asynchronous messages, stored in request queues.

• Object behaviour = each active object controls the activation of the requests in its queue.

• Return values = asynchronous messages, wait by necessity.

• Migration is transparent.

Page 11: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

ProActive : finite models

• Pragmatics : Model checkers deal with finite representations.

Hierarchical networks of finite transition systems (all analysis functions ought to be compositional).

Abstract and approximate finite structures (as in CADP or Bandera).

Finite representation of request queues.

Page 12: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

ProActive : academic example

(work done with Rabea Boulifa)

• Dining Philosophers :– Rewritten in ProActive, distributed style– Finite configuration– Proof of (absence of) deadlock– Proof of boundness of requests queues– Proof of liveness

Page 13: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

ProActive : academic example

(pictures)

Page 14: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Proactive : a bigger example(work with Tomas Barros)

• Electronic tax services in Chile– Specification, and reference implementation in

ProActive

– Finite instantiation : already too big for brute force reachability analysis

– Properties (of specification) :• deadlock analysis, partial specifications (scenarios)

– Properties (of ref. implementation) :• equivalence with the corresponding component in the

specification

Page 15: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Modocop in the OASIS project:

• Overview of the OASIS research

• Proofs of safety properties of distributed Java applications

• Platform for static analysis and verification of distributed Java

Page 16: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Platform for verification

• Static analysis, verification and model-checking of Java and ProActive applications (source or bytecode)

• Generic : tools reusable for other OO languages

• Modular : external tools connected through standard formats or APIs, various functions combined for an application

• Practical : source level diagnoses

Page 17: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Platform for verificationSchema

Page 18: Overview of the OASIS research  Proofs of safety properties of distributed Java applications

OASIS

Conclusion

Work in Modocop :

• Analysis platform for Java and ProActive (with Lande)

• Behavioural semantics (R. Boulifa)

• Connection with external verification tools and model-checker (E. Madelaine + stage DEA)

• Realistic case study