Papers by Abdelkrim Amirat

HAL (Le Centre pour la Communication Scientifique Directe), 2019
The world is moving towards a new generation of internet, the internet of things (IoT). This tech... more The world is moving towards a new generation of internet, the internet of things (IoT). This technological jump is improving the way we live by creating a bridge between the physical and the virtual world. Researchers are curious about the field from different perspectives especially managing of the complexity and dynamicity of these systems. The main problem being targeted in this chapter is that IoT systems are exposed to many structural and behavioral changes due to internal and external factors. This study is about the necessity of having a mechanism that enables IoT systems to perform without breaks or shutdowns regardless of context changes. The solution consists of a contextual dynamic reconfiguration process implemented by a reflexive multilayered architecture. This process is based on the autonomic computing loop. The authors also integrated evolution styles to make reusable the reconfigurations applied on the architecture of the system. Validation of the proposed approach was made on an e-health scenario, which was simulated using Cisco Packet Tracer before performing real development.

Informatica (lithuanian Academy of Sciences), 2014
Reconfiguration is widely used for evolving and adapting systems that cannot be shut down for upd... more Reconfiguration is widely used for evolving and adapting systems that cannot be shut down for update. However, in distributed systems, supporting reconfiguration is a challenging task since a reconfiguration consists of distributed reconfiguration actions that need to be coordinated and the application consistency must be preserved. To address this challenge, we propose a framework based on a reflexive three layer architecture model for the development of distributed dynamic and reliable component-based applications. The bottom layer of this model is the application layer. It contains the system's application-level functionality. The change management layer is the middle layer. It reacts to changes in state reported from the application layer. The uppermost layer is the self-adaptation layer that introduces the self-adaptation capabilities to the framework itself. It ensures the service continuity of the change management layer and manages the adaptation of this last to the changes which it carries out itself on the application layer. The framework is conceived especially for supporting the distributed reconfigurations. For that, it incorporates a negotiation and coordination mechanism for managing this type of reconfiguration. Moreover, it incorporates a separate system for ensuring the reliability of the application. The paper introduces a prototype implementation of the proposed framework and its empirical evaluation. Povzetek: ÄŒlanek predstavlja okolje za gradnjo samo-prilagodljivega porazdeljenega programja.

Component-based development is a proven approach to manage the complexity of software and its nee... more Component-based development is a proven approach to manage the complexity of software and its need for customization. At an architectural level, one describes the principal system components and their pathways of interaction. So, Architecture is considered to be the driving aspect of the development process; it allows specifying which aspects and models in each level needed according to the software architecture design. Early Architecture description languages (ADLs), nearly exclusive, focus on structural abstraction hierarchy ignoring behavioural description hierarchy, conceptual hierarchy, and metamodeling hierarchy. In this paper we focus on those four hierarchies which represent views to appropriately "reason about" software architectures described using our C3 metamodel which is a minimal and complete architecture description language. In this paper we provide a set of mechanisms to deal with different levels of each hierarchy, also we introduce our proper structural definition for connector's elements deployed in C3 Architectures.
HAL (Le Centre pour la Communication Scientifique Directe), Jun 19, 2009
To provide hierarchical description from different software architectural viewpoints we need more... more To provide hierarchical description from different software architectural viewpoints we need more than one abstraction hierarchy and connection mechanisms to support the interactions among components. Also, these mechanisms will support the refinement and traceability of architectural elements through the different levels of each hierarchy. Current methods and tools provide poor support for the challenge posed by developing system using hierarchical description. This paper describes an architecture-centric approach allowing the user to describe the logical architecture view where a physical architecture view is generated automatically for all application instances of the logical architecture.

