Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Nicolas Guelfi is active.

Publication


Featured researches published by Nicolas Guelfi.


aspect oriented software development | 2010

Crisis management systems: a case study for aspect-oriented modeling

Jörg Kienzle; Nicolas Guelfi; Sadaf Mustafiz

The intent of this document is to define a common case study for the aspect-oriented modeling research community. The domain of the case study is crisis management systems, i.e., systems that help in identifying, assessing, and handling a crisis situation by orchestrating the communication between all parties involved in handling the crisis, by allocating and managing resources, and by providing access to relevant crisis-related information to authorized users. This document contains informal requirements of crisis management systems (CMSs) in general, a feature model for a CMS product line, use case models for a car crash CMS (CCCMS), a domain model for the CCCMS, an informal physical architecture description of the CCCMS, as well as some design models of a possible object-oriented implementation of parts of the CCCMS backend. AOM researchers who want to demonstrate the power of their AOM approach or technique can hence apply the approach at the most appropriate level of abstraction.


asia-pacific software engineering conference | 2005

A formal semantics of timed activity diagrams and its PROMELA translation

Nicolas Guelfi; Amel Mammar

The lack of a precise semantics for UML activity diagrams makes the reasoning on models constructed using such diagrams infeasible. However, such diagrams are widely used in domains that require a certain degree of confidence. Due to economical interests, the business domain is one of these. To enhance confidence level of UML activity diagrams, this paper provides a formal definition of their syntax and semantics. The main interest of our approach is that we chose UML activity diagrams, which are recognized to be more tractable by engineers, and we extend them with timing constraints. We outline the translation of our semantics into the PROMELA input language of the SPIN model checker which can be used to check several properties.


IEEE Transactions on Software Engineering | 2000

A formal specification framework for object-oriented distributed systems

Didier Buchs; Nicolas Guelfi

In this paper, we present the Concurrent Object-Oriented Petri Nets (CO-OPN/2) formalism devised to support the specification of large distributed systems. Our approach is based on two underlying formalisms: order-sorted algebra and algebraic Petri nets. With respect to the lack of structuring capabilities of Petri nets, CO-OPN/2 has adopted the object-oriented paradigm. In this hybrid approach (model- and property-oriented), classes of objects are described by means of algebraic Petri nets, while data structures are expressed by order-sorted algebraic specifications. An original feature is the sophisticated synchronization mechanism. This mechanism allows to involve many partners in a synchronization and to describe the synchronization policy. A typical example of distributed systems, namely the Transit Node, is used throughout this paper to introduce our formalism and the concrete specification language associated with it. By successive refinements of the components of the example, we present, informally, most of the notions of CO-OPN/2. We also give some insights about the coordination layer, Context and Objects Interface Language (COIL), which is built on top of CO-OPN/2. This coordination layer is used for the description of the concrete distributed architecture of the system. Together, CO-OPN/2 and COIL provide a complete formal framework for the specification of distributed systems.


acm symposium on applied computing | 2007

A metadata-based architectural model for dynamically resilient systems

Giovanna Di Marzo Serugendo; John S. Fitzgerald; Alexander B. Romanovsky; Nicolas Guelfi

Designing open and distributed systems that can dynamically adapt in a predictable way to unexpected events is a challenging issue still not solved. Achieving this objective is a very complex task since it implies reasoning at run-time, explicitly and in a combined way, on a systems functional and non-functional characteristics. This paper proposes a service-oriented architectural model allowing the dynamic enforcement of formally expressed metadata-based resilience policies. It also describes preliminary dynamic resilience experiments acting as proof of concept.


Archive | 2003

Scientific Engineering of Distributed Java Applications

Nicolas Guelfi; Egidio Astesiano; Gianna Reggio

The purpose of this paper is to investigate how several innovative techniques, not all initially intended for fault-tolerance, can be applied in providing fault tolerance of complex mobile agent systems. Due to their roaming nature, mobile agents usually run on Java-based platforms, which ensures full portability of mobile code. The first part of the paper discusses specific characteristics of mobile systems, outlines the application areas benefiting from cede mobility, and shows why the existing error recovery techniques are not suitable for mobile systems. In the next part of the paper we present evaluation criteria for fault tolerance techniques, and propose several possible solutions for error recovery at the application level: meta-agent, Coordinated Atomic actions, asynchronous resolution, self-repair, and proof carrying code. The intention is to allow system developers to choose the approach which is suited best to the characteristics of the mobile agent application to be designed. To this end we discuss the advantages and disadvantages of each technique, as well as situations in which it provides the most benefit. A simple example, based on Internet shopping, is used throughout the paper to demonstrate the techniques.The use of open technologies and standards have made easier the integration of Web services into end-applications. These interoperable services have been organized on distributed architectures over Internet in accordance with shared functional principles. But these Web-service architectures have not resolved the distributed computing difficulty in ”gluing together” multiple and independent Web services. This paper presents an approach based on Java technology and Internet standard protocols and data formats for resolving coordination problems among Web services. Interaction models based on distributed events over HTTP are supported for providing the required coordination functionality. Cooperation problems and their solutions have been studied in the prototypical context of Location-Based Services.


