mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 74) Show all publications
Ciccozzi, F., Tichy, M., Vangheluwe, H. & Weyns, D. (2019). Blended Modelling – What, Why and How. In: MPM4CPS workshop MPM4CPS: . Paper presented at MPM4CPS workshop MPM4CPS, 15 Sep 2019, Munchen, Germany.
Open this publication in new window or tab >>Blended Modelling – What, Why and How
2019 (English)In: MPM4CPS workshop MPM4CPS, 2019Conference paper, Published paper (Refereed)
Abstract [en]

Empirical studies indicate that user experience can significantly be improved in model-driven engineering. Blended modelling aims at mitigating this by enabling users to interact with a single model through different notations. Blended modelling contributes to various modelling qualities, including comprehensibility, analysability, and acceptability. In this paper, we define the notion of blended modelling and propose a set of dimensions that characterise blended modelling. The dimensions are grouped in two classes: user-oriented dimensions and realisation-oriented dimensions. Each dimension describes a facet that is relevant to blended modelling together with its domain (i.e., the range of values for that dimension). The dimensions offer a basic vocabulary to support tool developers with making well-informed design decisions as well as users to select appropriate tools and configure them according to the needs at hand. We illustrate how the dimensions apply to different cases relying on our experience with blended modelling. We discuss the impact of blended modelling on usability and user experience and sketch metrics to measure it. Finally, we outline a number of core research directions in this increasingly important modelling area.

Keywords
modelling, user experience, blended modelling, abstract syntax, concrete syntax, notations, tools
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-45499 (URN)
Conference
MPM4CPS workshop MPM4CPS, 15 Sep 2019, Munchen, Germany
Projects
MOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applicationsMINEStrA: Model Integration for Early Simulation and AnalysisHERO: Heterogeneous systems - software-hardware integration
Available from: 2019-10-28 Created: 2019-10-28 Last updated: 2019-10-28Bibliographically approved
Ciccozzi, F., Malavolta, I. & Selic, B. (2019). Execution of UML models: a systematic review of research and practice. Software and Systems Modeling, -3(-), 2313-2360
Open this publication in new window or tab >>Execution of UML models: a systematic review of research and practice
2019 (English)In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374, Vol. -3, no -, p. 2313-2360Article in journal (Refereed) Published
Abstract [en]

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.

Keywords
systematic review, uml, model execution
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38967 (URN)10.1007/s10270-018-0675-4 (DOI)000468996100033 ()2-s2.0-85045137014 (Scopus ID)
Projects
MOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2018-04-10 Created: 2018-04-10 Last updated: 2019-06-18Bibliographically approved
Jongeling, R., Ciccozzi, F., Cicchetti, A. & Carlson, J. (2019). Lightweight Consistency Checking for Agile Model-Based Development in Practice. Journal of Object Technology, 18(2)
Open this publication in new window or tab >>Lightweight Consistency Checking for Agile Model-Based Development in Practice
2019 (English)In: Journal of Object Technology, ISSN 1660-1769, E-ISSN 1660-1769, Vol. 18, no 2Article in journal (Refereed) Published
Abstract [en]

In model-based development projects, models at different abstraction levels capture different aspects of a software system, e.g., specification or design. Inconsistencies between these models can cause inefficient and incorrect development. A tool-based framework to assist developers creating and maintaining models conforming to different languages (i.e. heterogeneous models) and consistency between them is not only important but also much needed in practice. In this work, we focus on assisting developers bringing about multi-view consistency in the context of agile model-based development, through frequent, lightweight consistency checks across views and between heterogeneous models. The checks are lightweight in the sense that they are easy to create, edit, use and maintain, and since they find inconsistencies but do not attempt to automatically resolve them. With respect to ease of use, we explicitly separate the two main concerns in defining consistency checks, being (i) which modelling elements across heterogeneous models should be consistent with each other and (ii) what constitutes consistency between them. We assess the feasibility and illustrate the potential usefulness of our consistency checking approach, from an industrial agile model-based development point-of-view, through a proof-of-concept implementation on a sample project leveraging models expressed in SysML and Simulink. A continuous integration pipeline hosts the initial definition and subsequent execution of consistency checks, it is also the place where the user can view results of consistency checks and reconfigure them.

National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-44918 (URN)10.5381/jot.2019.18.2.a11 (DOI)000473336200012 ()
Available from: 2019-07-18 Created: 2019-07-18 Last updated: 2019-07-18Bibliographically approved
Bosnic, I., Ciccozzi, F., Crnkovic, I., Cavrak, I., Di Nitto, E., Mirandola, R. & Zagar, M. (2019). Managing diversity in distributed software development education: a longitudinal case study. ACM Transactions on Computing Education, 19(2)
Open this publication in new window or tab >>Managing diversity in distributed software development education: a longitudinal case study
Show others...
2019 (English)In: ACM Transactions on Computing Education, ISSN 1946-6226, E-ISSN 1946-6226, Vol. 19, no 2Article in journal (Refereed) Published
Abstract [en]

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 paper, 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.

