Protocol engineering using UML

Despite the irresistible growth of interest in formal methods and related validation and verification tools, the development of distributed systems seldom relies on them. We claim this is mainly due to formal methods lack of support for modern software life-cycles. The construction and maintenance of open distributed systems are mostly based on object-oriented software development. We investigate how frameworks may help to embed formal validation techniques in an object-oriented process based on the UML notation. We show how standard model-checking techniques can be used right now on UML models by exploiting informations available in class and deployment diagrams, and using an operational semantics of Statecharts. We also present how the behavioural views of UML, including sequence or collaboration diagrams could be consistently managed using a common semantics model called BDL (standing for “behavioural description language”) with which the various behavioural views of UML can be translated into one another, BDL is a reactive synchronous language with a true concurrency semantics. Basic object interactions are represented in BDL by partially ordered sets of events and the behaviour of a complete (or incomplete) system is expressed by composition of basic interactions. BDL offers new perspectives for a flexible verification of systems by modeling them as globally asynchronous networks of locally synchronous software components.RésuméEn dépit de l’intérêt croissant pour les méthodes formelles et leurs outils de validation et vérification asso ciés, le développement des systèmes répartis les ignore le plus souvent. Cela est dû, d’après les auteurs, principalement à leur non-intégration dans les cycles modernes de développement logiciel. La construction et la maintenance des systèmes répartis ouverts sont pour la plupart fondés sur un développement. L’article étudie un cadre de conception UML (unified modeling language) pour équiper le processus de développement objet avec des outils de validation formelle et montre comment des techniques de validation classiques peuvent être utilisées dès maintenant sur des modèles UML en exploitant des informations contenues dans les diagrammes de classes et de déploiement, et en utilisant une sémantique opérationnelle des diagrammes d’état. Il présente aussi comment les vues comportementales de UML, incluant les diagrammes de séquence et de collaboration, pourraient être traitées de façon cohérente en utilisant un modèle sémantique commun appelé BDL permettant les traductions des différentes vues entre elles. BDL est un langage réactif synchrone fondé sur une sémantique de vrai parallélisme. Les interactions entre objets de base sont représentées en BDL par des ensembles partiellement ordonnés. Le comportement global est obtenu par composition des interactions de base. BDL ouvre de nouvelles perspectives de validation de systèmes formés de composants locaux synchrones, mis en interaction asynchrone.

[1]  Alain Kerbrat,et al.  CADP - A Protocol Validation and Verification Toolbox , 1996, CAV.

[2]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[3]  Albert Benveniste,et al.  programmi language and its , 2001 .

[4]  Carlos Rodriguez,et al.  What are the Limits of Model Checking Methods for the Verification of Real Life Protocols? , 1989, Automatic Verification Methods for Finite State Systems.

[5]  Thierry Jéron,et al.  An Experiment in Automatic Generation of Test Suites for Protocols with Verification Technology , 1997, Sci. Comput. Program..

[6]  Claude Jard,et al.  Development of Véda, a Prototyping Tool for Distributed Algorithms , 1988, IEEE Trans. Software Eng..

[7]  Benoît Caillaud,et al.  BDL, a language of distributed reactive objects , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[8]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[9]  Joseph Sifakis,et al.  A Toolbox For The Verification Of LOTOS Programs , 1992, International Conference on Software Engineering.

[10]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[11]  Jean-Marc Jézéquel Experience in Validating Protocol Integration Using Estelle , 1990, FORTE.

[12]  Thierry Jéron,et al.  On-the-fly verification of finite transition systems , 1992, Formal Methods Syst. Des..

[13]  Benoît Caillaud,et al.  From Synchrony to Asynchrony , 1999, CONCUR.

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .