Brahim Hamid

Brahim Hamid
Institut de Recherche en Informatique de Toulouse · University of Toulouse 2

Professor

About

77
Publications
9,299
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
430
Citations
Citations since 2016
21 Research Items
275 Citations
201620172018201920202021202201020304050
201620172018201920202021202201020304050
201620172018201920202021202201020304050
201620172018201920202021202201020304050
Introduction
My research focused on : - security&dependability engineering, - system&software engineering, - evolution, - model-based development, - pattern-based development
Additional affiliations
September 2008 - September 2020
Université Toulouse  II - Jean Jaurès
Position
  • Professor
October 2003 - September 2007
University of Bordeaux
Position
  • Research Assistant

Publications

Publications (77)
Chapter
Critical domains (like Cyber-Physical Systems-CPSs) have witnessed increased demand for considering both safety and security concerns during the early phases of the System Engineering (SE) process. Particularly, in the design phase, safety and security requirements should cascade down across different system views till the architectural design. How...
Article
Complex software systems have become increasingly entwined in a wide variety of systems, such as critical infrastructure, industrial control systems, medical devices, automobiles, airplanes, and spacecraft. Assuring the security and safety, as well as other dependability concerns, such as availability, robustness, and reliability, of software-inten...
Article
The existence of security threats in software designs can significantly impact the safe and reliable operation of systems. Threats need to be precisely specified before a tool can manipulate them, and though several approaches for threat specification have been proposed, they do not provide the scalability and flexibility required in practice. We t...
Conference Paper
One of the main challenges in engineering secure software systems is the formalization of threats for the automation of security architecture threat detection, analysis, and mitigation. On top of that, there is a growing need for the development of reusable security solutions to support secure systems engineering at early stages of development. We...
Article
The development of distributed computing systems involves complex concerns related to integrating numerous communication styles, technologies (Internet of Things, cloud, big data, etc.), stakeholders (architects, developers, integrators, etc.) and addressing a multitude of application domains (smart cities, health, mobility, etc.). Existing archite...
Conference Paper
Building distributed computing systems involves complex concerns integrating a multitude of communication styles, technologies (IoT, cloud, big data, etc.), stake- holders (architects, developers, integrators, etc.) and addressing a multitude of application domains (smart cities, health, mobility, etc.). Existing architectural description languages...
Article
Several development approaches have been proposed to handle the growing complexity of software system design. The most popular methods use models as the main artifacts to construct and maintain. The desired role of such models is to facilitate, systematize and standardize the construction of software-based systems. In our work, we propose a model-d...
Conference Paper
We have developed a methodological tool support for software development based on the reuse of dedicated subsystems, that have been pre-engineered to adapt to a specific domain. This paper proposes an empirical evaluation of the proposed approach through its practical application to a use case in the railway domain with strong security and dependab...
Conference Paper
Full-text available
Safety is the avoidance of unacceptable hazards, including threats to human lives, the environment, or to costly facilities. Safety constraints are expressed using assertions that define system states that should not occur because they may lead to mishaps. We present here two safety patterns. The Safety Assertion pattern describes the contents of a...
Conference Paper
Development processes for software construction are common knowledge and widely used in most development organizations. Unfortunately, these processes often offer only little or no support in order to meet security requirements. In our work, we propose a methodology to build domain specific process models with security concepts on the foundations o...
Conference Paper
Securing critical systems such as cyber physical systems (CPS) is an important feature especially when it comes to critical transmitted data. At the same time, the implementation of security counter-measures in such systems may impact other functional or non-functional concerns. In this context, we propose a model-based approach for securing critic...
Article
Safety-critical systems require a high level of safety and integrity. Therefore, generating such systems involves specific software building processes. Many domains are not traditionally involved in these types of software problems and must adapt their current processes accordingly. Typically, such requirements are developed ad hoc for each system,...
Conference Paper
Repository-based development of software systems has gained more attention recently by addressing new challenges such as security and dependability. However, there are still gaps in existing modeling languages and/or formalisms dedicated to define model repositories and the way how to reuse them in the automation of software development. Thus, ther...
Article
Full-text available
Pattern-based development of software systems has gained more attention recently by addressing new challenges such as security and dependability. However, there are still gaps in existing modeling languages and/or formalisms dedicated to modeling design patterns and the way how to reuse them in the automation of software development. The solution e...
Article
Several development approaches have been proposed to cope with the increasing complexity of embedded system design. The most widely used approaches are those using models as the main artifacts to be constructed and maintained. The desired role of models is to ease, systematize and standardize the approach to the construction of software-based syste...
Conference Paper
The requirement for higher Security and Dependability (S&D) of systems is continuously increasing, even in domains tradi-tionally not deeply involved in such issues. Nowadays, many practitioners express their worries about current S&D software engineering practices. New recommendations should be considered to ground this discipline on two pillars:...
Conference Paper
Full-text available
Security pattern-based system and software engineering (PBSE) approaches aim at building secure software and systems by capturing and reusing artifacts that encapsulate security expert's knowledge called security patterns. In this context, security patterns are selected by developers based on security requirements. On the other hand, security risk...
Conference Paper
Cloud computing has brought a large variety of services available to potential consumers. A recent type of services are the provision of network functions using virtualization. Network Functions Virtualization (NFV) is a network architecture where network node functions such as load balancers, firewalls, IDS, and accelerators are built in software...
Conference Paper
To cope with the growing complexity of embedded system design, several development approaches have been proposed. The most popular are those using models as main artifacts to be constructed and maintained. The wanted role of models is to ease, systematize and standardize the approach of the construction of software-based systems. In order to enforc...
Chapter
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...
Conference Paper
Non-functional requirements such as Security and Dependability (S &D) become more important as well as more difficult to achieve. In fact, the integration of security features requires the availability of both application domain specific knowledge and security expertise at the same time. Hence, capturing and providing this expertise by the way of s...
Chapter
Repositories of modeling artefacts have gained more attention recently to enforce reuse in software engineering. In fact, repository-centric development processes are more adopted in software/system development, such as architecture-centric or pattern-centric development processes. In our work, we deal with a specification language for development...
Conference Paper
Design patterns are widely used as a meaning to capture and provide valuable expert information in order to describe a solution for a given problem or to provide a selected property. By choosing one or more patterns and applying them during the software development life cycle, software engineers are able to use proven building blocks for achieving...
Article
The requirement for higher Security and Dependability (S&D) of systems is continuously increasing, even in domains traditionally not deeply involved in such issues. In our work, we propose a modeling environment for pattern-based secure and dependable embedded system development by design. Here we study a general scheme for representing security an...
Conference Paper
Full-text available
The requirement for higher Security and Dependability (S&D) of systems is continuously increasing, even in domains traditionally not deeply involved in such issues. Nowadays, many practitioners express their worries about current S&D software engineering practices. New recommendations should be considered to ground this discipline on two pillars: s...
Article
In our work, we promote a new discipline for secure and dependable system engineering using a pattern as its first class citizen: Pattern-Based System Engineering (PBSE). Therefore, PBSE addresses two kind of processes: the one of pattern development and the one of system development with patterns. To interconnect these two processes we promote a s...
Article
In this paper, we propose a model-driven approach allowing to build reconfigurable distributed real-time embedded (DRE) systems. The constant growth of the complexity and the required autonomy of embedded software systems management give the dynamic reconfiguration a big importance. New challenges to apply the dynamic reconfiguration at model level...
Conference Paper
Full-text available
Nowadays, many practitioners express their worries about current software engineering practices. New recommendations should be considered to ground software engineering on two pillars: solid theory and proven principles. We took the second pillar towards software engineering for embedded system applications, focusing on the problem of integrat-ing...
Conference Paper
This paper proposes a model based framework for the design of dependable embedded systems. First we define a meta-model to encompass the different concepts to capture fault tolerance. This will be used to derive a UML profile for the specification and the management of the redundancy. Based on this profile, we propose a model library as reusable an...
Conference Paper
Nowadays, many practitioners express their worries about current software engineering practices. New recommendations should be considered to ground software engineering on solid theory and on proven principles. We took such an approach towards software engineering process modeling for embedded system applications with security and dependability req...
Article
Design patterns are now widely used as a meaning to store and retrieve valuable expert information in order to solve a given problem or provide a selected property. During the software development life cycle, software engineers choose and integrate patterns depending on the specifications. We are proposing a methodology for pattern integration with...
Conference Paper
Full-text available
In this paper, we propose a framework allowing the modeling and verification of reconfigurable Distributed Real-time Embedded (DRE) systems. In fact, as reconfiguration significantly complicates system design and execution, many non-functional properties and constraints cannot be easily preserved. Verifying the continuous satisfaction of non-functi...
Conference Paper
Full-text available
In this paper, we propose a methodology to design Distributed Real-time Embedded (DRE) systems and particularly reconfigurable ones. Due to the complexity of the development of these systems and their hard temporal and resource constraints, a development process is required to make easier the construction of these systems. For this, we propose an M...
Conference Paper
Security and Dependability (S&D) becomes a strong requirement even in resource constraint embedded systems (RCES). Many domains are not traditionally involved in this kind of issue and have to adapt theirs current processes. RCES development with S&D requirements represents a complex task. On one hand, it is necessary to provide a solution which ma...
Chapter
Full-text available
Managing reconfigurable Distributed Real-time Embedded (DRE) systems is a tedious task due to the substantially increasing complexity of these systems and the difficulty to preserve their real-time aspect. In order to resolve this increasing complexity, we propose to develop a new middleware, called RCES4RTES (Reconfigurable Computing Execution Sup...
Article
Resource constrained embedded systems (RCES) refers to systems which have memory and/or computational processing power constraints. They can be found literally everywhere, in many application sectors such as automotive, aerospace, and home control. They are in many types of devices, like sensors, automotive electronic control units, intelligent swi...
Conference Paper
Full-text available
This paper defines a model-based approach, which treats the reconfiguration issues for Distributed Real time Embedded (DRE) systems at a high level of abstraction. We aim at specifying reconfigurable DRE systems using a characterization approach. To treat the reconfiguration requirements, we propose a meta-model and a UML profile as implementation...
Conference Paper
Security and Dependability (S&D) have become mandatory requirements while engineering embedded systems in some industrial sectors. Typically, S&D requirements are developed ad-hoc for each system, preventing further reuse beyond domain-specific boundaries. In recent times, S&D patterns have been introduced to provide reusable solutions. Those patte...
Conference Paper
The complexity in embedded systems is increasing steadily due to richer functionalities offered by more powerful hardware to attain market demands. Model Driven Engineering(MDE) is a promising approach for handling this complexity by using models which help to capture several concerns of these systems. In this paper we analyze the modeling of embed...
Conference Paper
Security has become an important challenge in current software and system development. Most of designers are experts in software development but not experts in security. It is important to guide them to decide how and where to apply security mechanisms in the early phases of software development to reduce time and cost of development. To reach this...
Article
The conception and design of Resource Constrained Embedded Systems (RCES) is an inherently complex endeavor. In particular, non-functional requirements from security and dependability are exacerbating this complexity. Model-Driven Engineering (MDE) provides a promising approach for the design of trusted systems, since it bridges the gap between des...
Conference Paper
The requirement for higher security and dependability of systems is continuously increasing even in domains not traditionally deeply involved in such issues. Yet, evolution of embedded systems towards devices connected via Internet, wireless communication or other interfaces requires a reconsideration of secure and trusted embedded systems engineer...
Conference Paper
Complexity in Distributed Real time Embedded Systems (DRTES) is rising due to richer functionality that is enabled by more powerful hardware. Component-Based Software Engineering (CBSE) and Model Driven Engineering (MDE) help to capture several facets of this complexity. With these two approaches, we build on two main currents in embedded systems r...
Article
The conception and design of Resource Constrained Embedded Systems is an inherently complex endeavor. In particular, non-functional requirements from security, dependability and variability are exacerbating this complexity. Recent times have seen a paradigm shift in terms of design through the combination of multiple software engineering paradigms...
Conference Paper
Full-text available
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 of the complexity in embedded systems makes the reconfiguration more important and more di...
Conference Paper
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. In this paper we focus our attention on design model level with two-fold purposes. Firstly, building modeling...
Article
The requirement for higher reliability and availability of systems is continuously increasing even in domains not traditionally deeply involved in such issues. In particular Resource Constrained Embedded Systems solutions are expected to be efficient, flexible, reusable on rapidly evolving hardware and at low cost. Model driven approaches can be ve...
Conference Paper
The requirement for higher reliability and availability of systems is continuously increasing even in domains not traditionally strongly involved in such issues. Solutions are expected to be efficient, flexible, reusable on rapidly evolving hardware and of course at low cost. Model driven approaches can be very helpful for this purpose. In this pap...
Conference Paper
The requirement for higher reliability and availability of systems is continuously increasing even in domains not traditionally strongly concerned by such issues. Required solutions are expected to be efficient, flexible, reusable on rapidly evolving hardware and of course at low cost. Combining both model and component seems to be a very promising...
Conference Paper
Full-text available
In this work, we investigate the problem of resolving conflicts in a distributed environment using only local knowledge. The contribution of this paper is twofold. First, we present a self-stabilizing algorithm to deal with this problem. Self-stabilizing algorithms protect against transient failures. The second result gives a particular implementat...
Conference Paper
The vertex connectivity of a graph is the smallest number of vertices whose deletion separates the graph or makes it trivial. This work is devoted to the problem of vertex connectivity test of graphs in a distributed environment based on a constructive approach. The contribution of this paper is threefold. First, using a pre-constructed spanning tr...
Article
Full-text available
This work is devoted to the problem of spanning tree maintenance in the presence of crash failures in a distributed environment using only local knowledge. Using a pre-constructed spanning tree of a k-connected graph, we present a protocol to maintain a spanning tree in the presence of k−1 consecutive failures. The contribution of this paper is two...
Article
Full-text available
The vertex connectivity of a graph is the smallest number of vertices whose deletion separates the graph or makes it trivial. This work is devoted to the problem of vertex connectivity test of graphs in a distributed environment based on a general and a constructive approach. The contribution of this paper is threefold. First, using a pre-construct...
Article
Full-text available
We present a novel self-stabilizing version of Mazurkiewicz enumeration algorithm. The initial versions based on local rules to enumerate nodes on an anonymous network. [2] presented the first self-stabilizing version of this algorithm which tolerates transient failures with an extension of messages complexity. Our version is based on local detecti...
Conference Paper
Full-text available
We present a novel self-stabilizing version of Mazurkiewicz enumeration algorithm [1]. The initial version is based on local rules to enumerate nodes on an anonymous network. [2] presented the first self-stabilizing version of this algorithm which tolerates transient failures with an extension of messages complexity. Our version is based on local d...
Article
This technical report documents the poster session of SSS 2005, the Symposium on Self-Stabilizing Systems published by Springer as LNCS volume 3764. The poster session included five presentations. Two of these presentations are summarized in brief abstracts contained in this technical report.
Conference Paper
We present a formal method based on graph rewriting systems for the specifications and the proofs of fault-tolerant distributed algorithms. Our method deals with crash failures. In a crash failure system the process can fail by crashing, i.e. by permanently halting. The faulty processes are the processes contaminated by the crashes. The methodology...
Conference Paper
In this paper, we present a method to build an homogeneous and interactive visualization of self-stabilizing distributed algorithms using Visidia platform. The approach developed in this work allows to simulate the transient failures and their correction mechanism. We use local computations to encode self-stabilizing algorithms like the distributed...
Conference Paper
We present a formal method to design self-stabilizing algorithms by using graph rewriting systems (GRS). This method is based on two phases. The first phase consists of defining the set of illegitimate configurations (GRSIC). The second phase allows to construct some local correction rules to eliminate the illegitimate configurations. Then the grap...
Conference Paper
Full-text available
In computer-aided design, geometric modelling by constraints enables users to describe shapes by relationships called constraints between geometric elements. The problem is to derive automatically these geometric elements. Many resolution methods have been proposed for solving systems of geometric constraints [2]. Geometric methods [3,5,8] can be v...
Conference Paper
A geometric constraint solver is a major component of recent CAD systems. Graph constructive solvers stem from graph theory. We describe a 2D constraint based modeller that uses a graph constructive approach to solve systems of geometric constraints. The graph based approach provides means for developing sound and efficient algorithms. We present a...

Network

Cited By

Projects

Projects (2)
Project
To conduct integrated safety and security properties' analysis at the early design phase of the System Engineering process.