S‰minaire VASY 2010
Corren‡on-en-Vercors (Isˆre)

 

  


Programme scientifique


Dimanche 20 Juin 2010

16h00

Arriv‰e

 

DŽner

Lundi 21 Juin 2010

9h00

Accueil et caf‰

10h00 – 11h00

Philippe Dhaussy et Amine Raji (ENSIETA)

Contribution € la mise en œuvre de techniques de validation formelle de logiciels embarqu‰s

 

Cet expos‰, en deux parties, rend compte d’un travail s'inscrivant dans le cadre du d‰veloppement d'applications embarqu‰es pour lesquelles des phases de v‰rification formelle de modˆles logiciels sont n‰cessaires. Un d‰fi bien connu dans le domaine des m‰thodes formelles est d'am‰liorer leur int‰gration dans les processus de d‰veloppement industriel. Dans le contexte des systˆmes embarqu‰s, l’utilisation des techniques de v‰rification formelle de logiciels n‰cessitent tout d'abord de mod‰liser le systˆme € valider, puis de formaliser les propri‰t‰s devant Štre satisfaites sur le modˆle et enfin de d‰crire le comportement de l'environnement du modˆle. Ce dernier point que nous nommons ½ contexte de preuve © est souvent n‰glig‰. Il peut Štre, cependant, d'une grande importance afin de r‰duire la complexit‰ de la preuve. Dans notre contribution, nous cherchons € proposer € l’utilisateur une aide pour la formalisation de ce contexte en lien avec la formalisation des propri‰t‰s. Cette proposition vise € diminuer l'‰cart existant entre des modˆles de sp‰cification et des modˆles utilis‰s par des processus de model-checking en tirant parti de l'Ing‰nierie Dirig‰e par les Modˆles.

 

Dans une premiˆre partie,  nous pr‰sentons un langage (DSL) que nous exp‰rimentons, nomm‰ CDL (Context Description Language), pour la description des acteurs de l’environnement, bas‰e sur des diagrammes d’activit‰s et de s‰quence et des patrons de d‰finition des propri‰t‰s € v‰rifier. Les modˆles d‰crits dans ce langage sont pris en charge par un outil prototype OBP (Observer-Based Prover) qui peut Štre connect‰ € des v‰rificateurs de type model-checker. Ces concepts ont ‰t‰ exp‰riment‰s sur plusieurs applications industrielles provenant de diff‰rents partenaires (Thales, Airbus, Cnes). Dans cet expos‰, nous rendons compte d’un retour d’exp‰rience et tirons les enseignements sur l’apport de cette approche, les difficult‰s d’appropriation du langage par les ing‰nieurs et limites rencontr‰es et donnons des perspectives de recherche et d‰veloppement.

 

Dans une deuxiˆme partie, et compte tenu du bilan tir‰ de nos exp‰rimentations industrielles, nous souhaitons explorer la possibilit‰ d’offrir un niveau de mod‰lisation des contextes plus proche des modˆles m‰tier manipul‰s dans les d‰veloppements industriels. L’id‰e est de consid‰rer CDL maintenant comme un format interm‰diaire pouvant Štre g‰n‰r‰ par des transformations de modˆle € partir des modˆles utilisateurs. La principale motivation derriˆre ce choix m‰thodologique consiste € offrir aux utilisateurs un mode de description des modˆles qu’ils ont l’habitude d’exercer. Toutefois, en regard de la nature h‰t‰rogˆne des modˆles utilis‰s par les utilisateurs dans le cadre de la mod‰lisation des systˆmes embarqu‰s, la g‰n‰ration automatique et complˆte de modˆles CDL n’est pas envisageable. En cons‰quence, nous proposons une approche semi-automatique bas‰e sur une g‰n‰ration en deux temps : L’utilisation d’un formalisme m‰tier pour d‰crire les modˆles de contextes et d’exigences € partir des modˆles d’analyse et de conception par le biais d’une adaptation manuelle, puis la g‰n‰ration automatique de modˆles CDL par des transformations de modˆles € partir des modˆles construits.

Nous proposons que cette formalisation des contextes soit r‰alis‰e au sein de composants UCM (User Context Model) € partir d’une interpr‰tation d’exigences textuelles et d’une description de l’environnement du systˆme fourni par l’utilisateur. Des rˆgles de transformation sont € l’‰tude  bas‰es sur les s‰mantiques formelles UCM et CDL.

11h00 – 12h00

Hubert Garavel

An Overview of CADP 2009

 

This lecture will present the latest release of CADP (Construction and Analysis of Distributed Processes), a toolbox for formal specification, verification, and performance evaluation of concurrent systems. A new stable version of CADP is scheduled to be released in the summer 2010. The major features of this new version will be presented, with a special focus on the numerous enhancements added between 2006 and 2010.

 

D‰jeuner

14h00 – 15h00

Vincent Powazny and Wendelin Serwe (joint work with David Champelovier, Xavier Clerc, Hubert Garavel, Yves Guerte, Fr‰d‰ric Lang, and Gideon Smeding)

LOTOS NT and its Translation to LOTOS

 

In this talk, we present the LOTOS NT language (version 5.0), a simplified variant of the international standard E-LOTOS. In a nutshell, LOTOS NT provides the same expressiveness as the international standard LOTOS, but with more regular and user-friendly notations borrowed from imperative and functional programming languages. In particular, the data type and process parts of LOTOS NT share many similar constructs, leading to a more uniform and easier-to-learn language than LOTOS. We present first the syntax and static semantics of LOTOS NT. Then, we present its associated tools: Lpp (a LOTOS NT preprocessor), Lnt2Lotos (a LOTOS NT to LOTOS translator) and Lnt.Open (a interface with the Open/C†sar framework enabling LOTOS NT specifications to be analyzed using the CADP toolbox).

15h00 – 15h30

Damien Thivolle (joint work with Hubert Garavel)

Verification of GALS Systems by Combining Synchronous Languages and Process Calculi

 

Synchronous languages have been successful in designing safety-critical systems, e.g., in the automotive and aeronautic industries. However, recent embedded systems include an increasing amount of asynchrony that depart from the synchronous-design assumptions used so far. Many of these systems can be modelled using the GALS (Globally Asynchronous Locally Synchronous) paradigm, i.e., a collection of sequential, deterministic components that execute concurrently and communicate using slow or unreliable channels.

We present a general approach for modelling and verifying GALS systems using a combination of synchronous languages (for the sequential components) and process calculi (for communication channels and asynchronous concurrency). This approach is illustrated with an industrial case-study provided by Airbus: a TFTP/UDP communication protocol between a plane and the ground, which is modelled using the Eclipse/TOPCASED workbench for model-driven engineering and then analysed formally using the CADP verification and performance evaluation toolbox.

15h30

Pause caf‰

16h – 16h30

Fr‰d‰ric Lang

Le langage interm‰diaire FIACRE

 

FIACRE (Format Interm‰diaire pour les Architectures de Composants R‰partis Embarqu‰s) est un langage con‡u dans le contexte des projets OpenEmbedd et Topcased, en collaboration avec les laboratoires LAAS-CNRS et IRIT. D‰riv‰ des modˆles NTIF et V-COTRE, Fiacre est destin‰ € servir de formalisme pivot entre les langages de mod‰lisation (tels que AADL) et les outils de v‰rification (tels que CADP et TINA). Nous pr‰sentons le langage FIACRE, ainsi que l'outil FLAC qui traduit automatiquement des modˆles FIACRE en modˆles LOTOS.

16h30 – 17h00

Fr‰d‰ric Lang

D‰monstrations : ‰tudes de cas a‰ronautique

 

Nous pr‰sentons deux cas du domaine de l'a‰ronautique (collaboration avec Airbus) qui ont ‰t‰ v‰rifi‰s avec CADP. Le premier est un protocole de transfert de fichiers (TFTP) utilis‰ dans les communications entre l'avion et le sol, d‰crit dans le langage SAM d'Airbus et traduit de maniˆre syst‰matique vers le langage LOTOS NT. Le second est une partie d'un systˆme de contrŸle de traffic a‰rien (ATC), d‰crit en Fiacre et traduit automatiquement vers le langage LOTOS en utilisant le traducteur FLAC.

