Distributed Real-time Embedded (DRE) systems are increasingly used in critical domains such as av... more Distributed Real-time Embedded (DRE) systems are increasingly used in critical domains such as avionics, vehicle and industrial control as well as in medical systems. They must be designed carefully and have to provide safety properties because a failure could mean loss of life. For these reasons, it is recommended to automatically generate a significant part of the code from the models describing the critical aspects. In our approach, we automatically generate two kinds of code from architectural models. The first one plugs the user functional code in the middleware, the second one provides a significant part of the middleware functions. Both rely on a hand coded written middleware that provides the minimal facilities to plug the generated code and to resolve portability issues. In this paper, we present our code generator and the middleware designed to generate High Integrity (HI) systems. We demonstrate via several use-cases how we succeeded in meeting the requirements of DRE sys...
From small and very specialized applications, real-time embedded systems are now evolving towards... more From small and very specialized applications, real-time embedded systems are now evolving towards large distributed and interconnected systems. The construction of such systems is becoming increasingly complex, while being put under heavy pressures (economic, mission criticality, time, etc.). We see a current trend to extend and reuse existing specification and modeling techniques for embedded systems under the “Model Driven Architecture”
High-Integrity distributed applications are used in many critical domains. They must be designed ... more High-Integrity distributed applications are used in many critical domains. They must be designed and built with a great deal of vigor, as a failure could mean loss of life. Thus, it is preferable that a significant part of their code be generated automatically from a model that describes their critical aspects. Automatic code generation eases the process of certification as
10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07), 2007
Requirements of high integrity systems now encompass distribution mechanisms along with strong fu... more Requirements of high integrity systems now encompass distribution mechanisms along with strong functional and non-functional features (run-time support for hardware, dependability, safety, analyzability). In this paper, we show how model processing help addressing such needs. We present a generic distribution model suitable for high integrity systems, and demonstrate how a high-level modeling deployment view allows one to greatly reduce the model complexity. Finally, we conclude by assessing a case study
2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems, 2012
2010 10th Annual International Conference on New Technologies of Distributed Systems (NOTERE), 2010
Abstract An embedded software system is reconfigurable when it can modify its behavior or its arc... more Abstract An embedded software system is reconfigurable when it can modify its behavior or its architecture. The reconfigurations are launched according to the evolution of context requirements and the variation of execution environment constraints. The constant growth ...
2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), 2008
Building middleware for distributed applications is a complex task, mixing antagonistic concerns:... more Building middleware for distributed applications is a complex task, mixing antagonistic concerns: heterogeneity, performance, reliability, quality of services. Optimization and fine-tuning of middleware for a particular application is even a harder task, usually done manually or through complex design patterns. The advent of "schizophrenic" middleware which separates concerns between distribution model, communication protocols, and their implementation by refining the definition
ABSTRACT Building CORBA distributed applications for embedded and real-time systems has brought a... more ABSTRACT Building CORBA distributed applications for embedded and real-time systems has brought a number of requirements to be satisfied (small footprint, determinism...). A large part of the distributed application code is generated automatically from its IDL (Interface Definition Language) specification using an IDL compiler. Thus the IDL compiler has to be flexible in order to generate optimized code and to easily support new optimizations. In this paper, we present an IDL compiler architecture which is more amenable to generate optimized code. Then, we list some optimizations we implemented on the code generated by IAC (IDL Ada Compiler): the new IDL compiler and on PolyORB, our middleware, to make distributed applications suited for embedded real-time systems.
ABSTRACT Managing embedded system complexity and scalability is one of the most important problem... more ABSTRACT Managing embedded system complexity and scalability is one of the most important problems in software development. To better address this problem, it is very recommended to have an abstraction level high enough to model such systems. Architectural description languages (ADLs) intend to model complex systems and manage their structure at a high abstraction level. Traditional ADLs do not normally provide appropriate formalisms to separate any kind of crosscutting concerns. This frequently results in poor descriptions of the software architectures and a tedious adaptation to constantly changing user requirements and specifications. AOSD (Aspect Oriented Software Development) deals with these problems by considering crosscutting concerns in software development. The effectiveness of considering an aspect-oriented architectural design appears when aspect concepts are taken into account early in the software’s life-cycle. In this paper, we propose a new aspect language called AO4AADL that adequately manipulates aspect oriented concepts at architecture level in order to master complexity and ensure scalability. The abstract nature of our proposed language allows the generation of aspect code for several programming languages and platforms.
Distributed Real-time Embedded (DRE) systems are increasingly used in critical domains such as av... more Distributed Real-time Embedded (DRE) systems are increasingly used in critical domains such as avionics, vehicle and industrial control as well as in medical systems. They must be designed carefully and have to provide safety properties because a failure could mean loss of life. For these reasons, it is recommended to automatically generate a significant part of the code from the models describing the critical aspects. In our approach, we automatically generate two kinds of code from architectural models. The first one plugs the user functional code in the middleware, the second one provides a significant part of the middleware functions. Both rely on a hand coded written middleware that provides the minimal facilities to plug the generated code and to resolve portability issues. In this paper, we present our code generator and the middleware designed to generate High Integrity (HI) systems. We demonstrate via several use-cases how we succeeded in meeting the requirements of DRE sys...
From small and very specialized applications, real-time embedded systems are now evolving towards... more From small and very specialized applications, real-time embedded systems are now evolving towards large distributed and interconnected systems. The construction of such systems is becoming increasingly complex, while being put under heavy pressures (economic, mission criticality, time, etc.). We see a current trend to extend and reuse existing specification and modeling techniques for embedded systems under the “Model Driven Architecture”
High-Integrity distributed applications are used in many critical domains. They must be designed ... more High-Integrity distributed applications are used in many critical domains. They must be designed and built with a great deal of vigor, as a failure could mean loss of life. Thus, it is preferable that a significant part of their code be generated automatically from a model that describes their critical aspects. Automatic code generation eases the process of certification as
10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07), 2007
Requirements of high integrity systems now encompass distribution mechanisms along with strong fu... more Requirements of high integrity systems now encompass distribution mechanisms along with strong functional and non-functional features (run-time support for hardware, dependability, safety, analyzability). In this paper, we show how model processing help addressing such needs. We present a generic distribution model suitable for high integrity systems, and demonstrate how a high-level modeling deployment view allows one to greatly reduce the model complexity. Finally, we conclude by assessing a case study
2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems, 2012
2010 10th Annual International Conference on New Technologies of Distributed Systems (NOTERE), 2010
Abstract An embedded software system is reconfigurable when it can modify its behavior or its arc... more Abstract An embedded software system is reconfigurable when it can modify its behavior or its architecture. The reconfigurations are launched according to the evolution of context requirements and the variation of execution environment constraints. The constant growth ...
2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), 2008
Building middleware for distributed applications is a complex task, mixing antagonistic concerns:... more Building middleware for distributed applications is a complex task, mixing antagonistic concerns: heterogeneity, performance, reliability, quality of services. Optimization and fine-tuning of middleware for a particular application is even a harder task, usually done manually or through complex design patterns. The advent of "schizophrenic" middleware which separates concerns between distribution model, communication protocols, and their implementation by refining the definition
ABSTRACT Building CORBA distributed applications for embedded and real-time systems has brought a... more ABSTRACT Building CORBA distributed applications for embedded and real-time systems has brought a number of requirements to be satisfied (small footprint, determinism...). A large part of the distributed application code is generated automatically from its IDL (Interface Definition Language) specification using an IDL compiler. Thus the IDL compiler has to be flexible in order to generate optimized code and to easily support new optimizations. In this paper, we present an IDL compiler architecture which is more amenable to generate optimized code. Then, we list some optimizations we implemented on the code generated by IAC (IDL Ada Compiler): the new IDL compiler and on PolyORB, our middleware, to make distributed applications suited for embedded real-time systems.
ABSTRACT Managing embedded system complexity and scalability is one of the most important problem... more ABSTRACT Managing embedded system complexity and scalability is one of the most important problems in software development. To better address this problem, it is very recommended to have an abstraction level high enough to model such systems. Architectural description languages (ADLs) intend to model complex systems and manage their structure at a high abstraction level. Traditional ADLs do not normally provide appropriate formalisms to separate any kind of crosscutting concerns. This frequently results in poor descriptions of the software architectures and a tedious adaptation to constantly changing user requirements and specifications. AOSD (Aspect Oriented Software Development) deals with these problems by considering crosscutting concerns in software development. The effectiveness of considering an aspect-oriented architectural design appears when aspect concepts are taken into account early in the software’s life-cycle. In this paper, we propose a new aspect language called AO4AADL that adequately manipulates aspect oriented concepts at architecture level in order to master complexity and ensure scalability. The abstract nature of our proposed language allows the generation of aspect code for several programming languages and platforms.
Uploads
Papers by Bechir Zalila