Papers by Alfredo Capozucca
SN Computer Science, 2022
Abstract. The “Fault-Tolerant Insulin Pump Therapy ” is based on the
Coordinated Atomic Actions is a conceptual framework used to increase the reliability (by fault t... more Coordinated Atomic Actions is a conceptual framework used to increase the reliability (by fault tolerance) of concurrent object-oriented software systems. An extension of this con-ceptual framework to support the modelling of real-time software systems has been proposed. In this work we present our proposal for improvements of this extension focusing on recovery process optimisation, non-determinism reduction and time-related constructs extension. Categories and Subject Descriptors C.4 [PERFORMANCE OF SYSTEMS]: Fault toler-ance and Modelling techniques
Version 1.0.1 The intent of this document is to define a common case study for the aspect-oriente... more Version 1.0.1 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 (CMS) 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 that want to demonstrate the power of their AOM approach or technique can hence apply the approach at the most adequate level of...
Introducing a software engineering (SE) project course in an education program is a challenging t... more Introducing a software engineering (SE) project course in an education program is a challenging task. Teaching teams of such courses face two main problems, among many others: 1 which notions should be covered by the project 2 how to design a course covering those notions
The definition of a software engineering body of knowledge (SWEBOK) is an important milestone in ... more The definition of a software engineering body of knowledge (SWEBOK) is an important milestone in the history of the software engineering discipline. One of the main questions that might be asked in front of such knowledge definition is: to which extent does my knowledge cover this body of knowledge ? In a more general perspective we can be interested in measuring the coverage of any entity w.r.t. the SWEBOK. It could be a book, a paper, a course, . . . . In this paper, we present the method we defined to answer such question, the tool we developed and the experiments we did with the lessons learned.
Today, numerous organisations rely on information software systems to run their businesses. The e... more Today, numerous organisations rely on information software systems to run their businesses. The effectiveness of the information software system then, depends largely on the degree to which the organisations business is accurately captured in the business model. The business model is an abstract description of the way an organisations functions. Thus, the more precise the business model, the more accurate the requirement definition of the information software system to be engineered. A dependable business process is one whose failures or the number of occurrences in which business process misses its goal are not unacceptably frequent or severe, from certain viewpoint. A collaborative business process is one that requires the interaction of multiple participants to attain its goal. A time-constrained business process is one that owns at least one property expressed in terms of an upper or lower time bound. This book investigates how Dependable, Collaborative and Time-constrained busi...
This paper presents an approach to assess the design of a software system which is modelled using... more This paper presents an approach to assess the design of a software system which is modelled using the Coordinated Atomic Actions (CAA) paradigm. The approach relies on simulation to make possible the assessment of the design. By simulating the design, engineers can assess its adherence to the requirements elicited in previous phases of the software development life cycle.
This paper presents an approach to assess the design of a software system which is modelled using... more This paper presents an approach to assess the design of a software system which is modelled using the Coordinated Atomic Actions (CAA) paradigm. The approach relies on simulation to make possible the assessment of the design. By simulating the design, engineers can assess its adherence to the requirements elicited in previous phases of the software development life cycle.
Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, 2019
DevOps have received marginal attention inside the higher education level curricula despite of it... more DevOps have received marginal attention inside the higher education level curricula despite of its boom in the industrial sector.
Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, 2020
This paper describes our experience of delivery educational programs in academia and in industry ... more This paper describes our experience of delivery educational programs in academia and in industry on DevOps, compare the two approaches and sum-up the lessons learnt. We also propose a vision to implement a shift in the Software Engineering Higher Education curricula.
Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, 2018
This tool paper presents the design and tool-support of Messir, an approach centered on textual d... more This tool paper presents the design and tool-support of Messir, an approach centered on textual domain-specific languages supported by our open-source UML requirements engineering tool, named Excalibur. The novelty of our approach is the actual integration in a single workbench (Excalibur) of textual DSLs richly covering the requirements and analysis phases, i.e. improved use-cases, environment, conceptual and operations models; and the read-only visualisation of the requirements with UML-compliant views; and the generation of scientific requirements analysis documents in L A T E X; and the formal simulation of test cases requirements. We designed our Messir language, with a grammar-based approach generating a textual editor, using the XText framework as an Eclipse plugin. Messir DSL's static semantics is defined as a set of validation rules guiding end-users through the requirements analysis phase. Messir DSL's semantics is given as a semi-automatic translation to prolog code. We also generate, from the requirements model elements, read-only graphical views (using the Sirius eclipse plugin) as well as a complete requirements analysis document in L A T E X. This approach and tool have been used as a requirements engineering educational tool in several bachelor and master semesters.
21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07), 2007
Lecture Notes in Computer Science, 2012
Proceedings of the 2009 ACM symposium on Applied Computing, 2009
2006 17th International Symposium on Software Reliability Engineering, 2006
This paper presents an implementation framework, called CAA-DRIP, that has been defined to allow ... more This paper presents an implementation framework, called CAA-DRIP, that has been defined to allow a straightforward implementation of dependable distributed applications designed using the Coordinated Atomic Action (CAA) paradigm. CAAs provide a coherent set of concepts adapted to the design of fault tolerant distributed systems that includes: structured transactions, distribution, cooperation, competition, and forward and backward error recovery mechanisms triggered by exceptions. DRIP (Dependable Remote Interacting Processes) is an efficient Java implementation framework, which provides support for implementing "Dependable Multiparty Interactions (DMI)" which includes a general exception handling mechanism. As DMI has a softer exception handling semantics with respect to CAA semantics, a CAA design can be implemented by DRIP. The aim of the CAA-DRIP framework is to provide a set of Java classes that allows programmers to implement only the semantics of CAAs with the same terminology and concepts at the design and implementation levels. The new framework simplifies the implementation phase and at the same time reduces the size of the final system since it requires fewer number of instances for creating a CAA at runtime. Details of these improvements as well as a precise description of the CAAs behaviour in terms of Statecharts, which is used as a reference model to define the CAA-DRIP framework, are presented in this paper.
Service Oriented Computing and Applications, 2008
Journal of Systems and Software, 2009
This paper 1 presents ways of implementing dependable distributed applications designed using the... more This paper 1 presents ways of implementing dependable distributed applications designed using the Coordinated Atomic Action (CAA) paradigm. CAAs provide a coherent set of concepts adapted to fault tolerant distributed system design that includes structured transactions, distribution, cooperation, competition, and forward and backward error recovery mechanisms triggered by exceptions. DRIP (Dependable Remote Interacting Processes) is an efficient Java implementation framework which provides support for implementing Dependable Multiparty Interactions (DMI). As DMIs have a softer exception handling semantics compared with the CAA semantics, a CAA design can be implemented using the DRIP framework. A new framework called CAA-DRIP allows programmers to exclusively implement the semantics of CAAs using the same terminology and concepts at the design and implementation levels. The new framework not only simplifies the implementation phase, but also reduces the final system size as it requires less number of instances for creating a CAA at runtime. The paper analyses both implementation frameworks in great detail, drawing a systematic comparison of the two. The CAAs behaviour is described in terms of Statecharts to better understand the differences between the two frameworks. Based on the results of the comparison, we use one of the frameworks to implement a case study belonging to the e-health domain.
Enterprise Information Systems, 2010
... Guelfi, N. 2008 ... However, the transaction processing mechanism (whatever it is) embedded i... more ... Guelfi, N. 2008 ... However, the transaction processing mechanism (whatever it is) embedded into the processing node has to include scheduling aspects so that the number of transactions missing their timing constraints are minimised (Abbott and Garcia-Molina 19921. Abbott, RK ...
This document overviews an object-oriented (OO) modeling approach and a software product line (SP... more This document overviews an object-oriented (OO) modeling approach and a software product line (SPL) methodology used to model the Barbados Crash Management System Product Line (referred to as bCMS-SPL), as well as for a reference variant of such a product line (referred to as bCMS). The approaches and the modeling languages used have been chosen in order to comply with widely used practices and/or (de facto) standards. 7/85 At step 5 when a police vehicle/fire truck does not reach its destination within the ETA because of vehicle break down: 5.a1. The PSC/FSC informs the other coordinator of the new ETA and, if necessary, that a replacement vehicle is on its way. 5.a2. Continue with step 5. At step 5 when a police vehicle/fire truck does not reach its destination within the ETA because of traffic or blocked routes: 5.b1. Continue with step 3. At step 5 when the crisis is more severe than expected: 5.c1. Continue with step 3. At step 5 when the crisis is less severe than expected: 5.d1. The PSC/FSC informs the other coordinator of recall of one or more police vehicles/fire trucks, respectively. 5.d2. Continue with step 5. At any step M when communication is not available: M.a1. PSC and FSC continue to address the crisis individually, and both will coordinate through their personnel once their personnel have reached the crisis site (this resolution is out of scope for bCMS). At any step N when communication has been restored after a period of unavailable communication: N.a1. If the crisis has been resolved (i.e., the objectives of all vehicles have been reached), then continue with step 7. N.a2. If communication between PSC and FSC has not yet been established (step 1 has not yet been reached), then continue with step 1. N.a3. If the route agreement has been reached (the use case is between step 4 and 6, inclusive), then exchange information on routes established for police and fire, location of vehicles, and status of crisis and for each vehicle continue with step 4, 5, or 6 depending on the location of a vehicle. N.a4. If the route agreement has not been reached and the time limit for the route negotiation has not yet expired (the use case is between step 2 and 3.2, inclusive), then continue with step N. N.a5. If the route agreement has not been reached and the time limit for the route has expired (the use case is between step 3.1 and 3.2, inclusive), then exchange information on routes established for police and fire, location of vehicles, and status of crisis and for each vehicle continue with step 4, 5, or 6 depending on the location of a vehicle.
Uploads
Papers by Alfredo Capozucca