session confidentielle
17h00 – 18h00

Simon Bouland

Traduction de SDL vers LOTOS NT et application € l’‰tude de cas AFN

 

To be provided.

 

DŽner

Mardi 22 Juin 2010

9h00  – 9h30

Valentin Cristea (University Polytehnica of Bucharest)

Service oriented dependable distributed systems

 

In this talk, we present the current status of our research project on dependable systems, which includes the formal verification of some components and of service interaction protocols. The goal is to get feedback on this work and on possible directions to continue the verification.

9h30 – 10h15

Damien Thivolle (joint work with Hubert Garavel)

Verification of BPEL 2.0 web services with CADP

 

Much has been published in the scientific literature about the automated verification of Web services, which is often done by taking Web services descriptions written in BPEL (Business Processes Execution Language) and translating them into the input formalism of some model checkers. However, most publications focus on the behavioural aspects of BPEL, so that little information can be found on how to handle the data types and expressions present in Web services descriptions. This important issue is often neglected, as some approaches cannot handle data aspects and abstract them away, and other approaches claim to handle data but provide no detail.

We address this issue and propose a translation from BPEL to LOTOS NT, the most recent input formalism for the CADP model checking toolbox. Considering the two standards upon which BPEL is built (namely, XML Schema for data types, and XPath for expressions), we focus on identifying the XML Schema and XPath subsets of interest to Web services and defining an efficient translation of these subsets into LOTOS NT.

10h15 – 10h30

R‰mi H‰rilier

Demonstration of the Contributor tool

 

Contributor allows a user to help the development of CADP by providing examples  to enrich the regression test data-bases.

10h30

Pause caf‰

11h00 – 12h00

Gwen Sala’n (joint work with Olivier Gruber, Fabienne)

Specifying and Verifying the SYNERGY Apply Protocol with LOTOS-NT/CADP

 

Synergy is a dynamic reflexive system which is able to self-reconfigure. In this talk, we focus on a part of this system, the apply protocol, which aims at reconfiguring an architecture while supporting failures. We specified this protocol in LOTOS-NT, and verified it using CADP verification tools. The experience was successful because we have detected several issues which allowed to revise and correct several parts of the protocol.

12h00 – 12h30

Alain Kaufmann

Generating Test Data Using DGL

 

The Data Generation Language (DGL) offers a simple and efficient way to create data (test) generators. Using a context-free grammar you will be able to generate test patterns randomly, or exhaustively. This talk presents the basic concepts of DGL and shows its usefulness through a few examples.

 

D‰jeuner

 

Aprˆs-midi libre

 

DŽner

Mercredi 23 Juin 2010


9h00 – 9h45

Holger Hermanns (Universit„t des Saarlandes and INRIA)

When Interactive Markov Chains meet Probabilistic Automata

(joint work with Christian Eisentraut and Lijun Zhang)

 

We develop a compositional behavioral model that integrates a variation of probabilistic automata into a conservative extension of interactive Markov chains. The model is rich enough to embody the semantics of generalized stochastic Petri nets.  We define strong and weak bisimulations and discuss their compositionality properties. Weak bisimulation is partly oblivious to the probabilistic branching structure, in order to reflect some natural equalities in this spectrum of models. As a result, the standard way to associate a stochastic process to a generalized stochastic Petri net can be proven sound with respect to weak bisimulation.

9h45 – 10h45

Radu Mateescu and Wendelin Serwe

A Study of Shared-Memory Mutual Exclusion Protocols using CADP

 

Mutual exclusion protocols are an essential building block of concurrent systems: indeed, such a protocol is required whenever a shared resource has to be protected against concurrent non-atomic accesses. Hence, many variants of mutual exclusion protocols exist in the shared-memory setting, such as Peterson's or Dekker's well-known protocols. Although the functional correctness of these protocols has been studied extensively, relatively little attention has been paid to their non-functional aspects, such as their performance in the long run. In this paper, we report on experiments with the application of the Interactive Markov Chains approach to performance evaluation of mutual exclusion protocols. Steady-state analysis provides an additional criterion for comparing protocols, which complements the verification of their functional properties. We also carefully re-examined the functional properties, whose accurate formulation as temporal logic formulas in the action-based setting turns out to be quite involved.

10h45

Pause caf‰


11
h15 – 12h15

Arnd Hartmanns (Universit„t des Saarlandes)

Modelling and Model-Checking with Modest

 

Modest is a compositional modelling formalism for stochastic timed systems. The language allows the specification of real-time phenomena, probabilistic decisions (both discrete and continuous) as well as a complex and dynamic process structure. Its semantic model is a superset of well-known formalisms such as Timed Automata, Markov Decision Processes and Probabilistic Timed Automata (PTA). I will introduce the Modest language syntax and semantics, present an approach to model-checking the subset of Modest corresponding to PTA, and, with the help of one case study, give a short demonstration of our tools that support the construction and analysis of Modest models..

 

D‰jeuner

14h30 – 15h00

Iker Bellicot and Yann Genevois (joint work with Jerome Fereyre, Hubert Garavel, R‰mi H‰rilier, Christophe Joubert, Radu Mateescu, and Wendelin Serwe)

Local resolution of Boolean Equation systems and its applications to the analysis of state spaces

 

To be provided.


15h00 – 15h30

Jonathan Bogdoll (Universit„t des Saarlandes)

Discrete Event Simulation for Modest in Practice

 

Modest is a compositional modeling formalism for stochastic timed systems. Model-checking solutions are available for Modest, however, models are sometimes inaccessible to model-checking due to their size. This gap is bridged by simulation. Practical studies with our tool have shown that some models of interest are nondeterministic, which makes them unsuitable for simulation. Typical ways of removing nondeterminism are unsound, since model output and behavior may be affected in unexpected ways. I will introduce discrete event simulation and present a sound treatment of nondeterminism in simulation.

15h30

Pause caf‰


16
h00 – 16h45

Pepijn Crouzen (Universit„t des Saarlandes)

Aggregation Ordering for Massively Compositional Models

(joint work with Holger Hermanns)

 

Compositional modeling is a powerful way of expressing the behavior of a complex system through the interaction of its components. Analysis of compositional models is difficult because of the state space explosion. One solution is compositional aggregation where composition and minimization steps are intertwined. This

approach has proven particularly useful in the area of compositional performance modeling. However, one open question remains: in which order should the models be composed, a question that is especially important for massively compositional models derived automatically from higher level descriptions.  Finding the optimal composition ordering is generally infeasible, so heuristics are necessary to find good orderings. In this paper we present a compositional aggregation algorithm which harvests the heuristics suggested by Tai and Koppol. Our algorithm takes into account the interaction between components, the size of the component models and uses early elimination of bad composition orders to dramatically decrease computation time. We show the effectiveness of our algorithm

by applying it to randomly generated models as well as case studies from different application areas.

16h45 – 17h30

Fr‰d‰ric Lang

Minimisation de graphes efficace avec l'outil Bcg_Min 2.0

 

Un aspect critique de la v‰rification bas‰e sur l'‰num‰ration des ‰tats est la maŽtrise de la taille du graphe des comportements. Les r‰ductions par bisimulation  ont un moyen d'y parvenir. Depuis 2000, CADP inclut l'outil Bcg_Min qui impl‰mente les r‰ductions pour les bisimulations fortes et de branchement, ainsi que leurs  variantes stochastiques et probabilistes.  Dans cet expos‰, nous pr‰sentons une nouvelle version 2.0 de Bcg_Min, qui impl‰mente un algorithme bas‰ sur la notion de "signature" des ‰tats et am‰liore notablement les performances de la pr‰c‰dente version.

17h30

ClŸture