Papers by Christian Percebois

A variety of system design and architecture description languages, such as SysML, UML or AADL, al... more A variety of system design and architecture description languages, such as SysML, UML or AADL, allows the decomposition of complex system designs into communicating timed components. In this paper we consider the contract-based specification of such components. A contract is a pair formed of an assumption, which is an abstraction of the component's environment, and a guarantee, which is an abstraction of the component's behavior given that the environment behaves according to the assumption. Thus, a contract concentrates on a specific aspect of the component's functionality and on a subset of its interface, which makes it relatively simpler to specify. Contracts may be used as an aid for hierarchical decomposition during design or for verification of properties of composites. This paper defines contracts for components formalized as a variant of timed input/output automata, introduces compositional results allowing to reason with contracts and shows how contracts can be used in a high-level modeling language (SysML) for specification and verification, based on an example extracted from a real-life system.
Asynchronous Backtrackable Communications in the SLOOP Object-Oriented Language
Birkhäuser Basel eBooks, 1994
In this paper, we present the resolution algorithm of an extension of the Prolog language to back... more In this paper, we present the resolution algorithm of an extension of the Prolog language to backtrackable communications. This algorithm is based on a dependency graph recording the connections between communication points. An example illustrates the use of backtrackable communications into the SLOOP object-oriented language.

Int. Arab J. Inf. Technol., 2018
Software engineering research was always focused around the efficiency of software development pr... more Software engineering research was always focused around the efficiency of software development processes. Recently, we noticed an increasing interest in model-driven approaches in this context. Models that were once merely descriptive, are nowadays playing a productive role in defining engineering processes and managing their lifecycles. However, there is a problem that has not been considered enough; it is about sustaining consistency between products and the implicated activities during the process lifecycle. This issue, identified in this paper as the synchronization problem, needs to be resolved in order to guarantee a flawless execution of a software process. In this paper, we present a SPEM-based solution named SynchroState that highlights the relationship between process activities and products. SynchroState's goal is to ensure synchronization between activities and products in order that if one of these two entities undergoes a change, the dependents entities should be n...
Reasoning about Global Graph Properties from Local Graph Transformation Rules (KMOTS 2019), Guilin, Chine, 01/07/19)
HAL (Le Centre pour la Communication Scientifique Directe), Jul 1, 2019

Impact Analysis of Process Change at Run-Time
In complex domains with features of collaboration and integration, changes taking place in one pr... more In complex domains with features of collaboration and integration, changes taking place in one process may have positive or negative impacts on other collaborative partners and processes. Therefore, supporting changes propagation as well as analysis the impact of changes are desirable functionalities of Business Process Management Systems (BPMSs) and have been investigated in many researches. This paper presents a method to analyze the impacts of process changes at run-time in order to help process practitioners deciding to adopt or not a change. We propose an approach based on Process Dependency Graph (PDG) to represent and monitor the dependencies among running process instances managed by a BPMS. When a change happens, we analyze the PDG graph to deduce the affected process elements and then assess the impact of change by using quantitative metrics extended from the workflow Quality of Service (QoS). Our approach thus provides a generic framework that can be adapted to a specific process domain and a BPMS. The work presented here was validated on some processes in Health-care and Software Development domains with the use of jBPM as a BPMS and Neo4j as a graph database to store and traverse the PDG.

Impact Analysis of Process Change at Run-Time
2015 IEEE 24th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2015
In complex domains with features of collaboration and integration, changes taking place in one pr... more In complex domains with features of collaboration and integration, changes taking place in one process may have positive or negative impacts on other collaborative partners and processes. Therefore, supporting changes propagation as well as analysis the impact of changes are desirable functionalities of Business Process Management Systems (BPMSs) and have been investigated in many researches. This paper presents a method to analyze the impacts of process changes at run-time in order to help process practitioners deciding to adopt or not a change. We propose an approach based on Process Dependency Graph (PDG) to represent and monitor the dependencies among running process instances managed by a BPMS. When a change happens, we analyze the PDG graph to deduce the affected process elements and then assess the impact of change by using quantitative metrics extended from the workflow Quality of Service (QoS). Our approach thus provides a generic framework that can be adapted to a specific process domain and a BPMS. The work presented here was validated on some processes in Health-care and Software Development domains with the use of jBPM as a BPMS and Neo4j as a graph database to store and traverse the PDG.
HAL (Le Centre pour la Communication Scientifique Directe), Oct 8, 2017
We aim at assisting developers to write, in a Hoare style, provably correct graph transformations... more We aim at assisting developers to write, in a Hoare style, provably correct graph transformations expressed in the ALCQ Description Logic. Given a postcondition and a transformation rule, we compute the weakest precondition for developers. However, the size and quality of this formula may be complex and hard to grasp. We seek to reduce the weakest precondition's complexness by a static analysis based on an alias calculus. The refined p recondition i s p resented t o t he d eveloper i n t erms of alternative formulae, each one specifying a potential matching of the source graph. The developer chooses then the formulae that correspond to his intention to obtain finally a correct-byconstruction Hoare triple.
Integration Testing based on Behavior-driven Development
International audienc
A Dynamic Type System for OCL
The OCL language is now well-accepted by the modeling community. To be compliant with the regular... more The OCL language is now well-accepted by the modeling community. To be compliant with the regularly updated standard, evaluators must ensure that OCL is a strongly typed language. Indeed, during the analysis of a rule, the evaluator must ensure a correct and a deterministic type of each sub-expression handled. We have chosen to provide a dynamic type system for our OCL evaluator. Moreover, formalizing the OCL type system has the advantage of helping to clarify the standard. This formalization uses the natural deduction logic to represent typing rules and was implemented throughout a type synthesizer in a platform named Neptune

