mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 69) Show all publications
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
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
Franke, U. & Ciccozzi, F. (2018). Characterization of trade-off preferences between non-functional properties. Information Systems, 74(2), 86-102
Open this publication in new window or tab >>Characterization of trade-off preferences between non-functional properties
2018 (English)In: Information Systems, ISSN 0306-4379, E-ISSN 1873-6076, Vol. 74, no 2, p. 86-102Article in journal (Refereed) Published
Abstract [en]

Efficient design and evolution of complex software intensive systems rely on the ability to make informed decisions as early as possible in the life cycle. Such informed decisions should take both the intended functional and non-functional properties into account. Especially regarding the latter, it is both necessary to be able to predict properties and to prioritize them according to well-defined criteria. In this paper we focus on the latter problem, that is to say how to make trade-offs between non-functional properties of software intensive systems. We provide an approach based on the elicitation of utility functions from stake-holders and subsequent checks for consistency among these functions. The approach is exploitable through an easy-to-use GUI, which is also presented. Moreover, we describe the setup and the outcome of our two-fold validation based on exploratory elicitations with students and practitioners.

Place, publisher, year, edition, pages
Elsevier, 2018
Keywords
Non-functional properties, Decision-making, Trade-offs, Utility functions
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37079 (URN)10.1016/j.is.2017.07.004 (DOI)000430030800002 ()2-s2.0-85029007979 (Scopus ID)
Projects
ORION - Decision Support for Component-Based Software Engineering of Cyber-Physical SystemsMOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2017-10-26 Created: 2017-10-26 Last updated: 2018-04-26Bibliographically approved
Jongeling, R., Carlson, J., Cicchetti, A. & Ciccozzi, F. (2018). Continuous integration support in modeling tools. In: CEUR Workshop Proceedings: . Paper presented at 2018 MODELS Workshops: ModComp, MRT, OCL, FlexMDE, EXE, COMMitMDE, MDETools, GEMOC, MORSE, MDE4IoT, MDEbug, MoDeVVa, ME, MULTI, HuFaMo, AMMoRe, PAINS, MODELS-WS 2018, 14 October 2018 through 19 October 2018 (pp. 268-276). CEUR-WS, 2245
Open this publication in new window or tab >>Continuous integration support in modeling tools
2018 (English)In: CEUR Workshop Proceedings, CEUR-WS , 2018, Vol. 2245, p. 268-276Conference paper, Published paper (Refereed)
Abstract [en]

Continuous Integration (CI) and Model-Based Development (MBD) have both been hailed as practices that improve the productivity of software development. Their combination has the potential to boost productivity even more. The goal of our research is to identify impediments to realizing this combination in industrial collaborative modeling practices. In this paper, we examine certain specific features of modeling tools that, due to their immaturity, may represent impediments to combining CI and MBD. To this end, we identify features of modeling tools that are relevant to enabling CI practices in MBD processes and we review modeling tools with respect to their level of support for each of these features.

Place, publisher, year, edition, pages
CEUR-WS, 2018
Keywords
Belt drives, Industrial research, Productivity, Collaborative model, Continuous integrations, Model based development, Modeling tool, Software design
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-42980 (URN)2-s2.0-85063092120 (Scopus ID)
Conference
2018 MODELS Workshops: ModComp, MRT, OCL, FlexMDE, EXE, COMMitMDE, MDETools, GEMOC, MORSE, MDE4IoT, MDEbug, MoDeVVa, ME, MULTI, HuFaMo, AMMoRe, PAINS, MODELS-WS 2018, 14 October 2018 through 19 October 2018
Available from: 2019-03-28 Created: 2019-03-28 Last updated: 2019-04-04Bibliographically approved
Ciccozzi, F., Lambers, L., Pierantonio, A., Taentzer, G., Famelis, M., Mosser, S., . . . Wimmer, M. (2018). How do we teach modelling and model-driven engineering?: A survey. In: 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, MODELS-Companion 2018. Paper presented at 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, 14 October 2018 through 19 October 2018 (pp. 122-129). Association for Computing Machinery, Inc
Open this publication in new window or tab >>How do we teach modelling and model-driven engineering?: A survey
Show others...
2018 (English)In: 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, MODELS-Companion 2018, Association for Computing Machinery, Inc , 2018, p. 122-129Conference paper, Published paper (Refereed)
Abstract [en]

Understanding the experiences of instructors teaching modelling and model-driven engineering is of great relevance to determining how MDE courses should be managed in terms of content, assessment, and teaching methods. In this paper, we report the results of a survey of 47 instructors in this field. Questions address course content, tools and technologies used, as well as positive and negative factors affecting learning outcomes. We analyse the results and summarise key findings with the potential of improving the state of teaching and learning practices. The survey is a preliminary effort in giving a structured overview on the state-of-the-practice within teaching modeling and model-driven engineering (from the point of view of the instructor).

Place, publisher, year, edition, pages
Association for Computing Machinery, Inc, 2018
Keywords
Education, Model-driven engineering, Modelling, Curricula, Models, Surveys, Course contents, Learning outcome, State of the practice, Teaching and learning, Teaching methods, Teaching model, Tools and technologies, Teaching
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-41441 (URN)10.1145/3270112.3270129 (DOI)2-s2.0-85056884349 (Scopus ID)9781450359658 (ISBN)
Conference
21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, 14 October 2018 through 19 October 2018
Available from: 2018-11-29 Created: 2018-11-29 Last updated: 2018-11-29Bibliographically approved
Ciccozzi, F., Di Ruscio, D., Malavolta, I., Pelliccione, P. & Wortmann, A. (2018). Message from the RoSE 2018 Co-Organizers. In: Proceedings - International Conference on Software Engineering, Volume Part F137815: . Paper presented at 1st ACM/IEEE International Workshop on Robotics Software Engineering, RoSE 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018; Gothenburg; Sweden; 28 May 2018. , Part F137815
Open this publication in new window or tab >>Message from the RoSE 2018 Co-Organizers
Show others...
2018 (English)In: Proceedings - International Conference on Software Engineering, Volume Part F137815, 2018, Vol. Part F137815Conference paper, Published paper (Other academic)
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-40369 (URN)2-s2.0-85051185469 (Scopus ID)9781450357609 (ISBN)
Conference
1st ACM/IEEE International Workshop on Robotics Software Engineering, RoSE 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018; Gothenburg; Sweden; 28 May 2018
Available from: 2018-08-16 Created: 2018-08-16 Last updated: 2018-08-16Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-0401-1036

Search in DiVA

Show all publications