Modélisation des systèmes temps-réel répartis embarqués pour la génération automatique d'applications formellement vérifiées

La construction d'une application repartie fait en general intervenir une couche logicielle particuliere, appelee intergiciel, qui prend en charge la transmission des donnees entre les differents noeuds de l'application. La conception d'applications pour les systemes embarques temps-reel implique la prise en compte de certaines contraintes specifiques a ce domaine, que ce soit en terme fiabilite ou de dimensions a la fois temporelles et spatiales. Ces contraintes doivent notamment etre respectees par l'intergiciel. L'objet de ces travaux est la description des applications temps-reel reparties embarquees en vue de configurer automatiquement l'intergiciel adequat. L'etude se focalise sur la definition d'un processus de conception permettant d'integrer les phases de description, de verification et de generation de l'application complete. Pour cela, nous nous reposons sur le langage de description d'architecture AADL. Nous l'exploitons comme passerelle entre la phase de description de l'architecture applicative, les formalismes de verification, la generation du code executable et la configuration de l'executif reparti. Nous montrons comment specifier un executif pour AADL afin de produire automatiquement le code applicatif et l'intergiciel pour une application repartie. Nous montrons egalement comment exploiter ces specifications pour produire un reseau de Petri afin d'etudier l'integrite des flux d'execution dans l'architecture. Afin de valider notre processus de conception, nous avons concu et developpe Ocarina, un compilateur pour AADL qui utilise l'intergiciel schizophrene PolyORB comme executif.

[1]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[2]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[3]  J. W. Krueger,et al.  Fitting the pieces together: system/software analysis and code integration using METAH , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

[4]  Christophe Charle,et al.  Liste des tableaux , 1988 .

[5]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[6]  Douglas C. Schmidt,et al.  Integrated Adaptive QoS Management in Middleware: An Empirical Case Study , 2005 .

[7]  Laurent Pautet,et al.  PolyORB: A Schizophrenic Middleware to Build Versatile Reliable Distributed Applications , 2004, Ada-Europe.

[8]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[9]  Vinny Cahill,et al.  Mobile RMI: supporting remote access to Java server objects on mobile hosts , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[10]  Aniruddha S. Gokhale,et al.  CCMPerf: A Benchmarking Tool for CORBA Component Model Implementations , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[11]  J. Javier Gutiérrez,et al.  The Chance for Ada to Support Distribution and Real-Time in Embedded Systems , 2004, Ada-Europe.

[12]  Anne-Marie Déplanche,et al.  Timing fault detection for safety-critical real-time embedded systems , 2002, EW 10.

[13]  Raj Srinivasan,et al.  RPC: Remote Procedure Call Protocol Specification Version 2 , 1995, RFC.

[14]  Dimitra Giannakopoulou,et al.  Behaviour Analysis of Software Architectures , 1999, WICSA.

[15]  Douglas C. Schmidt,et al.  Achieving end-to-end predictability in the TAO Real-time CORBA ORB , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[16]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[17]  F. Singhoff,et al.  Scheduling and memory requirements analysis with AADL , 2005, SIGAda Conference.

[18]  Steve Vestal,et al.  Improving Predictability in Embedded Real-Time Systems , 2000 .

[19]  S. Vestal,et al.  MetaH support for real-time multi-processor avionics , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[20]  S. Haddad,et al.  Méthodes formelles pour les systèmes répartis et coopératifs , 2006 .

[21]  Bertil Folliot,et al.  Towards Active Applications: the Virtual Virtual Machine Approach.∗ , 2003 .

[22]  Jean-Luc Vialla Lexique des règles typographiques : en usage à l'Imprimerie nationale , 1997 .

[23]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[24]  Antonio Vallecillo,et al.  New Issues in Object Interoperability , 2000, ECOOP Workshops.

[25]  Richard L. Graham,et al.  Open MPI: A Flexible High Performance MPI , 2005, PPAM.

[26]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[27]  Steve Vinoski Distributed Object Computing With CORBA , 1993 .

