Papers by Khaled Khalfaoui
Quantum information processing, Jan 31, 2024
2018 IEEE International Conference on Information Reuse and Integration (IRI), 2018
Unified modeling language (UML) is a standardized modeling language enabling to specify, construc... more Unified modeling language (UML) is a standardized modeling language enabling to specify, construct and document artifacts of a software system based on graphical notations. However, UML lacks a firm semantics which reduces the quality of system models produced and leads to difficulties in automatic analysis and verification. In this paper, we propose an automatic translation from UML 2.0 Interaction Overview Diagrams (IOD) into Maude rewriting logic Language. Maude is used as a formal notation for specifying models and their firm semantics make models analysis and simulation easier. The approach is based on Graph Transformation and the Meta-Modeling tool AToM3 is used. The approach is illustrated through an example.
Lecture notes in networks and systems, Oct 13, 2022
Quantum Information Processing
Quantum Information Processing
2018 IEEE International Conference on Information Reuse and Integration (IRI), 2018
Unified modeling language (UML) is a standardized modeling language enabling to specify, construc... more Unified modeling language (UML) is a standardized modeling language enabling to specify, construct and document artifacts of a software system based on graphical notations. However, UML lacks a firm semantics which reduces the quality of system models produced and leads to difficulties in automatic analysis and verification. In this paper, we propose an automatic translation from UML 2.0 Interaction Overview Diagrams (IOD) into Maude rewriting logic Language. Maude is used as a formal notation for specifying models and their firm semantics make models analysis and simulation easier. The approach is based on Graph Transformation and the Meta-Modeling tool AToM3 is used. The approach is illustrated through an example.
2018 Fifth International Symposium on Innovation in Information and Communication Technology (ISIICT), 2018
UML Interaction Overview Diagrams (IODs) are newly introduced in the second generation of UML to ... more UML Interaction Overview Diagrams (IODs) are newly introduced in the second generation of UML to define interactions through a variant of activity diagrams in a way that promotes overview of the control flow. However, IODs lack a firm semantics which decrease the quality of system models produced and lead to difficulties in automatic analysis and verification. In this paper, we propose an automatic translation of UML 2.0 Interaction Overview Diagrams (IODs) into rewriting logic Maude Language. Maude is used as a formal notation for specifying models and their firm semantics make models analysis and simulation easier. The approach is based on Graph Transformation and the Meta-Modeling tool AToM3 is used. The approach is illustrated through an example.
Quantum Information Processing, 2021

International Journal of Computer Aided Engineering and Technology, 2020
Activity diagrams are UML behaviour diagrams which describe global dynamic behaviours of systems ... more Activity diagrams are UML behaviour diagrams which describe global dynamic behaviours of systems in a user-friendly manner. Nevertheless, UML notations lack firm semantics which make them unsuitable for formal analysis. Formal methods are suitable techniques for systems analysis. Rewriting logic and its language Maude provides a powerful formal method with flexible and expressive semantics for the specification and the analysis of systems behaviour. However, the learning cost of these methods is very high. The aim of this paper is to integrate UML with formal notation in order to make the UML semantics more precise which allow rigorous analysis of its models. In this paper, we propose a graph transformation-based approach to generate automatically Maude specifications from UML activity diagrams. The proposed approach is automated using the AToM3 tool and it is illustrated through an example.

2015 IEEE/ACS 12th International Conference of Computer Systems and Applications (AICCSA), 2015
In order to automate Business Processes Modeling, the last research works in workflow technology ... more In order to automate Business Processes Modeling, the last research works in workflow technology have resulted in the identification of a number of models (workflow patterns) that describe the behavior of Business Processes. Like any new trend, the Business Process approach raises many expectations and many positions. BPMN (Business Process Modeling Notation) has been used to describe graphically such patterns. However, BPMN notation lacks verification tools which allow anomalies and errors detection such as deadlock and multiple repetition situations. On the other hand, formal methods, such as Pi-Calculus, have powerful tools for verifying such situations. In this paper, we propose an automatic approach to transform the basic workflow patterns into their equivalent Pi-Calculus code for the analysis purposes. To achieve this goal, we use the Model-Driven Engineering (MDE) approach which is mainly based on Meta-modeling and Model Transformations. The graph transformation tool AToM3 is used. Our approach is illustrated through an example.
International journal of innovative computing, information & control: IJICIC
2009 Fourth South-East European Workshop on Formal Methods, 2009
Page 1. From UML Statecharts and Collaboration Diagrams to Coloured Petri Nets Models: A Graph Tr... more Page 1. From UML Statecharts and Collaboration Diagrams to Coloured Petri Nets Models: A Graph Transformation based Approach for modelling and analysis of business processes in virtual enterprises Raida ElMansouri1 ...

