Federico Ciccozzi

dblp:36/10028 · DBLP profile ↗
← Back
47ranked-venue papers
13as first author
18since 2021 · last 2026
0000-0002-0401-1036ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 39 · 10 first-author · 17 since 2021Systems, architecture and hardware · 4 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3Databases, data management, data science and information retrieval · 1Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2026 Identifying Incentives for More Systematic Modeling of Industrial Software-Intensive Systems
abstract
Software-intensive systems are characterized by intricate interactions, distributed structures, and ongoing evolution posing notable challenges for traceability, change analysis, and decision support. Modeling and versioning practices are widely used to manage this complexity; however, in practice, they are often fragmented, limiting the value that organizations can derive from them. To address this challenge, we map modeling and versioning practices to the benefits they enable, providing a structured framework for practitioners to assess their current practices and identify opportunities for incremental improvement. Building on findings from our previous interview study with multiple companies, together with insights from the literature, we identify four levels of modeling formality, five levels of versioning sophistication, and four categories of benefits, summarized in two mapping tables. Our contributions include a practitioner-oriented roadmap that helps teams reflect on current modeling and versioning practices, anticipate achievable benefits, and identify incremental adjustments that can add value with minimal overhead. An initial validation with industry representatives confirms the practical relevance of the roadmap and highlights its potential to guide structured reflection and improvement of modeling and versioning practices.
Ifrah Qaisar, Jan Carlson, Robbert Jongeling, Antonio Cicchetti, Malvina Latifaj, Federico Ciccozzi
MODELSWARD6
2026 Access Granted - Carefully: Securing model information in collaborative modeling
abstract
The collaborative nature of model-driven software engineering introduces significant challenges in safeguarding the confidentiality and integrity of the collaborative model. Existing access control mechanisms often rely on transient, virtual views lacking persistence and fine-grained permissions, making them unsuitable for scenarios requiring offline collaboration and leading to potential security breaches and user frustration. This work describes a dual-layered approach leveraging role-based access control policies to enhance security in collaborative modeling environments. The first layer utilizes multi-view modeling techniques to create materialized view models tailored to specific user roles, thereby restricting unnecessary access to the entire model. The second layer refines access at the individual element level within these view models, establishing fine-grained permissions enforced by model editors. This proactive enforcement prevents unauthorized actions before they occur, improving user experience and efficiency. The proposed approach, implemented as an Eclipse plugin and demonstrated through an illustrative example, ensures the confidentiality and integrity of shared model data by granting stakeholders access only to information relevant to their specific responsibilities and expertise. By filtering out irrelevant data, the approach also mitigates information overload, enabling stakeholders to concentrate on task-relevant aspects of the model, thereby potentially improving collaborative efficiency and effectiveness.
Malvina Latifaj, Federico Ciccozzi, Antonio Cicchetti
J. Syst. Softw.2
2025 The technological landscape of collaborative model-driven software engineering
abstract
Abstract Collaborative technologies are continuously evolving to address existing problems and introduce innovative features for enhancing collaboration in the landscape of model-driven software engineering (MDSE). Different collaborative MDSE technologies (CMTs) provide different solutions to facilitate collaboration, making it hard for practitioners to choose the technology that best suits their needs. This study aims to investigate the landscape of CMTs and to provide a list of recommended technologies tailored to specific use case scenarios in the context of MDSE. We compiled a comprehensive list of CMTs using a systematic search complemented with snowballing, investigating both academic and grey literature. The technologies were selected through a set of inclusion and exclusion criteria and eventually analyzed through an in-depth analysis focusing on model management, collaboration, and communication. The findings of our study reveal that the current landscape of CMTs is characterized by a relatively narrow range of capabilities offered by different technologies. Consequently, practitioners often have to become proficient in combining several different technologies in order to meet their needs. While various CMTs offer distinct collaboration approaches, the current landscape could be richer in terms of capabilities. Our research provides a comprehensive description of recommended CMTs, enabling practitioners to make informed decisions and improve collaboration in their MDSE processes.
Abhishek Choudhury, Ivano Malavolta, Federico Ciccozzi, Kousar Aslam, Patricia Lago
Softw. Syst. Model.3
2025 An elucidation of blended modeling from an industrial perspective
abstract
Abstract Model-Driven Engineering (MDE) has been widely adopted across various industrial sectors due to its ability to manage the complexity of modern engineering products. However, traditional modeling languages and tools are often limited to a single, specific concrete syntax, which poses challenges for the diverse stakeholders involved in the modeling process.. To address these limitations, the emerging field of blended modeling introduces the use of multiple concrete syntaxes, and in some cases, even multiple abstract syntaxes, for representing the same information. In this expert perspective, we present generalized, technology-agnostic concepts developed within a European research and development project focused on blended modeling. Specifically, we contribute a standardized terminology and ontology for blended modeling, along with a methodology for creating blended modeling environments. These concepts were developed through collaboration between academic and industrial partners, who aligned on the motivations and benefits of this approach. The insights gained from this project are not only relevant to blended MDE but also can be applied to traditional MDE practices.
Jörg Holtmann, Federico Ciccozzi, Wim Bast, Joost van Pinxten
Softw. Syst. Model.2
2025 How are informal diagrams used in software engineering? An exploratory study of open-source and industrial practices
abstract
Abstract In software engineering practice, models created for communication and documentation are often informal. This limits the applicability of powerful model-driven engineering mechanisms. Understanding the motivations and use of informal diagrams can improve modelling techniques and tools, by bringing together the benefits of both informal diagramming and modelling using modelling languages and modelling tools. In this paper, we report on an initial exploration effort to investigate the use of informal diagramming in both open-source software repositories and industrial software engineering practices. We carried out a repository mining study on open-source software repositories seeking informal diagrams and classified them according to what they represent and how they are used. Additionally, we describe industrial practices that rely to some extent on informal diagramming, as gathered through unstructured interviews with practitioners. We compare the findings from these data sources and discuss how informal diagrams are used in practice.
Robbert Jongeling, Antonio Cicchetti, Federico Ciccozzi
Softw. Syst. Model.3
2024 Model Execution: From a Retrospective on Code Generation to a Perspective on Model Compilation
Federico Ciccozzi
MODELSWARD1
2023 Timing-Aware Variability Resolution in EAST-ADL Product Line Architecture
abstract
Product line architectures play a vital role in the automotive industry in supporting cross-product development involving several hardware and software variation points for different vehicle variants. The effective resolution of multiple variation points for the generation of valid variants is complex, especially when dealing with both software and hardware components implying timing constraints, simultaneously. EAST-ADL is a well-known domain-specific modelling language supporting cross-product development using different levels of abstraction. Furthermore, it offers timing extensions to perform system and component-level timing verification. In this article, we propose an EAST-ADL-compliant and timing-aware variability resolution approach to generate valid product variants effectively. The method relies on existing EAST-ADL product line architecture for system modelling, where several variation points at different levels of abstraction are identified. We propose a variability resolution algorithm where several configuration decisions, starting from the topmost vehicle level down to the design level, are incor-porated for seamless variability resolution. Furthermore, timing decisions based on analysis and design prototypes are provided to generate variant-specific timing constraints. The approach is validated on the car wiper use case provided by our industrial partner, Volvo, an international original equipment manufacturer in the automotive domain. In the use case, three product variants comprising a full system model with associated timing constraints are generated successfully. The results show the feasibility of the proposed approach and indicate its effectiveness in managing timing-aware product variants.
Muhammad Waseem Anwar, Alessio Bucaioni, Federico Ciccozzi
APSEC3
2023 Enabling Blended Modelling of Timing and Variability in EAST-ADL
abstract
EAST-ADL is a domain-specific modelling language for the design and analysis of vehicular embedded systems. Seamless modelling through multiple concrete syntaxes for the same language, known as blended modelling, offers enhanced modelling flexibility to boost collaboration, lower modelling time, and maximise the productivity of multiple diverse stakeholders involved in the development of complex systems, such as those in the automotive domain. Together with our industrial partner, which is one of the leading contributors to the definition of EAST-ADL and one of its main end-users, we provided prototypical blended modelling features for EAST-ADL. In this article, we report on our language engineering work towards the provision of blended modelling for EAST-ADL to support seamless graphical and textual notations. Notably, for selected portions of the EAST-ADL language (i.e., timing and variability packages), we introduce ad-hoc textual concrete syntaxes to represent the language's abstract syntax in alternative textual notations, preserving the language's semantics. Furthermore, we propose a full-fledged runtime synchronisation mechanism, based on the standard EAXML schema format, to achieve seamless change propagation across the two notations. As EAXML serves as a central synchronisation point, the proposed blended modelling approach is workable with most existing EAST-ADL tools. The feasibility of the proposed approach is demonstrated through a car wiper use case from our industrial partner - Volvo. Results indicate that the proposed blended modelling approach is effective and can be applied to other EAST-ADL packages and supporting tools.
Muhammad Waseem Anwar, Federico Ciccozzi, Alessio Bucaioni
SLE2
2023 From low-level programming to full-fledged industrial model-based development: the story of the Rubus Component Model
abstract
Abstract Developing distributed real-time systems is a complex task that has historically entailed specialized handcraft. In this paper, we propose a retrospective on the (r)evolutionary changes that led to the transition from low-level programming to industrial full-fledged model-based development embodied by the Rubus Component Model and its tool-ecosystem. We focus on the needs, challenges, and solutions of a 15-year-long evolution journey of a software development approach that has gone from low-level and manual programming to a highly automated environment offering modeling, analysis, and development of vehicular software systems with multi-criticality for deployment on single- and multi-core platforms.
Alessio Bucaioni, Federico Ciccozzi, Amleto Di Salle, Mikael Sjödin
Softw. Syst. Model.2
2023 Blended modeling in commercial and open-source model-driven software engineering tools: A systematic study
Istvan David, Malvina Latifaj, Jakob Pietron, Federico Ciccozzi, Ivano Malavolta, Alexander Raschke, Jan-Philipp Steghöfer, Regina Hebig
Softw. Syst. Model.5
2022 From Informal Architecture Diagrams to Flexible Blended Models
Robbert Jongeling, Federico Ciccozzi, Antonio Cicchetti, Jan Carlson
ECSA2
2022 Modelling in low-code development: a multi-vocal systematic review
abstract
Abstract In 2014, a new software development approach started to get a foothold: low-code development. Already from its early days, practitioners in software engineering have been showing a rapidly growing interest in low-code development. In 2021 only, the revenue of low-code development technologies reached 13.8 billion USD. Moreover, the business success of low-code development has been sided by a growing interest from the software engineering research community. The model-driven engineering community has shown a particular interest in low-code development due to certain similarities between the two. In this article, we report on the planning, execution, and results of a multi-vocal systematic review on low-code development, with special focus to its relation to model-driven engineering. The review is intended to provide a structured and comprehensive snapshot of low-code development in its peak of inflated expectations technology adoption phase. From an initial set of potentially relevant 720 peer-reviewed publications and 199 grey literature sources, we selected 58 primary studies, which we analysed according to a meticulous data extraction, analysis, and synthesis process. Based on our results, we tend to frame low-code development as a set of methods and/or tools in the context of a broader methodology, often being identified as model-driven engineering.
Alessio Bucaioni, Antonio Cicchetti, Federico Ciccozzi
Softw. Syst. Model.3
2022 Model-driven engineering for mobile robotic systems: a systematic mapping study
abstract
Abstract Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape.
Giuseppina Lucia Casalaro, Giulio Cattivera, Federico Ciccozzi, Ivano Malavolta, Andreas Wortmann 0001, Patrizio Pelliccione
Softw. Syst. Model.3
2022 Consistency management in industrial continuous model-based development settings: a reality check
abstract
Abstract This article presents the state of practice of consistency management in thirteen industrial model-based development settings. Our analysis shows a tight coupling between adopting shorter development cycles and increasingly pressing consistency management challenges. We find that practitioners desire to adopt shorter development cycles, but immature modeling practices slow them down. We describe the different patterns that emerge from the various industrial settings. There is an opportunity for researchers to provide practitioners with a migration path toward practices that enable more automated consistency management, and ultimately, continuous model-based development.
Robbert Jongeling, Federico Ciccozzi, Jan Carlson, Antonio Cicchetti
Softw. Syst. Model.2
2021 Find the Way in the Jungle of Quality of Service in Industrial Cloud: A Systematic Mapping Study
Malvina Latifaj, Federico Ciccozzi, Séverine Sentilles
CLOSER2
2021 Identifying manual changes to generated code: Experiences from the industrial automation domain
abstract
In this paper, we report on a case study in an industrial setting where code is generated from models, and, for various reasons, that generated code is then manually modified. To enhance the maintainability of both models and code, consistency between them is imperative. A first step towards establishing that consistency is to identify the manual changes that were made to the code after it was generated and deployed. Identifying the delta is not straightforward and requires pre-processing of the artifacts. The main mechanics driving our solution are higher-order transformations, which make the implementation scalable and robust to small changes in the modeling language. We describe the specific industrial setting of the problem, as well as the experiences and lessons learned from developing, implementing, and validating our solution together with our industrial partner.
Robbert Jongeling, Sachin Bhatambrekar, Anders Lofberg, Antonio Cicchetti, Federico Ciccozzi, Jan Carlson
MoDELS5
2021 Blended graphical and textual modelling for UML profiles: A proof-of-concept implementation and experiment
Lorenzo Addazi, Federico Ciccozzi
J. Syst. Softw.2
2021 Towards evidence-based decision-making for identification and usage of assets in composite software: A research roadmap
abstract
Abstract Software engineering is decision intensive. Evidence‐based software engineering is suggested for decision‐making concerning the use of methods and technologies when developing software. Software development often includes the reuse of software assets, for example, open‐source components. Which components to use have implications on the quality of the software (e.g., maintainability). Thus, research is needed to support decision‐making for composite software. This paper presents a roadmap for research required to support evidence‐based decision‐making for choosing and integrating assets in composite software systems. The roadmap is developed as an output from a 5‐year project in the area, including researchers from three different organizations. The roadmap is developed in an iterative process and is based on (1) systematic literature reviews of the area; (2) investigations of the state of practice, including a case survey and a survey; and (3) development and evaluation of solutions for asset identification and selection. The research activities resulted in identifying 11 areas in need of research. The areas are grouped into two categories: areas enabling evidence‐based decision‐making and those related to supporting the decision‐making. The roadmap outlines research needs in these 11 areas. The research challenges and research directions presented in this roadmap are key areas for further research to support evidence‐based decision‐making for composite software.
Claes Wohlin, Efi Papatheocharous, Jan Carlson, Kai Petersen, Emil Alégroth, Jakob Axelsson, Deepika Badampudi, Markus Borg, Antonio Cicchetti, Federico Ciccozzi, Thomas Olsson 0001, Séverine Sentilles, Mikael Svahnberg, Krzysztof Wnuk, Tony Gorschek
J. Softw. Evol. Process.10
2020 Co-evolution of simulink models in a model-based product line
abstract
Co-evolution of metamodels and conforming models is a known challenge in model-driven engineering. A variation of co-evolution occurs in model-based software product line engineering, where it is needed to efficiently co-evolve various products together with the single common platform from which they are derived. In this paper, we aim to alleviate manual efforts during this co-evolution process in an industrial setting where Simulink models are partially reused across various products. We propose and implement an approach providing support for the co-evolution of reusable model fragments. A demonstration on a realistic example model shows that our approach yields a correct co-evolution result and is feasible in practice, although practical application challenges remain. Furthermore, we discuss insights from applying the approach within the studied industrial setting.
Robbert Jongeling, Antonio Cicchetti, Federico Ciccozzi, Jan Carlson
MoDELS3
2020 More precise construction of static single assignment programs using reaching definitions
Abu Naser Masud, Federico Ciccozzi
J. Syst. Softw.2
2020 Modelling multi-criticality vehicular software systems: evolution of an industrial component model
abstract
Abstract Software in modern vehicles consists of multi-criticality functions, where a function can be safety-critical with stringent real-time requirements, less critical from the vehicle operation perspective, but still with real-time requirements, or not critical at all. Next-generation autonomous vehicles will require higher computational power to run multi-criticality functions and such a power can only be provided by parallel computing platforms such as multi-core architectures. However, current model-based software development solutions and related modelling languages have not been designed to effectively deal with challenges specific of multi-core, such as core-interdependency and controlled allocation of software to hardware. In this paper, we report on the evolution of the Rubus Component Model for the modelling, analysis, and development of vehicular software systems with multi-criticality for deployment on multi-core platforms. Our goal is to provide a lightweight and technology-preserving transition from model-based software development for single-core to multi-core. This is achieved by evolving the Rubus Component Model to capture explicit concepts for multi-core and parallel hardware and for expressing variable criticality of software functions. The paper illustrates these contributions through an industrial application in the vehicular domain.
Alessio Bucaioni, Saad Mubeen, Federico Ciccozzi, Antonio Cicchetti, Mikael Sjödin
Softw. Syst. Model.3
2020 Editorial to theme section on interplay of model-driven and component-based software engineering
Federico Ciccozzi, Antonio Cicchetti, Andreas Wortmann 0001
Softw. Syst. Model.1
2019 Towards Constructing the SSA form using Reaching Definitions Over Dominance Frontiers
abstract
The Static Single Assignment (SSA) form is an intermediate representation used for the analysis and optimization of programs in modern compilers. The φ-function placement is the most computationally expensive part of converting any program into its SSA form. The most widely-used φ-function placement algorithms are based on computing dominance frontiers. However, this kind of algorithms works under the limiting assumption that all variables are defined at the beginning of the program, which is not the case for local variables. In this paper, we introduce an innovative algorithm based on computing reaching definitions, only assuming that global variables and formal parameters are defined at the beginning of the program. We implemented our algorithm and compared it to a well-known dominance frontiers-based algorithm in the Clang/LLVM compiler framework by performing experiments on a benchmarking suite for Perl. The results of our experiments show that, besides a few computationally expensive cases, our algorithm is fairly efficient, and most notably it produces up to 169% and on an average 74% fewer φ-functions than the reference dominance frontiers-based algorithm.
Abu Naser Masud, Federico Ciccozzi
SCAM2
2019 Resilience of distributed student teams to stress factors: A longitudinal case-study
Igor Cavrak, Ivana Bosnic, Federico Ciccozzi, Raffaela Mirandola
Inf. Softw. Technol.3
2019 Managing Diversity in Distributed Software Development Education - A Longitudinal Case Study
abstract
Teaching Distributed Software Development with real distributed settings is a challenging and rewarding task. Distributed courses are idiosyncratically more challenging than standard local courses. We have experienced this during our distributed course, which has been run for 14 consecutive years. In this article, we present and analyze the emerging diversities specific to distributed project-based courses. We base our arguments on our experience, and we exploit a three-layered distributed course model, which we use to analyze several course elements throughout the 14-years lifetime of our distributed project-based course. In particular, we focus on the changes that the course underwent throughout the years, combining findings obtained from the analyzed data with our own teaching perceptions. Additionally, we propose insights on how to manage the various diversity aspects.
Ivana Bosnic, Federico Ciccozzi, Ivica Crnkovic, Igor Cavrak, Elisabetta Di Nitto, Raffaela Mirandola, Mario Zagar
ACM Trans. Comput. Educ.2
2019 Contents for a Model-Based Software Engineering Body of Knowledge
abstract
Although Model-Based Software Engineering (MBE) is a widely accepted Software Engineering (SE) discipline, no agreed-upon core set of concepts and practices (i.e., a Body of Knowledge) has been defined for it yet. With the goals of characterizing the contents of the MBE discipline, promoting a global consistent view of it, clarifying its scope with regard to other SE disciplines, and defining a foundation for the development of educational curricula on MBE, this paper proposes the contents for a Body of Knowledge for MBE. We also describe the methodology that we have used to come up with the proposed list of contents, as well as the results of a survey study that we conducted to sound out the opinion of the community on the importance of the proposed topics and their level of coverage in the existing SE curricula.
Loli Burgueño, Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sébastien Mosser 0001, Richard F. Paige, Alfonso Pierantonio, Arend Rensink, Rick Salay, Gabriele Taentzer, Antonio Vallecillo, Manuel Wimmer
Softw. Syst. Model.2
2019 Multi-view approaches for software and system modelling: a systematic literature review
abstract
Over the years, a number of approaches have been proposed on the description of systems and software in terms of multiple views represented by models. This modelling branch, so-called multi-view software and system modelling, praises a differentiated and complex scientific body of knowledge. With this study, we aimed at identifying, classifying, and evaluating existing solutions for multi-view modelling of software and systems. To this end, we conducted a systematic literature review of the existing state of the art related to the topic. More specifically, we selected and analysed 40 research studies among over 8600 entries. We defined a taxonomy for characterising solutions for multi-view modelling and applied it to the selected studies. Lastly, we analysed and discussed the data extracted from the studies. From the analysed data, we made several observations, among which: (i) there is no uniformity nor agreement in the terminology when it comes to multi-view artefact types, (ii) multi-view approaches have not been evaluated in industrial settings and (iii) there is a lack of support for semantic consistency management and the community does not appear to consider this as a priority. The study results provide an exhaustive overview of the state of the art for multi-view software and systems modelling useful for both researchers and practitioners.
Antonio Cicchetti, Federico Ciccozzi, Alfonso Pierantonio
Softw. Syst. Model.2
2019 Editorial to theme issue on model-driven engineering of component-based software systems
Federico Ciccozzi, Jan Carlson, Patrizio Pelliccione, Massimo Tivoli
Softw. Syst. Model.1
2019 Execution of UML models: a systematic review of research and practice
abstract
Several research efforts from different areas have focused on the execution of UML models, resulting in a diverse and complex scientific body of knowledge. With this work, we aim at identifying, classifying, and evaluating existing solutions for the execution of UML models. We conducted a systematic review in which we selected 63 research studies and 19 tools among over 5400 entries by applying a systematic search and selection process. We defined a classification framework for characterizing solutions for UML model execution, and we applied it to the 82 selected entries. Finally, we analyzed and discussed the obtained data. From the analyzed data, we drew the following conclusions: (i) There is a growing scientific interest on UML model execution; (ii) solutions providing translational execution clearly outnumber interpretive solutions; (iii) model-level debugging is supported in very few cases; (iv) only a few research studies provide evidence of industrial use, with very limited empirical evaluations; (v) the most common limitation deals with coverage of the UML language. Based on these observations, we discuss potential research challenges and implications for the future of UML model execution. Our results provide a concise overview of states of the art and practice for UML model execution intended for use by both researchers and practitioners.
Federico Ciccozzi, Ivano Malavolta, Bran Selic
Softw. Syst. Model.1
2018 Static Flow Analysis of the Action Language for Foundational UML
abstract
One of the major advantages of Model-Driven Engineering is the possibility to early assess crucial system properties, in order to identify issues that are easier and cheaper to solve at design level than at code level. An example of such a property is the timing behaviour of a real-time application, where an early indication that the timing constraints might not be met can help avoiding costly re-designs late in the development process. In this paper we provide a model-driven round-trip transformation chain for (i) applying a flow analysis to executable models described in terms of the Action Language for Foundational UML (AU), and (ii) back-propagating analysis results to Alf models for further investigation. Alf models are transformed into the input format for an analysis tool that identifies flow facts, i.e., information about loop bounds and infeasible paths in the model. Flow facts can be used, for instance, when estimating the worst-case execution time for the analysed model. We evaluated the approach through a set of benchmark models of various size and complexity.
Jean Malm, Federico Ciccozzi, Jan Gustafsson, Björn Lisper, Jonas Skoog
ETFA2
2018 Characterization of trade-off preferences between non-functional properties
Ulrik Franke, Federico Ciccozzi
Inf. Syst.2
2018 On the automated translational execution of the action language for foundational UML
abstract
To manage the rapidly growing complexity of software development, abstraction and automation have been recognised as powerful means. Among the techniques pushing for them, model-driven engineering has gained increasing attention from industry for, among others, the possibility to automatically generate code from models. To generate fully executable code, models should describe complex behaviours. While pragmatically this is achieved by employing programming languages for defining actions within models, the abstraction gap between modelling and programming languages can undermine consistency between models and code as well as analysability and reusability of models. In light of this, model-aware action languages should be preferred. This is the case of the Action Language for Foundational UML (ALF). In this paper, we provide a solution for the fully automated translational execution of ALF towards C++. Additionally, we give an insight on how to simplify the transition from the use of programming languages for modelling fine-grained behaviours to model-aware action languages in industrial MDE. The solution presented in this paper has been assessed on industrial applications to verify its applicability to complex systems as well as its scalability.
Federico Ciccozzi
Softw. Syst. Model.1
2018 Architecture optimization: speed or accuracy? both!
abstract
Embedded systems are becoming more and more complex, thus demanding innovative means to tame their challenging development. Among others, early architecture optimization represents a crucial activity in the development of embedded systems to maximise the usage of their limited resources and to respect their real-time requirements. Typically, architecture optimization seeks good architecture candidates based on model-based analysis. Leveraging abstractions and estimates, this analysis usually produces approximations useful for comparing architecture candidates. Nonetheless, approximations do not provide enough accuracy in estimating crucial extra-functional properties. In this article, we provide an architecture optimization framework that profits from both the speed of model-based predictions and the accuracy of execution-based measurements. Model-based optimization rapidly finds a good architecture candidate, which is refined through optimization based on monitored executions of automatically generated code. Moreover, the framework enables the developer to leverage her optimization experience. More specifically, the developer can use runtime monitoring of generated code execution to manually adjust task allocation at modeling level, and commit the changes without halting execution. In the article, our architecture optimization mechanism is first described from a general point of view and then exploited for optimizing the allocation of software tasks to the processing cores of a multicore embedded system; we target extra-functional properties that can be concretely represented and automatically compared for different architectural alternatives (such as memory consumption, energy consumption, or response-time).
Federico Ciccozzi, Juraj Feljan, Jan Carlson, Ivica Crnkovic
Softw. Qual. J.1
2017 Hall of Fame Nomination Paper: Distributed Software Development Course
abstract
Distributed Software Development course is a joint project-based course involving three universities, from Croatia, Sweden and Italy, running each year since 2003. Distributed student teams work on all phases of a complex software engineering project, solving several challenges of working in a global environment, thus obtaining a valuable experience for their future careers. The course is very well received by both the students and course partners from the industry.
Igor Cavrak, Ivana Bosnic, Mario Zagar, Federico Ciccozzi, Elisabetta Di Nitto, Raffaela Mirandola, Ivica Crnkovic
CSEE&T4
2017 Towards Seamless Hybrid Graphical-Textual Modelling for UML and Profiles
Lorenzo Addazi, Federico Ciccozzi, Philip Langer, Ernesto Posse
ECMFA2
2017 Technology-Preserving Transition from Single-Core to Multi-core in Modelling Vehicular Systems
Alessio Bucaioni, Saad Mubeen, Federico Ciccozzi, Antonio Cicchetti, Mikael Sjödin
ECMFA3
2017 The GRADE Decision Canvas for Classification and Reflection on Architecture Decisions
abstract
This paper introduces a decision canvas for capturing architecture decisions in software and systems engineering. The canvas leverages a dedicated taxonomy, denoted GRADE, meant for establishing the basics of the vocabulary for assessing and choosing architectural assets in the development of software-intensive systems. The canvas serves as a template for practitioners to discuss and document architecture decisions, i.e., capture, understand and communicate decisions among decision-makers and to others. It also serves as a way to reflect on past decision-making activities devoted to both tentative and concluding decisions in the development of software-intensive systems. The canvas has been assessed by means of preliminary internal and external evaluations with four scenarios. The results are promising as the canvas fulfills its intended objectives while satisfying most of the needs of the subjects participating in the evaluation.
Efi Papatheocharous, Kai Petersen, Jakob Axelsson, Claes Wohlin, Jan Carlson, Federico Ciccozzi, Séverine Sentilles, Antonio Cicchetti
ENASE6
2016 Handling Uncertainty in Automatically Generated Implementation Models in the Automotive Domain
abstract
Models and model transformations, the two core constituents of Model-Driven Engineering, aid in software development by automating, thus taming, error-proneness of tedious engineering activities. In many cases, the result of these automated activities is an overwhelming amount of information. This is the case of one-to-many model transformations that, e.g. in model-based design-space exploration, can potentially generate a massive amount of candidate models (i.e., solution space) from one single source model. In our scenario, from one design model we generate a set of possible implementation models on which timing analysis is run. The aim is to find the best model from a timing perspective. However, multiple implementation models can have equally good analysis results. Therefore, the engineer is expected to investigate the solution space for making a final decision, using criteria which fall outside the analysis' criteria themselves. Since candidate models can be many and very similar to each other, manually finding differences and commonalities is an impractical and error-prone task. In order to provide the engineer with an expressive representation of models' commonalities and differences, we propose the use of modelling with uncertainty. We achieve this by elevating the solution space to a first-class status, adopting a compact notation capable of representing the solution space by means of a single model with uncertainty. Commonalities and differences are thus represented by means of uncertainty points for the engineer to easily grasp them and consistently make her decision without manually inspecting each model individually.
Alessio Bucaioni, Antonio Cicchetti, Federico Ciccozzi, Saad Mubeen, Alfonso Pierantonio, Mikael Sjödin
SEAA3
2016 A Property Model Ontology
abstract
Efficient development of high quality software is tightly coupled to the ability of quickly taking complex decisions based on trustworthy facts. In component-based software engineering, the decisions related to selecting the most suitable component among functionally-equivalent ones are of paramount importance. Despite sharing the same functionality, components differ in terms of their extra-functional properties. Therefore, to make informed selections, it is crucial to evaluate extra-functional properties in a systematic way. To date, many properties and evaluation methods that are not necessarily compatible with each other exist. The property model ontology presented in this paper represents the first step towards providing a systematic way to describe extra-functional properties and their evaluation methods, and thus making them comparable. This is beneficial from two perspectives. First, it aids researchers in identifying comparable property models as a guide for empirical evaluations. Second, practitioners are supported in choosing among alternative evaluation methods for the properties of their interest. The use of the ontology is illustrated by instantiating a subset of property models relevant in the automotive domain.
Séverine Sentilles, Efi Papatheocharous, Federico Ciccozzi, Kai Petersen
SEAA3
2016 Explicit connection patterns (ECP) profile and semantics for modelling and generating explicit connections in complex UML composite structures
Federico Ciccozzi
J. Syst. Softw.1
2013 Towards code generation from design models for embedded systems on heterogeneous CPU-GPU platforms
abstract
The complexity of modern embedded systems is ever increasing and the selection of target platforms is shifting from homogeneous to more heterogeneous and powerful configurations. In our previous works, we exploited the power of model-driven techniques to deal with such complexity by enabling the automatic generation of full-fledged functional code from UML models enriched with ALF action code. Nevertheless, the scope was bounded to CPU-based platforms. In this work we propose a preliminary definition of the means to build upon the current code generator to enable the generation of code targeting heterogeneous platforms, more specifically conceiving mixed CPU-GPU configurations. The aim is to minimise the effort of the user in modelling platform-related information by embedding the greatest feasible amount of it into the transformation process.
Federico Ciccozzi
ETFA1
2013 From models to code and back: correct-by-construction code from UML and ALF
abstract
Ever increasing complexity of modern software systems demands new powerful development mechanisms. Model-driven engineering (MDE) can ease the development process through problem abstraction and automated code generation from models. In order for MDE solutions to be trusted, such generation should preserve the system's properties defined at modelling level, both functional and extra-functional, all the way down to the target code. The outcome of our research is an approach that aids the preservation of system's properties in MDE of embedded systems. More specifically, we provide generation of full source code from design models defined using the CHESS-ML, monitoring of selected extra-functional properties at code level, and back-propagation of observed values to design models. The approach is validated against industrial case-studies in the telecommunications applicative domain.
Federico Ciccozzi
ICSE1
2013 Round-trip support for extra-functional property management in model-driven engineering of embedded systems
Federico Ciccozzi, Antonio Cicchetti, Mikael Sjödin
Inf. Softw. Technol.1
2012 Enhancing the generation of correct-by-construction code from design models for complex embedded systems
abstract
Modern embedded systems are becoming more and more complex thus demanding for new powerful development mechanisms. Model-driven engineering has been recognised as a promising paradigm for the development of complex systems especially for its capability of abstracting the problem through models and then manipulating them to automatically generate target code. In our previous works, we presented mechanisms for the generation of 100% of the target code from UML models to be run on singlecore platforms. In this work we provide possible solutions to enhance the generation process to entail a more complex set of platform configurations (i.e., multiprocess, multicore) as well as heterogeneous processing units (i.e., CPU, GPU).
Federico Ciccozzi, Mikael Sjödin
ETFA1
2012 CHESS: a model-driven engineering tool environment for aiding the development of complex industrial systems
abstract
Modern software systems require advanced design support especially capable of mastering rising complexity, as well as of automating as many development tasks as possible. Model-Driven Engineering (MDE) is earning consideration as a solid response to those challenges on account of its support for abstraction and domain specialisation. However, MDE adoption often shatters industrial practice because its novelty opposes the need to preserve vast legacy and to not disband the skills matured in pre-MDE or alternative development solutions. This work presents the CHESS tool environment, a novel approach for cross-domain modelling of industrial complex systems. It leverages on UML profiling and separation of concerns realised through the specification of well-defined design views, each of which addresses a particular aspect of the problem. In this way, extra-functional, functional, and deployment descriptions of the system can be given in a focused manner, avoiding issues pertaining to distinct concerns to interfere with one another.
Antonio Cicchetti, Federico Ciccozzi, Silvia Mazzini, Stefano Puri, Marco Panunzio, Alessandro Zovi, Tullio Vardanega
ASE2
2010 Integrating wireless systems into process industry and business management
abstract
We analyze here the topic of integration, in the area of process automation, from sensor/actuator levels to plant management levels. The communication at fieldbus level is based on wireless technology while management applications run in wired control systems, but can also be distributed, communicating via the Internet. This work aims at building a real-life demonstrator at Boliden, a mining and smelting plant located in Boliden, Sweden. A small process control environment is to be deployed at the plant to supervise a tank level control system. Targeted results are an interface between wireless and wired systems, the deployment of a wireless process control environment at Boliden, and the development of the enterprise business management facilities.
Federico Ciccozzi, Antonio Cicchetti, Jerker Delsing, Tiberiu Seceleanu, Johan Åkerberg, Lars Eric Carlsson
ETFA1
2010 Performing a Project in a Distributed Software Development Course: Lessons Learned
abstract
Distributed software development approaches have to face with several issues like cultural differences, collaboration and communication mechanisms, which can undermine the overall development success if not handled in a proper manner. In order to provide a real environment for students placed in different countries to learn and apply the best practices in distributed software development, a course has been developed jointly by two european universities. The course aims at providing the students an insight in the complexity of distributed development and giving the possibility to work in distributed teams for actual implementations, in order to minimize the gap between theory and practice. This paper describes the course design, challenges, results and success factors, from a students perspective.
Federico Ciccozzi, Ivica Crnkovic
ICGSE1