[28]  Thierry Coupaye,et al.  Recursive and Dynamic Software Composition with Sharing , 2002 .

[29]  Lionel Seinturier,et al.  Fractal, Kilim, JAC : une expérience comparative , 2004 .

[30]  William Gropp,et al.  Users guide for mpich, a portable implementation of MPI , 1996 .

[31]  Shing-Chi Cheung,et al.  Behaviour Analysis of Distributed Systems Using the Tracta Approach , 2004, Automated Software Engineering.

[32]  Thomas Quinot,et al.  Conception et réalisation d'un intergiciel schizophrène pour la mise en oeuvre de systèmes répartis interopérables , 2003 .

[33]  P. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[34]  Laurent Pautet,et al.  On the Formal Verification of Middleware Behavioral Properties , 2005, Electron. Notes Theor. Comput. Sci..

[35]  David Garlan,et al.  Reconciling the needs of architectural description with object-modeling notations , 2000, Sci. Comput. Program..

[36]  Bernhard Rumpe,et al.  UML+ROOM as a standard ADL? , 1999, Proceedings Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'99) (Cat. No.PR00434).

[37]  Michael Philippsen,et al.  A more efficient RMI for Java , 1999, JAVA '99.

[38]  Nathalie Gaertner,et al.  Mod? lisation objet avec uml , 1997 .

[39]  John Bloomer,et al.  Power Programming with RPC , 1992 .

[40]  Aniruddha S. Gokhale,et al.  CoSMIC: An MDA Generative Tool for Distributed Real-time and Embedded Applications , 2003, Middleware Workshops.

[41]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[42]  Petr Hnetynka A model-driven environment for component deployment , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[43]  Jozef Hooman,et al.  Correct Development of Embedded Systems , 2004 .

[44]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[45]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[46]  Laurent Pautet,et al.  Rapid development methodology for customized middleware , 2005, 16th IEEE International Workshop on Rapid System Prototyping (RSP'05).

[47]  M. Pollatschek,et al.  Repository , 2019, Computer.

[48]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[49]  Laurent Pautet,et al.  Using the AADL to Describe Distributed Applications from Middleware to Software Components , 2005, Ada-Europe.

[50]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[51]  Laurent Pautet,et al.  A Factory to Design and Build Tailorable and Verifiable Middleware , 2005, Monterey Workshop.

[52]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[53]  Laurent Pautet,et al.  An improved IDL compiler for optimizing CORBA applications , 2006, SIGAda.

[54]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[55]  Françoise Simonot-Lion,et al.  AN ARCHITECTURE DESCRIPTION LANGUAGE FOR IN-VEHICLE EMBEDDED SYSTEM DEVELOPMENT , 2002 .

[56]  P. Dissaux HOOD and AADL , 2003 .

[57]  Jerome Hugues Architecture et Services des Intergiciels Temps Réel , 2005 .

[58]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[59]  Fabrice Kordon,et al.  An Introduction to Rapid System Prototyping , 2002, IEEE Trans. Software Eng..

[60]  Fabrice Kordon,et al.  Using CPN-AMI to validate a safe channel protocol , 1999 .

[61]  Frédéric Gilliers,et al.  Modélisation et vérification de systèmes répartis :une approche intégrée avec LfP , 2003 .

[62]  Fabio Paulo Basso,et al.  Using the FOMDA approach to support object-oriented real-time systems development , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[63]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[64]  The SAE Architecture Analysis & Design Language ( AADL ) Standard , .

[65]  Mamoun Filali,et al.  Towards the verification of real-time systems in avionics: the Cotre approach , 2003, FMICS.

[66]  Formal Methods for Component Description , Coordination and Adaptation , 2004 .

[67]  Pierre Farail,et al.  TOPCASED : un environnement de développement open source pour les systèmes embarqués , 2005 .

[68]  Shi-Kuo Chang,et al.  Advances in Software Engineering and Knowledge Engineering , 1993, Series on Software Engineering and Knowledge Engineering.