The 7th International Conference on Information Technology, 2015
The use of UML Activity Diagrams for modeling global dynamic behaviors of systems is very widespr... more The use of UML Activity Diagrams for modeling global dynamic behaviors of systems is very widespread. UML diagrams support developers by means of visual conceptual illustrations. However, the lack of firm semantics for the UML modeling notations makes the detection of behavioral inconsistencies difficult in the initial phases of development. The use of formal methods makes such error detection possible but the learning cost is high. Integrating UML with formal notation is a promising approach that makes UML more precise and allows rigorous analysis. In this paper, we present an approach that integrates UML Activity Diagrams with Rewriting Logic language Maude in order to benefit from the strengths of both approaches. The result is an automated approach and a tool environment that transforms global dynamic behaviors of systems expressed using UML models into their equivalent Maude specifications for analysis purposes. The approach is based on Graph Transformation and the Meta-Modeling tool AToM 3 is used. The approach is illustrated through an example.

A Software Product Line is a set of software products that share a number of core properties but ... more A Software Product Line is a set of software products that share a number of core properties but also differ in others. The variants of a Software Product Line are defined and implemented in terms of features, which are subsequently combined in specific ways to obtain the final software products. In this context, formal modelling is critical for managing the inherent complexity of systems with a high degree of variability. Algebraic Petri Nets are a powerful formalism to model complex systems. It combines the expression power of Petri nets and abstract data types. In this paper, we propose an automatic approach to map Software Product Line models whose products behaviours are modeled with a featured transition system into an equivalent Algebraic Petri Nets. The translation process is based on graph transformations. An illustrative example is presented. By this, we obtain a formal specification allowing several analysis and verification activities.
2009 IEEE Symposium on Computers and Communications, 2009
ABSTRACT

International Journal of Software Engineering & Applications, 2013
A Software Product Line is a set of software products that share a number of core properties but ... more A Software Product Line is a set of software products that share a number of core properties but also differ in others. Differences and commonalities between products are typically described in terms of features. A software product line is usually modeled with a feature diagram, describing the set of features and specifying the constraints and relationships between these features. Each product is defined as a set of features. In this area of research, a key challenge is to ensure correctness and safety of these products. There is an increasing need for automatic tools that can support feature diagram analysis, particularly with a large number of features that modern software systems may have. In this paper, we propose using model transformations an automatic approach to validate products according to dependencies defined in the feature diagram. We first introduce the necessary meta-models. Then, we present the used graph grammars to perform automatically this task using the AToM3 tool. Finally, we show the feasibility of our proposal by means of running examples.

Studies in Computational Intelligence, 2013
A Software Product Line is a set of software products that share a number of core properties but ... more A Software Product Line is a set of software products that share a number of core properties but also differ in others. Differences and commonalities between products are typically described in terms of features. A software product line is usually modeled with a feature diagram, describing the set of features and specifying the constraints and relationships between these features. Each product is defined as a set of features. In this area of research, a key challenge is to ensure correctness and safety of these products. There is an increasing need for automatic tools that can support feature diagram analysis, particularly with a large number of features that modern software systems may have. In this paper, we propose using model transformations an automatic framework to generate all valid products according to the feature diagram. We first introduce the basic idea behind our approach. Then, we present the used graph grammar to perform automatically this task using the AToM3 tool. Finally, we show the feasibility of our proposal by means of running example.

Journal of Software, 2012
A Software Product Line is a set of software products that share a number of core properties but ... more A Software Product Line is a set of software products that share a number of core properties but also differ in others. Differences and commonalities between products are typically described in terms of features. A Feature Diagram is a hierarchically structured model that defines the features and their dependencies, while a Featured Transition System is used concisely to model behaviour of each product. In this context, formal modeling and verification are critical for managing the inherent complexity of systems with a high degree of variability. This work presents a formal specification of Software Product Line models based on rewriting logic. We propose an automatic framework for translating featured transition system and feature diagram into an equivalent Maude specification. It is based on meta-modelling and graph transformation. The power of this translation resides in the fact that the proposed formalization preserves source models semantics. An illustrative example is presented. The approach allows various verification and analysis activities. The obtained results are significant.

L’ingenierie des lignes de produits logiciels est une discipline recente en genie logiciel. C’est... more L’ingenierie des lignes de produits logiciels est une discipline recente en genie logiciel. C’est une adaptation du principe des chaines de production au developpement d’applications informatiques. Elle vise principalement a rationaliser le processus de developpement des systemes fortement similaires par une reutilisation logicielle strategique et planifiee au prealable. L’apport majeur de ce paradigme est l’introduction d’une architecture de reference permettant la gestion de la variabilite. Elle fournit un cadre de developpement des composants reutilisables et garantit leur incorporation appropriee. Pour chaque produit, elle est utilisee comme guide d’assemblage et de personnalisation des artefacts necessaires selon ses besoins specifiques. Cette discipline a connu un grand succes en terme de productivite, mais des efforts consequents lies a la gestion de la variabilite doivent etre envisages. Dans le cadre de cette these, nous nous interessons particulierement a l’analyse automat...
Uploads
Papers by Khaled Khalfaoui