Processus IDM et modélisation en UML et OCL des langages de programmation
Genie Logiciel, 2009
Apres avoir rappele les principes pour modeliser en UML et OCL la syntaxe et la semantique des la... more Apres avoir rappele les principes pour modeliser en UML et OCL la syntaxe et la semantique des langages de programmation, nous montrons comment il est possible d'exploiter les proprietes des langages et les technologies des traducteurs pour s'assurer de la qualite des modeles que les applications peuvent exiger d'eux ainsi que celles des composants IDM de transformation accompagnant les analystes/concepteurs lors des activites de generation de composants logiciels. Il ne s'agit pas, cependant, de se substituer aux traducteurs en refaisant au niveau de la modelisation, plus ou moins ponctuellement, tous les controles qu'ils sont charges d'effectuer lors de la prise en compte des composants logiciels. En fait, nous montrons comment les experts d'un domaine d'applications peuvent faconner le meta-modele des langages pour y integrer les proprietes statiques et dynamiques adaptees a leur domaine d'application, tout en restant coherent par rapport aux langages dans lesquels les composants logiciels devront etre deployes sur les plates-formes cibles. L'etude relate dans le present article est realisee dans le cadre du projet ANR DOMINO'2006 portant sur la verification de la coherence de modeles et sur les techniques d'encapsulation des transformations dans des composants IDM de confiance. Le projet s'appuie sur deux etudes de cas visant plus particulierement des applications industrielles concernant le controle et les commandes de systemes spatiaux et aeronautiques.
COALA: un r�seau d'acteurs pour une architecture multiprocesseur Prolog
Jfplc, 1985
Alternative Models for a Design Review Activity
V�rification de mod�les UML fond�e sur OCL
Inforsid, 2003
Les concepts du langage Prolog et les systèmes de simulation
Revue D Intelligence Artificielle, 1987

Instrumentation d'une méthodologie UML fondée sur OCL
Software Systems Engineering and Their Applications, 2004
Ce papier presente l'instrumentation d'une methodologie de developpement ayant comme supp... more Ce papier presente l'instrumentation d'une methodologie de developpement ayant comme support la notation UML, notation standardisee a objets ne definissant pas en soi une demarche. Un processus de developpement devrait etre conforme aux preconisations de la demarche consideree, exprimee initialement en langage naturel. Celle-ci peut etre specifiee formellement et mise en oeuvre, afin de valider la bonne utilisation du processus methodologique. Dans ce contexte, nous considerons qu'une demarche de developpement munie d'un ensemble de regles compose une methodologie. L'instrumentation consiste alors a expliciter le cycle de developpement en termes de phases, d'activites et de resultats attendus, a enumerer les regles de bonne formation des modeles en sortie de chaque activite, a traduire ces regles en langage OCL, partie integrante de la norme UML, et a valider la modelisation a l'aide d'un interprete OCL. Cette experience nous a permis d'affiner la demarche choisie tout en lui definissant une semantique operatoire.
R�solution parall�le de sous-buts ind�pendants dans le graphe de connexion de R. Kowalski
Jfplc, 1986
Implémentation logicielle et matérielle des ressources et des fonctions de manipulation de listes
Étude comparative de quelques Interprètes Répartis PROLOG
A large number of modeling activities can be automatic or computer assisted. This automation ensu... more A large number of modeling activities can be automatic or computer assisted. This automation ensures a more rapid and robust software development. However, engineers must ensure that the models have the properties required for the application. In order to tend towards this requirement, the DOMINO project (DOMaINs and methodological prOcess) proposes to use the socalled trustworthy Model-Driven Engineering (MDE) components and aims to provide a methodology for the validation and qualification of such components. Categories and Subject Descriptors

Vérification de modèles UML fondée sur OCL
Lingénierie dirigée par les modèles fournit un cadre méthodologique axé sur les modèles pour la ... more Lingénierie dirigée par les modèles fournit un cadre méthodologique axé sur les modèles pour la conception et la construction de logiciels. Elle propose des approches de modélisation, de métamodélisation, de transformation et de prise en compte des contraintes liées aux plates-formes spécifiques dexécution. Les modèles sintègrent dans des démarches de conception et offrent un support pour la génération de code, de tests et de documentations. Dans le cas où les applications doivent prendre en compte des exigences critiques, les activités de transformation et de génération peuvent intégrer des contrôles permettant de vérifier la conformité des modèles, par exemple vis-à-vis du métamodèle ou de valider des transformations. Les systèmes dinformation gèrent souvent dimportants volumes de données fortement typées, sémantiquement riches, hétérogènes, voire distantes, et ce, avec généralement des besoins daccès performants. Lingénierie dirigée par les modèles apporte des solutions po...
Uploads
Papers by Christian Percebois