Keywords
software engineering education, collaborative learning, distributed software development
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38961 (URN)10.1145/3218310 (DOI)000458016600004 ()2-s2.0-85059869983 (Scopus ID)
Projects
MOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Note

Special Issue on Global Software Engineering Education TOCE

Available from: 2018-04-10 Created: 2018-04-10 Last updated: 2019-04-10Bibliographically approved
Cicchetti, A., Ciccozzi, F. & Pierantonio, A. (2019). Multi-view approaches for software and system modelling: a systematic literature review. Software and Systems Modeling, 18(6), 3207-3233
Open this publication in new window or tab >>Multi-view approaches for software and system modelling: a systematic literature review
2019 (English)In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374, Vol. 18, no 6, p. 3207-3233Article, review/survey (Refereed) Published
Abstract [en]

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.

Keywords
Model-driven engineering, Multi-view modelling, Viewpoints, Views, Consistency
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-45372 (URN)10.1007/s10270-018-00713-w (DOI)000485320600003 ()2-s2.0-85061733132 (Scopus ID)
Available from: 2019-10-03 Created: 2019-10-03 Last updated: 2019-10-11Bibliographically approved
Cavrak, I., Bosnic, I., Ciccozzi, F. & Mirandola, R. (2019). Resilience of distributed student teams to stress factors: A longitudinal case-study. Information and Software Technology, 114, 258-274
Open this publication in new window or tab >>Resilience of distributed student teams to stress factors: A longitudinal case-study
2019 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 114, p. 258-274Article in journal (Refereed) Published
Abstract [en]

Context: Teaching global software engineering is continuously evolving and improving to prepare future software engineers adequately. Geographically distributed work in project-oriented software development courses is both demanding and rewarding for student teams, who are susceptible to various risks stemming from different internal and external factors, being the sources of stress and impacting team performance. Objective: In this paper, we analyze the resilience of teams of students working in a geographically fully distributed setting. Resilience is analyzed in relation to two representative stress factors: non-contributing team members and changes to customer project requirements. We also reason on team collaboration patterns and analyze potential dependencies among these collaboration patterns, team resilience and stress factors. Method: We conduct a longitudinal case-study over five years on our Distributed Software Development (DSD) course. Based on empirical data, we study team resilience to two stress factors by observing their impact on process and product quality aspects of team performance. The same performance aspects are studied for identified collaboration patterns, and bidirectional influence between patterns and resilience is investigated. Results: Teams with up to two non-contributing members experience graceful degradation of performance indicators. A large number of non-contributing students almost guarantees the occurrence of educationally undesirable collaboration patterns. Exposed to requirements change stress, less resilient teams tend to focus on delivering the functional product rather than retaining a proper development process. Conclusions: Practical recommendations to be applied in contexts similar to our case have been provided at the end of the study. They include suggestions to mitigate the sources of stress, for example, by careful planning the team organization and balancing the number of regular and exchange students, or by discussing the issue of changing requirements with the external customers before the start of the project.

Place, publisher, year, edition, pages
ELSEVIER, 2019
Keywords
Resilience, Stress factors, Global software engineering education, Collaboration patterns
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-45109 (URN)10.1016/j.infsof.2019.05.011 (DOI)000480669200016 ()2-s2.0-85066427653 (Scopus ID)
Available from: 2019-08-29 Created: 2019-08-29 Last updated: 2019-10-11Bibliographically approved
Ciccozzi, F., Hochgeschwender, N., Malavolta, I. & Wortmann, A. (Eds.). (2019). RoSE 2019 Organizing Committee. Paper presented at 2nd IEEE/ACM International Workshop on Robotics Software Engineering, RoSE 2019; Montreal; Canada; 27 May 2019 through. Institute of Electrical and Electronics Engineers Inc., Article ID 8823780.
Open this publication in new window or tab >>RoSE 2019 Organizing Committee
2019 (English)Conference proceedings (editor) (Refereed)
Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2019
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-45832 (URN)10.1109/RoSE.2019.000-1 (DOI)2-s2.0-85073162016 (Scopus ID)
Conference
2nd IEEE/ACM International Workshop on Robotics Software Engineering, RoSE 2019; Montreal; Canada; 27 May 2019 through
Note

Conference code: 151865; Export Date: 24 October 2019; Editorial

Available from: 2019-10-25 Created: 2019-10-25 Last updated: 2019-10-25
Granholm, A. & Ciccozzi, F. (2018). A Generic Approach to Efficiently Parallelize Legacy Sequential Software. In: 15th International Conference on Information Technology : New Generations ITNG'18: . Paper presented at 15th International Conference on Information Technology : New Generations ITNG'18, 16 Apr 2018, Las Vegas, United States (pp. 451-458).
Open this publication in new window or tab >>A Generic Approach to Efficiently Parallelize Legacy Sequential Software
2018 (English)In: 15th International Conference on Information Technology : New Generations ITNG'18, 2018, p. 451-458Conference paper, Published paper (Refereed)
Abstract [en]