ABSTRACT The work presented in this paper is inscribed within the framework of the autonomic comp... more ABSTRACT The work presented in this paper is inscribed within the framework of the autonomic computing which is an initiative started with IBM in 2001. Its final goal is to develop self-managed computing systems and to overcome the rapidly growing complexity problem. In this work, we treated the property self-healing of the autonomous systems on account of its importance in the development of the critical systems and with high availability requiring a self-protection against the software failures for ensuring the service continuity. This paper presents GAFTOS (Generic and Adaptable Fault-Tolerant System), a fault-tolerant system adaptable and generic for the distributed and dynamic component-based applications. We illustrate the expressive power of GAFTOS by encapsulating the following fault tolerance techniques in the sub-components of GAFTOS: primary-backup, message store, distributed backward-recovery and distributed checkpointing.
Springer eBooks, 2013
Software is moving towards evolutionary architectures that are able to easily accommodate changes... more Software is moving towards evolutionary architectures that are able to easily accommodate changes and integrate new functionality. This is important in a wide range of applications, from plugin-based end user applications to critical applications with high availability requirements. This work presents a component based framework that allows introducing adaptability to the distributed component-based applications. The framework itself is reconfigurable and it based on the classical autonomic control loop Mape-k (Monitoring, Analysis, Planning, and Execution). The paper introduces a prototype framework implementation and its empirical evaluation that shows encouraging results.

ABSTRACT This paper presents a graph transformation approach to software architecture evolution. ... more ABSTRACT This paper presents a graph transformation approach to software architecture evolution. Evolution is inevitable over the course of the complete life of complex software intensive systems and more importantly of entire product families. However, not only instance models, but also type models and entire modelling languages are subject to change. Obviously software architecture is the centerpiece of software systems and acts as reference point for many development activities, and few of today's software systems are built to accommodate evolution. Evolution is primarily reflected in and facilitated through the software architecture. In this paper we focus on the different dimensions of architecture evolution with an automated evolution process of software architecture using graph transformation. The rules for the potential architecture evolutions operators are defined using AToM 3 graph transformation tool.
HAL (Le Centre pour la Communication Scientifique Directe), Oct 20, 2014
International Journal of Simulation and Process Modelling, 2021
International audienc
HAL (Le Centre pour la Communication Scientifique Directe), 2016
International audienc

Advances in computer and electrical engineering book series, 2020
The world is moving towards a new generation of internet, the internet of things (IoT). This tech... more The world is moving towards a new generation of internet, the internet of things (IoT). This technological jump is improving the way we live by creating a bridge between the physical and the virtual world. Researchers are curious about the field from different perspectives especially managing of the complexity and dynamicity of these systems. The main problem being targeted in this chapter is that IoT systems are exposed to many structural and behavioral changes due to internal and external factors. This study is about the necessity of having a mechanism that enables IoT systems to perform without breaks or shutdowns regardless of context changes. The solution consists of a contextual dynamic reconfiguration process implemented by a reflexive multilayered architecture. This process is based on the autonomic computing loop. The authors also integrated evolution styles to make reusable the reconfigurations applied on the architecture of the system. Validation of the proposed approach was made on an e-health scenario, which was simulated using Cisco Packet Tracer before performing real development.
HAL (Le Centre pour la Communication Scientifique Directe), 2018
International audienc
HAL (Le Centre pour la Communication Scientifique Directe), 2017
International audienc

