Federico Ciccozzi
Mälardalen University College
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Federico Ciccozzi.
Information & Software Technology | 2013
Federico Ciccozzi; Antonio Cicchetti; Mikael Sjödin
Context: In order for model-driven engineering to succeed, automated code generation from models through model transformations has to guarantee that extra-functional properties specified at design level are preserved at code level. Objective: The goal of this research work is to provide a full round-trip engineering approach in order to evaluate quality attributes of the embedded system by code execution monitoring as well as code static analysis and then provide back-propagation of the resulting values to modelling level. In this way, properties that can only be roughly estimated statically are evaluated against observed values and this consequently allows to refine the design models for ensuring preservation of analysed extra-functional properties at code level. Method: Following the model-driven engineering vision, (meta-) models and transformations are used as main artefacts for the realisation of the round-trip support which is finally validated against an industrial case study. Result: This article presents an approach to support the whole round-trip process starting from the generation of source code for a target platform, passing through the monitoring of selected system quality attributes at code level, and finishing with the back-propagation of observed values to modelling level. The technique is validated against an industrial case study in the telecommunications applicative domain. Conclusion: Preservation of extra-functional properties through appropriate description, computation and evaluation makes it possible to reduce final product verification and validation effort and costs by generating correct-by-construction code. The proposed round-trip support aids a model-driven component-based development process in ensuring a desired level of extra-functional properties preservation from the source modelling artefacts to the generated code.
automated software engineering | 2012
Antonio Cicchetti; Federico Ciccozzi; Silvia Mazzini; Stefano Puri; Marco Panunzio; Alessandro Zovi; Tullio Vardanega
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.
model driven engineering languages and systems | 2011
Antonio Cicchetti; Federico Ciccozzi; Thomas Leveque
Multi-view modelling is a widely accepted technique to reduce the complexity in the development of modern software systems. It allows developers to focus on a narrowed portion of the specification dealing with a selected aspect of the problem. However, multi-view modelling support discloses a number of issues mainly due to consistency management, expressiveness, and customization needs. A possible solution to alleviate those problems is to adopt a hybrid solution for multi-view modelling based on an arbitrary number of custom views defined on top of an underlying modelling language. In this way it is possible to benefit from the consistency by-construction granted by well-formed views while at the same time providing malleable perspectives through which the system under development can be specified. In this respect, this paper presents an approach for supporting synchronization mechanism based on model differences in hybrid multi-view modelling. Model differences allow to focus only on the manipulations operated by the user in a particular view, and to propagate them to the other views in a incremental way thus reducing the overhead of a complete recomputation of modified models.
Electronic Communication of The European Association of Software Science and Technology | 2011
Antonio Cicchetti; Federico Ciccozzi; Thomas Leveque
Multi-view modeling is a widely accepted technique to reduce the complexity in the development of modern software systems. It allows developers to focus on a narrowed portion of the specification dealing with a selected aspect of the problem. However, multi-view modeling support discloses a number of issues: on the one hand consistency management very often has to cope with semantics interconnections between the different concerns. On the other hand, providing a predefined set of views usually results as too restrictive because of expressiveness and customization needs. This paper proposes a hybrid solution for multi-view modeling based on an arbitrary number of custom views defined on top of an underlying modeling language. The aim is to benefit from the consistency by-construction granted by well-defined views while at the same time providing malleable perspectives through which the system under development can be specified.
software engineering and advanced applications | 2013
Federico Ciccozzi; Antonio Cicchetti; Mikael Sjödin
Model-driven engineering has prominently gained consideration as effective substitute of error-prone code-centric development approaches especially for its capability of abstracting the problem through models and then manipulating them to automatically generate target code. Nowadays, thanks to powerful modelling languages, a system can be designed by means of well-specified models that capture both structural as well as behavioural aspects. From them, target implementation is meant to be automatically generated. An example of well-established general purpose modelling language is the UML, recently enhanced with the introduction of an action language denominated ALF, both proposed by the OMG. In this work we focus on enabling the execution of models defined in UML-ALF and more specifically on the translational execution of ALF towards non-UML target platforms.
component based software engineering | 2013
Federico Ciccozzi; Mehrdad Saadatmand; Antonio Cicchetti; Mikael Sjödin
Synergies between model-driven and component-based software engineering have been indicated as promising to mitigate complexity in development of embedded systems. In this work we evaluate the usefulness of a model-driven round-trip approach to aid deployment optimization in the development of embedded component-based systems. The round-trip approach is composed of the following steps: modelling the system, generation of full code from the models, execution and monitoring the code execution, and finally back-propagation of monitored values to the models. We illustrate the usefulness of the round-trip approach exploiting an industrial case-study from the telecom-domain. We use a code-generator that can realise different deployment strategies, as well as special monitoring code injected into the generated code, and monitoring primitives defined at operating system level. Given this infrastructure we can evaluate extra-functional properties of the system and thus compare different deployment strategies.
component based software engineering | 2011
Antonio Cicchetti; Federico Ciccozzi; Thomas Leveque; Séverine Sentilles
As software complexity increases in embedded systems domain, component-based development becomes increasingly attractive. A main challenge in this approach is however to analyze the systems extra-functional properties (such as timing properties, or resource requirements), an important step in a development of embedded systems. Analysis of such properties are computational and time consuming, and often difficult. For this reason reuse of the results of the analysis is as important as the reuse of the component itself, especially in case of modifications of the context in which the component is used. This paper presents concepts and mechanisms that allow to automatically discover whether a property value is still valid when related components evolve: a value context language is proposed to formally define the validity conditions and identify possible threats.
intelligent distributed computing | 2016
Federico Ciccozzi; Romina Spalazzese
The Internet of Things (IoT) unleashes great opportunities to improve our way of living and working through a seamless and highly dynamic cooperation among heterogeneous things including both computer-based systems and physical objects. However, properly dealing with the design, development, deployment and runtime management of IoT applications means to provide solutions for a multitude of challenges related to intelligent distributed systems within the IoT. In this paper we propose Model-Driven Engineering (MDE) as a keyenabler for applications running on intelligent distributed IoT systems. MDE helps in tackling challenges and supporting the lifecycle of such systems. Specifically, we introduce MDE4IoT, an MDE approach enabling the modelling of things and supporting intelligence as self-adaptation of Emergent Configurations in the IoT. Moreover, we show how MDE, and in particular MDE4IoT, can help in tackling several challenges by providing the Smart Street Lights concrete case.
software engineering and advanced applications | 2011
Federico Ciccozzi; Antonio Cicchetti; Mikael Sjödin
In a model-driven environment aiming at generating implementation code ensuring that extra-functional properties modeled at design level are preserved at execution time, a full round-trip engineering approach is often needed. Target code is meant to be generated from design models through appropriate model transformations, once the code has been generated, quality attributes of the embedded system are evaluated by execution monitoring/analysis tools. Eventually, in order to complete a model-driven round-trip approach, provision of back-annotation of the target code analysis results to modeling level is crucial for evaluating and consequently optimizing the design models for ensuring preservation of analyzed extra-functional aspects. In this work the problem of providing such approach in terms of process and related challenges is described together with a proposed solution. Particular emphasis is put on the description of how both traceability information and code analysis results are formalized in order to enable the desired back-annotating capabilities.
model based methodologies for pervasive and embedded software | 2010
Federico Ciccozzi; Antonio Cicchetti; Toni Siljamäki; Jenis Kavadiya
The scope of Model-Driven Engineering is not limited to Model-Based Development (MBD), i.e. the generation of code from system models, but involves also Model-Based Testing (MBT), which is the automatic generation of efficient test procedures from corresponding test models. Both MBD and MBT include activities such as model creation, model checking, and use of model compilers for the generation of system/test code. By reusing these common activities, the efficiency of MBT can be significantly improved for those organizations which have already adopted MBD, since one of the major efforts in MBT is the creation of test models. In this work, we propose to exploit modeling activity efforts by deriving test models from system models. In this respect, we present a case study in which the Executable and Translatable UML system models are used for automatically generating test models in the QTronic Modeling Language using horizontal model transformations. In turn, the derived artefacts can be used to produce test cases which result to be appropriate for the system under development.