Multi-core processing units have been the answer to ever increasing demand of computational power of modern software. One of the main issues with the adoption of new hardware is portability of legacy software. In this specific case, in order for legacy sequential software to maximize the exploitation of the computational benefits brought by multi-core processors, it has to undergo a parallelization effort. Although there is a common agreement and well-specified support for parallelizing sequential algorithms, there is still a lack in supporting software engineers in identifying and assessing parallelization potentials in a legacy sequential application. In this work we provide a generic parallelization approach which supports the engineering in maximizing performance gain through parallelization while minimizing the cost of the parallelization effort. We evaluate the approach on an industrial use-case at ABB Robotics.

Series
Advances in Intelligent Systems and Computing, ISSN 2194-5357 ; 738
Keywords
parallelization, legacy, CUDA, OpenMP
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38623 (URN)10.1007/978-3-319-77028-4_59 (DOI)2-s2.0-85045844568 (Scopus ID)9783319770277 (ISBN)
Conference
15th International Conference on Information Technology : New Generations ITNG'18, 16 Apr 2018, Las Vegas, United States
Projects
MOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2018-03-06 Created: 2018-03-06 Last updated: 2018-11-28Bibliographically approved
Bucaioni, A., Cicchetti, A., Ciccozzi, F., Kodali, M. & Sjödin, M. (2018). Alignment of Requirements and Testing in Agile: An Industrial Experience. Advances in Intelligent Systems and Computing, 738, 225-232
Open this publication in new window or tab >>Alignment of Requirements and Testing in Agile: An Industrial Experience
Show others...
2018 (English)In: Advances in Intelligent Systems and Computing, ISSN 2194-5357, E-ISSN 2194-5365, Vol. 738, p. 225-232Article in journal (Refereed) Published
Abstract [en]

Agile development aims at switching the focus from processes to interactions between stakeholders, from heavy to minimalistic documentation, from contract negotiation and detailed plans to customer collaboration and prompt reaction to changes. With these premises, requirements traceability may appear to be an overly exigent activity, with little or no return-of-investment. However, since testing remains crucial even when going agile, the developers need to identify at a glance what to test and how to test it. That is why, even though requirements traceability has historically faced a firm resistance from the agile community, it can provide several benefits when promoting precise alignment of requirements with testing. This paper reports on our experience in promoting traceability of requirements and testing in the data communications for mission-critical systems in an industrial Scrum project. We define a semi-automated requirements tracing mechanism which coordinates four traceability techniques. We evaluate the solution by applying it to an industrial project aiming at enhancing the existing Virtual Router Redundancy Protocol by adding Simple Network Management Protocol support. 

Place, publisher, year, edition, pages
Springer Verlag, 2018
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-39196 (URN)10.1007/978-3-319-77028-4_33 (DOI)2-s2.0-85045853502 (Scopus ID)
Available from: 2018-05-11 Created: 2018-05-11 Last updated: 2018-05-11Bibliographically approved
Masud, A. N., Lisper, B. & Ciccozzi, F. (2018). Automatic Inference of Task Parallelism in Task-graph-based Actor Models. IEEE Access, 6, 78965-78991
Open this publication in new window or tab >>Automatic Inference of Task Parallelism in Task-graph-based Actor Models
2018 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 6, p. 78965-78991Article in journal (Refereed) Published
Abstract [en]

Automatic inference of task level parallelism is fundamental for ensuring many kinds of safety and liveness properties of parallel applications. For example, two tasks running in parallel may be involved in data races when they have conflicting memory accesses, or one is affecting the termination of another by updating shared variables. In this article, we have considered a task-graph-based actor model, used in signal processing applications (e.g., baseband processing in wireless communication, LTE uplink processing) that are deployed on many-core platforms, in which actors, task-graphs and tasks are the active entities running in parallel. Actors invoke task graphs, which in turn invoke tasks, and they communicate through message passing, thus creating different kinds of dependencies and parallelism in the application. We introduce a novel May Happen in Parallel (MHP) analysis for complex parallel applications based on our computational model. The MHP analysis consists of (i) data-flow analysis applicable to parallel control-flow structures inferring MHP facts representing pairs of tasks running in parallel, (ii) identification of all direct and indirect communication by generating a context-free grammar and enumerating valid strings representing parallelism and dependencies among active entities, and (iii) inferring MHP facts when multiple task-graphs communicate. Our analysis is applicable to other computational models (e.g. Cilk or X10) too. We have fully implemented our analysis and evaluated it on signal processing applications consisting of a maximum of 36.57 million lines of code representing 232 different tasks. The analysis approximately 7 minutes to identify all communication information and 10.5 minutes to identify 12052 executable parallel task-pairs (to analyse for concurrency bugs) proving that our analysis is scalable for industrial-sized code-bases.

Keywords
May happen in parallel, data flow analysis, actor model, parallel task graph, graph reachability, UML profile
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41748 (URN)10.1109/ACCESS.2018.2885705 (DOI)000454857600001 ()2-s2.0-85058163957 (Scopus ID)2169-3536 (ISBN)
Projects
Static Program Analysis for Complex Embedded systemsMOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2018-12-18 Created: 2019-01-25 Last updated: 2019-01-17Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-0401-1036

Search in DiVA

Show all publications