International Journal of Embedded Systems, 2017
Mobile cloud computing (MCC) has been introduced as an optimal solution to the constrained mobile... more Mobile cloud computing (MCC) has been introduced as an optimal solution to the constrained mobile devices. MCC takes mobile devices to a wholly new level where the latter rely on the cloud to store and process data. Since mobile cloud applications (MC-Apps) encompass more complicated features, they are considered as the next generation of mobile applications. Thereby new challenges arise in their development phase, such as exploiting the concept of mobility and contextual information. This new kind of applications requires new methods, of development, modelling and simulation. Addressing this lack in MCC, we propose in this paper a context-aware-based framework that allows: the description of MC-Apps' architecture with Mobile Cloud Architecture Description Language (MC-ADL); the simulation of MC-Apps' behaviour using mobile cloud simulation toolkit (MC-SIM); and the provision of a context-aware middleware: smart cloud gate (SCG) to ensure contextual configuration of the MC-Apps, and contextual evolution of its architecture.
HAL (Le Centre pour la Communication Scientifique Directe), May 25, 2009
In component-based system, connectors are used to compose components. Connectors should have a se... more In component-based system, connectors are used to compose components. Connectors should have a semantics that makes them simple to construct and use. At the same time, their semantics should be rich enough to endow them with desirable properties such as genericity, compositionality and reusability. For connector construction, compositionality would be particularly useful, since it would facilitate systematic construction. This paper we describe a hierarchical approach to component and connector definition and construction that allows components and connectors to be defined and constructed from sub-components and connectors. These composite elements are indeed generic, compositional and reusable.
As software architecture evolution has become an integral part of the automated software engineer... more As software architecture evolution has become an integral part of the automated software engineering lifecycle, reuse, modularization and composition of evolution rules becomes more important. This paper aims to generalize the architecture evolution model by defining evolution rules and propagation strategies on graphs describing software architectures. We aim to define a user-definable means to manage software architecture evolution model.
HAL (Le Centre pour la Communication Scientifique Directe), 2015
Due the fact that Mobile Cloud Computing (MCC) is a recent paradigm, it lacks tools and framework... more Due the fact that Mobile Cloud Computing (MCC) is a recent paradigm, it lacks tools and frameworks to model its architecture. Existing ADLs (Architectural Description Languages) do not support modelling Mobile Cloud Architecture (MCA), since the latter encompasses more complicated and rich architectural features-including contextual information-than traditional applications. In this paper we propose a Framework that allows: 1-Describing mobile Cloud applications architecture with the Mobile Cloud ADL (MC-ADL). 2-Provides context-aware middleware Smart Cloud Gate to ensure contextual configuration of the mobile cloud application at runtime and contextual evolution of Mobile Cloud Application's architecture.

Models have been used in various engineering fields to help managing complexity and represent inf... more Models have been used in various engineering fields to help managing complexity and represent information in different abstraction levels according to specific notation and stakeholder's viewpoint. Model-Driven-Engineering (MDE) gives basic principles for the use of models as primary artefacts throughout the software development phases. Models are defined using modelling languages defined as metamodels. When a metamodel evolves, models may no longer conform to it. To be able to use these models with the new modelling language, they need to be migrated. In fact, several approaches have been proposed addressing this problem. Some of these approaches tackle the problem by specifying manual solutions. Others either propose matching mechanisms to adapt models or define coupled operator for performing migration. In this paper, we introduce co-evolution problem, we give an overview of different approaches to the problem and compare them. As a complementary result we conclude with directions of future work.

HAL (Le Centre pour la Communication Scientifique Directe), Jun 10, 2014
Mobile Cloud Computing (MCC) is a new paradigm whose mobile technology aims to exploit the advant... more Mobile Cloud Computing (MCC) is a new paradigm whose mobile technology aims to exploit the advantages offered by the Cloud in order to provide ubiquitous PC-like functionality to mobile users. Cloud services provisioning is a continuously operating activity, unfortunately, services that has recently been deployed in the Cloud infrastructure remain unused or unknown by mobile devices. It is noteworthy that despite the benefits associated with the adoption of the Cloud by mobile technology the gate to the Cloud remains frozen. This means that mobile applications often use the same services without having an update of the novelty in Cloud. Thus, applications lack awareness of new services which are more advantageous in terms of features and qualities than the currently used ones. This is due to the fact that the interest of researchers in the field of MCC has been focused on how to enhance the performance of the computing counterpart of mobile technology. Actually, Cloud Computing is largely unexplored and considered only as a resource for provisioning on demand services. To enable mobile applications to exploit the Cloud intelligently, we propose Smart Mobile Cloud Architecture (SMCA). We consider this new architecture as referential allowing MCC users to have a full awareness of both contexts (Cloud and Mobile) at the same time. We introduce a new concept called Smart Cloud Gate (SCG), which aims to profile both mobile applications and the Cloud to extract knowledge that will be used as a criterion to select the appropriate services, which will be suggested to mobile applications and give each different application the appropriate view of the Cloud.
Uploads
Papers by Abdelkrim Amirat