Sébastien GérardAtomic Energy and Alternative Energies Commission | CEA · Laboratory of Research on Software-intensive Technologies (LIST)
Sébastien Gérard
CEA Director of Research
R&D Program Leader of the List's flagship program, "Augmented Collaborative Digital Engineering".
About
252
Publications
58,294
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
3,573
Citations
Introduction
Sébastien Gérard is research director at CEA and he is the research program leader around the knowledge co-engineering platform of the CEA LIST (http://www-list.cea.fr). Working on research issues related to complex and critical system and software design for more than 20 years, his research interests include correct-by-construction specification and design of complex systems, model-based engineering of complex systems and visual modeling language engineering. He is the CEA representative at OMG for more than 20 years. He is leading the open-source project, Papyrus (www.eclipse.org/papyrus). Sébastien is co-leading the Modelia initiative (www.modelia.eu) with Pr. Jordi Cabot.
Publications
Publications (252)
Overcome the current limits of the systems development approaches in their ability to manage the essential complexity requires new means, more powerful and more efficient. Abstraction is the most used universal principle to tackle this kind of issue: through the simplification it brings, it eases, even fosters, reasoning and hence enables to manage...
Software modeling has shown for many years that it brings many advantages at the cost of various efforts and constraints. A large corpus of literature has indeed grown up over the years, pointing out the problems related to the modeling abstraction
process, the usability of tools, or the practical difficulty of using modeling languages. While these...
Modeling is an essential and challenging activity in any engineering environment. It implies some hard-to-train skills such as abstraction and communication. Teachers, project leaders, and tool vendors have a hard time teaching or training their students, co-workers, or users. Gamification refers to the exploitation of gaming mechanisms for serious...
The increasing essential complexity of software systems makes current software engineering methods and practices fall short in many occasions. Software assistants have the ability to help humans achieve a variety of tasks, including the development of software. Such assistants, which show human‐like competences such as autonomy and intelligence, he...
Software is the main driver of added-value in many of the systems that surround us. While its complexity is increasing, so is the diversity of systems driven by software. To meet the challenges emerging from this combination, it is necessary to mobilize increasingly large and heterogeneous multidisciplinary teams, comprising software experts , as w...
There are numerous domains in which information systems need to deal with uncertain information. These uncertainties may originate from different reasons such as vagueness, imprecision, incompleteness or inconsistencies; and, in many cases, they cannot be neglected. In this paper, we are interested in representing and processing uncertain informati...
Models capture relevant properties of systems. During the models’ life-cycle, they are subjected to manipulations with different goals such as managing software evolution, performing analysis, increasing developers’ productivity, and reducing human errors. Typically, these manipulation operations are implemented as model transformations. Examples o...
As model-driven engineering (MDE) is increasingly adopted in complex industrial scenarios, modeling artefacts become a key and strategic asset for companies. As such, any MDE ecosystem must provide mechanisms to protect and exploit them. Current approaches depend on the calculation of the relative similarity among pairs of models. Unfortunately, mo...
Traceability is the capability to represent, understand and analyze the relationships between software artefacts. Traceability is at the core of many software engineering activities. This is a blessing in disguise as traceability research is scattered among various research subfields, which impairs a global view and integration of the different inn...
Traceability helps explaining the execution and evolution of software and systems. It is a key input in many engineering tasks such as program understanding, maintenance and debugging. Several metamodels to facilitate the representation of traces and links among related artefacts have been proposed. There exists a plethora of traceability approache...
The steep learning curve of tools for Model-Based Software Engineering still slows down its widespread adoption. Users indeed encounter a variety of technical difficulties when modeling, including using modeling tools that are often considered too complex. Because they usually require too much advanced or diverse skills, modeling tools push users t...
Domain models capture the key concepts and relationships of a business domain. Typically, domain models are manually defined by software designers in the initial phases of a software development cycle, based on their interactions with the client and their own domain expertise. Given the key role of domain models in the quality of the final system,...
This paper explores the understudied field of conceptual modeling assistance. More specifically, we focused on the design and application of recommender systems as software assistants for conceptual modeling. Prior work on such systems has shown that trust plays a key role in the acceptance and exploitation of such systems. Consequently, as a start...
Context
Software engineering is a social and collaborative activity. Communicating and sharing knowledge between software developers requires much effort. Hence, the quality of communication plays an important role in influencing project success. To better understand the effect of communication on project success, more in-depth empirical studies in...
To fulfill the contractual requirement of the Sweden Compact agreement, the following funding note has to be added and placed in the Funding section of the original article: Open access funding provided by University of Gothenburg.
Gamification refers to the exploitation of gaming mechanisms for serious purposes, like learning hard-to-train skills such as modeling.
We present a gamified version of Papyrus, the well-known open source modeling tool. Instructors can use it to easily create new modeling games (including the tasks, solutions, levels, rewards...) to help students l...
We live in an increasingly complex world where all systems tend to include heterogeneous and interconnected components. To cope with these systems, industry is shifting towards co-engineering development processes where partners with very different roles and access needs must collaborate together. Therefore, protecting the intellectual property (IP...
Model cantered software development practices adoption remains limited to small niche domains. The broad development practices remain code centric. Modeling tool complexity is often cited as a significant factor limiting the adoption and negatively affecting user experience. Modeling and design tools complexity are due to multiple factors including...
UML is a visual modeling language for specifying, constructing, and documenting software intensive systems. UML diagrams play a central role in the whole software engineering process, starting from early analysis, through implementa- tion, to maintenance. One of the main weaknesses of UML, pointed out by surveys of UML use in industry, is the diffi...
The increased adoption of model-driven engineering (MDE) in complex industrial environments highlights the value of a company's modeling artefacts. As such, any MDE ecosystem must provide mechanisms to both, protect, and take full advantage of these valuable assets.
In this sense, we explore the adaptation of the Robust Hashing technique to the MDE...
The increased adoption of model-driven engineering in collaborative development scenarios raises new security concerns such as confidentiality and integrity. In a collaborative setting, the model, or fragments of it, should only be accessed and manipulated by authorized parties. Otherwise, important knowledge could be unintentionally leaked or shar...
This paper presents results of an empirical research study of the Unified Modeling Language (UML) actual state of practice. It reports on a quantitative analysis of > 3500 UML diagrams related to open source projects in GitHub. The aim of the study is to shed light on the use of the visual variables (i.e., color, size, brightness, texture/grain, sh...
One way to design complex systems is to use an event-driven architecture. Model Driven Engineering (MDE) promotes the use of different abstract concepts, among which are the UML state machine, composite structure elements and their associated visualizations, as a powerful means to design such an architecture. MDE seeks to increase software producti...
Developers produce a lot of code and most of them have to merge it to what already exists. The required time to perform this programming task is thus dependent on the access speed to information about existing code. Classic IDEs allow displaying textual representation of information through features like navigation, word searching or code completio...
Collaborative development scenarios often require models to be shared among the different stakeholders. These stakeholders are mostly remote with communication typically taking place over untrusted networks. This raises the need for effective intellectual property (IP) protection mechanisms for the shared models. Watermarking, an information hiding...
Recently, IoT adoption has increased in several domains. IoT devices are multi-modal and heterogeneous due to their varied properties, standards, and manufactures. This leads to interoperability issues, which can be solved using semantic technologies. Likewise, these devices participate in numerous cross-organizational business processes (BPs). Bei...
The limited adoption of Model-Driven Software Engineering (MDSE)is due to a variety of social and technical factors, which can be summarized in one: its (real or perceived) benefits do not outweigh its costs. In this vision paper we argue that the cognification of MDSE has the potential to reverse this situation. Cognification is the application of...
The first workshop specifically devoted to tools supporting Model Driven Engineering was held September 19, 2017 in Austin, Texas, USA. The motivation, scope, objectives, and results of the workshop are summarized. Index Terms-Model-driven Engineering, tools, software and systems modeling I. MOTIVATION The easy availability of high-quality tools wi...
Conceptual modeling is an essential activity in the development of any information system. But at the same time, it is a difficult one which may discourage some professionals that may be tempted to skip it altogether in favor of more code-oriented tasks. In recent years, gamification has emerged as a new approach to increase learner engagement and...
The proliferation of connected devices, wherein Sensors, Actuators and Tags (such as Radio-Frequency Identification (RFID)) are able to seamlessly communicate to their environment and to each other for sharing information or to perform some actions has created the Internet of Things (IoT) ecosystem. These devices expose their functionality via stan...
The dawn of the fourth industrial revolution, Industry 4.0 has created great enthusiasm among companies and researchers by giving them an opportunity to pave the path towards the vision of a connected smart factory ecosystem. However, in context of automotive industry there is an evident gap between the requirements supported by the current automot...
COMMitMDE was the 1st international workshop on Collaborative Modelling in MDE, held on the 4th of October 2016 as a satellite event of the 19th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2016), St. Malo, France. The goal of the workshop was to bring together researchers and practitioners in order to investig...
Industry 4.0 provides a framework for integration of cyber-physical systems (CPS), internet of things (IoT), internet of services (IoS) and internet of data (IoD) with the manufacturing domain so as to make it smart, flexible and adaptable to the dynamic market changes and the customer requirements. It will enable companies to form a connected "sma...
An event-driven architecture is a useful way to design and implement complex systems. The UML State Machine and its visualizations are a powerful means to the modeling of the logical behavior of such an architecture. In Model Driven Engineering, executable code can be automatically generated from state machines. However, existing generation approac...
Due to both an increase of business competition and design constraints, the complexity of Cyber Physical Systems (CPS) is reaching the limits of the human capabilities to think and then to design safe, secure, performant and reliable systems. Extensive use of modeling and simulation (Model-based Systems Engineering) throughout the systems developme...
Model driven engineering allows many stakeholders to contribute their expertise to the system description. Incremental model transformations (IMT) are used to synchronize different artifacts contributed by the stakeholders. IMTs detect changes on the source model and execute change rules to propagate updates to the target model. However, the execut...
Manufacturing processes are undergoing major challenges to achieve the Smart Factory vision such as to increase systematic processes reuse and improve understandability of complex structures. However, those challenges recall closely those of software processes which have been successfully targeted by model-driven engineering techniques such as doma...
Cet ouvrage de référence sur les systèmes temps réel permet de :
Connaître et mettre en uvre les méthodes de spécification et de conception,
Définir et paramétrer l environnement d exécution des systèmes,
Réaliser une implantation multitâche basée sur un noyau temps réel,
Développer l'application en C, Ada ou Labview.
Cette deuxième édition a été m...
Refining high-level system scenarios into executable models is often not automatic and subject to implementation choices.We develop techniques and tools combining different modes of simulation in order to assess automatically the correctness of executable fUML activities with respect to system scenarios specified as UML MARTE sequence diagrams. In...
Designers and developers of real-time software systems often find that conventional computer languages lack important features that are crucial to their work. This category of systems is characterized by the fact that it needs to interact tightly with the physical world: real-time software is typically used to observe and control real-world phenome...
Some details of the actual metamodel are omitted for clarity.
Even the most basic foray into quantum physics reveals that the traditional “laws of physics” used in most engineering work are, in fact, merely high-level approximations of reality.
More precisely, MARTE allows multiple clocks to be associated with a timed element (each clock with a value corresponding to its perspective), but a single clock is by far the most common case.
Although the MARTE specification includes in its Annex A a definition of a full AADL subprofile, the AADL stereotypes and other constructs described in this chapter are different from those found in the standard. They were chosen for their pedagogical value instead of for accuracy.
The details of how the behavior of the Displayer class is specified are of no interest here and are omitted.
The Schedulability Analysis Modeling (SAM) subprofile of MARTE is used to determine whether or not a given platform implementing a given task scheduling policy can satisfy all of the hard real-time deadlines of a multitasking application. SAM is a refinement of the generic MARTE GQAM analysis framework and is applicable to an important category of...
The two languages were developed by different teams at approximately the same time.
This only applies to the way that deployment is modeled, but does not preclude the use of base concepts from the UML deployment model, such as Artifact or even Node (possibly refined using MARTE stereotypes).
This is, of course, a simplified representation; for example, many operating systems depend on a more basic software layer that shields them to a certain extent from the hardware.
Readers who are curious as to why two different forms of referring to the same stereotype, one starting with uppercase letter (PaStep) and the other with a lowercase letter (paStep), will find the answer in Section 2.3.5.
Modeling tools facilitate the development process from modeling to coding. Such tools can be designed using a Model-Driven approach in metamodeling environments calledMetaCASE tools. However, current MetaCASE tools still require, in most cases, manual programming to build full tool support for the modeling language. In this paper, we want to specif...
UML Profiles are not only sets of annotations. They have semantics. Executing a model on which a profile is applied requires semantics of this latter to be considered. The issue is that in practice semantics of profiles are mainly specified in prose. In this form it cannot be processed by tools enabling model execution. Although latest developments...
The adoption of AUTOSAR and Model Driven Engineering (MDE) for the design of automotive software architectures allows an early analysis of system properties and the automatic synthesis of architecture and software implementation. To select and configure the architecture with respect to timing constraints, knowledge about the worst case execution ti...
Composite structures as in UML are a way to ease the development of complex applications. Composite classes contain sub-components that are instantiated, interconnected and configured along with the composite. Composites may also contain operations and further attributes. Their deployment on distributed platforms is not trivial, since their sub-com...
The construction of a design model is a critical phase in real-time systems (RTS) development as the choices made have a direct impact on timing aspects. In traditional model-based approaches, the design relies largely on the designer experience. Once the design model is constructed, a convenient schedulability test has to be found in order to ensu...
Automotive model-based systems engineering needs to be adapted to the industry specific needs, in particular by implementing appropriate means of representing and operating with variability. We rely on existing modeling techniques as an opportunity to provide a description of variability adapted to a systems engineering model. However, we also need...
The purpose of UML profile mechanism is to design domain specific languages (DSL) based on UML. It exists a wide range of UML profiles: MARTE, ROOM, SysML. Current profile design methodology only considers the syntactic part of the language and keeps informal the execution semantics description. This impairs Model Driven Engineering (MDE) promises...
In this paper, we present the current results of the newly formed IEEE-RAS Working Group, named Ontologies for Robotics and Automation. In particular, we introduce a core ontology that encompasses a set of terms commonly used in Robotics and Automation along with the methodology we have adopted. Our work uses ISO/FDIS 8373 standard developed by the...
From the publisher's summary:
Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE explains how to apply the complex MARTE standard in practical situations. This approachable reference provides a handy user guide, illustrating with numerous examples how you can use MARTE to design and develop real-time and embedded systems an...
Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE explains how to apply the complex MARTE standard in practical situations. This approachable reference provides a handy user guide, illustrating with numerous examples how you can use MARTE to design and develop real-time and embedded systems and software. Expert co-authors B...
Following the principle of separation of concerns, the Model-driven Engineering field has developed Domain-Specific Modeling Languages (DSML) to address the increasing complexity of the systems design. In this context of heterogeneous modeling languages, engineers and language designers are facing the critical problem of language integration. To ad...
Model-Driven Engineering (MDE) encourages the use of graphical modeling tools, which facilitate the development process from modeling to coding. Such tools can be designed using the MDE approach into metamodeling environments called metaCASE tools. It turned out that current metaCASE tools still require, in most cases, manual programming to build f...
Synthesis of automotive architectures is a complex problem that needs an automated support. AUTOSAR, standard for the specification of automotive architectures, defines a synthesis process of software components and their connections in a set of fixed-priority OS tasks distributed over a network of ECUs. During the synthesis process software compon...
This chapter use C++ language as target programming language for generating code. The chapter provides a description of input models on the basis of the model of the pacemaker. It describes the generation of the component-based implementation model and provides the details for code generation by describing the activities and the intermediary models...