Enterprise Information Systems | 2010

Modelling dependable collaborative time-constrained business processes

Alfredo Capozucca; Nicolas Guelfi

The effectiveness of the information system that a particular organisation uses for running its business depends largely on the success in modelling such business. This is due to the fact that the business model defines the requirements of the information system that will support the running of the business. Nowadays, there exist many business process development methods that are supported by modelling notations and tools. Unfortunately, these methods are not capable of modelling jointly complex collaborations, time constraints and to offer means to support resilient business process engineering. This article presents a business process language called DT4BP, which has been designed to drive the modelling of dependable, collaborative and time-constrained business processes. The presentation of DT4BP is made to target end users, which are business processes modellers.


quality of software architectures | 2014

An empirical investigation of modularity metrics for indicating architectural technical debt

Zengyang Li; Peng Liang; Paris Avgeriou; Nicolas Guelfi; Apostolos Ampatzoglou

Architectural technical debt (ATD) is incurred by design decisions that consciously or unconsciously compromise system-wide quality attributes, particularly maintainability and evolvability. ATD needs to be identified and measured, so that it can be monitored and eventually repaid, when appropriate. In practice, ATD is difficult to identify and measure, since ATD does not yield observable behaviors to end users. One indicator of ATD, is the average number of modified components per commit (ANMCC): a higher ANMCC indicates more ATD in a software system. However, it is difficult and sometimes impossible to calculate ANMCC, because the data (i.e., the log of commits) are not always available. In this work, we propose to use software modularity metrics, which can be directly calculated based on source code, as a substitute of ANMCC to indicate ATD. We validate the correlation between ANMCC and modularity metrics through a holistic multiple case study on thirteen open source software projects. The results of this study suggest that two modularity metrics, namely Index of Package Changing Impact (IPCI) and Index of Package Goal Focus (IPGF), have significant correlation with ANMCC, and therefore can be used as alternative ATD indicators.


requirements engineering foundation for software quality | 2007

A flexible requirements analysis approach for software product lines

Nicolas Guelfi; Gilles Perrouin

Product Line Engineering (PLE) promotes the development of applications by reusing a set of software assets belonging to a given domain. Important research efforts have been devoted to the description of commonalties and variabilities among these assets yielding requirements engineering techniques such as feature modeling or use case variants. However, current product derivation techniques, which strive to automate the derivation process, are inflexible in that they fail to accommodate products that represent only a minor deviation from the original product line. Furthermore, PLE methodologies do not provide precise support to assist product derivation in such cases. In this paper, we address flexibility issues by introducing an analysis model, based on UML, OCL and use cases, that implicitly defines define product line variabilities and boundaries by means of constraints forbidding undesired products. Then, in order to reuse domain assets in a coherent manner, an imperative model transformation mechanism is devised. We illustrate this approach through a simple example.


Lecture Notes in Computer Science | 2006

The fault-tolerant insulin pump therapy

Alfredo Capozucca; Nicolas Guelfi; Patrizio Pelliccione

The “Fault-Tolerant Insulin Pump Therapy” is based on the Continuous Subcutaneous Insulin Injection technique which combines devices (a sensor and a pump) and software in order to make glucose sensing and insulin delivery automatic. These devices are not physically connected together and they come with the necessary features to detect malfunctions which they may have. As the patient’s health is the most important, the therapy has to be able to work despite the fact that hardware and/or software faults have or may ocurr. This paper presents the development cycle for the Insulin Pump Therapy Control System case study, starting from requirements and reaching the implementation following a top-down approach. It will show how the Coordinated Atomic Actions (CAAs) structuring mechanism can be used for modelling Faul-Tolerant (FT) systems and how CAA-DRIP development environment is used to implement it.


ICCBSS'05 Proceedings of the 4th international conference on COTS-Based Software Systems | 2005

Resolving architectural mismatches of COTS through architectural reconciliation

Paris Avgeriou; Nicolas Guelfi

The integration of COTS components into a system under development entails architectural mismatches. These have been tackled, so far, at the component level, through component adaptation techniques, but they also must be tackled at an architectural level of abstraction. In this paper we propose an approach for resolving architectural mismatches, with the aid of architectural reconciliation. The approach consists of designing and subsequently reconciling two architectural models, one that is forward-engineered from the requirements and another that is reverse-engineered from the COTS-based implementation. The final reconciled model is optimally adapted both to the requirements and to the actual COTS-based implementation. The contribution of this paper lies in the application of architectural reconciliation in the context of COTS-based software development. Architectural modeling is based upon the UML 2.0 standard, while the reconciliation is performed by transforming the two models, with the help of architectural design decisions.

Collaboration


Dive into the Nicolas Guelfi's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Benoît Ries

University of Luxembourg

View shared research outputs
Top Co-Authors

Avatar

Patrizio Pelliccione

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Barbara Gallina

Mälardalen University College

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Cédric Pruski

University of Luxembourg

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge