mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Alternative names
Publications (10 of 135) Show all publications
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
Gaetana, S., Sentilles, S., Crnkovic, I. & Seceleanu, T. (2016). Extra-Functional Properties Composability for Embedded Systems Partitioning. In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016: . Paper presented at 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016 (pp. 69-78).
Open this publication in new window or tab >>Extra-Functional Properties Composability for Embedded Systems Partitioning
2016 (English)In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 2016, p. 69-78Conference paper, Published paper (Refereed)
Abstract [en]

Modern embedded systems utilize the advances in heterogeneous platforms that enable implementing functions in software (SW) and hardware (HW) components. A proper configuration of SW and HW components can significantly improve the values of the extra-functional properties such as performance and energy savings. However, due to increasing application complexity, it is difficult to find the best combination of HW and SW components. The problem basically boils down to calculate, for a given architecture, the system properties from the components' ones. In this paper, we address the problem of composability of EFPs at system level. Although in general this is not a solvable problem, we present that, under strictly specified constraints, it is possible to compose the system EFPs starting from the component ones. We start by detailing constraints related to the system architecture, platform and process development and, based on these constraints, we provide composition rules for different types of EFPs. We demonstrate the results through an industrial example.

Keywords
Composability, Embedded Systems, Extra-Functional Properties, Partitioning, Computer architecture, Energy conservation, Problem solving, Software engineering, Application complexity, Heterogeneous platforms, Modern embedded systems, System architectures, Systems partitioning
National Category
Embedded Systems
Identifiers
urn:nbn:se:mdh:diva-32912 (URN)10.1109/CBSE.2016.19 (DOI)000390946500009 ()2-s2.0-84981485900 (Scopus ID)9781509025695 (ISBN)
Conference
19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016
Available from: 2016-08-25 Created: 2016-08-25 Last updated: 2017-01-26Bibliographically approved
Sapienza, G., Dodig-Crnkovic, G. & Crnkovic, I. (2016). Inclusion of Ethical Aspects in Multi-criteria Decision Analysis. In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016: . Paper presented at 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 5 April 2016 (pp. 1-8).
Open this publication in new window or tab >>Inclusion of Ethical Aspects in Multi-criteria Decision Analysis
2016 (English)In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 2016, p. 1-8Conference paper, Published paper (Refereed)
Abstract [en]

Decision process is often based on multi-faceted and mutually opposing criteria. In order to provide rigorous techniques for problem structuring and criteria aggregation used for classification and ranking of alternatives, Multiple Criteria Decision Analysis (MCDA) has been used as a method to achieve architectural decisions. Even though it has already been argued in literature that MCDA essentially depends on value systems of decision-makers, it is a question how the decision result reflects a particular criterion, requirement or a particular decision. This is especially true if a criterion is not precisely specified. In this paper we analyse the ethical aspects of MCDA. In our analysis we argue that it is in the long run necessary to make value basis of decision-making and ethical considerations explicit and subject for scrutiny. As a support to encourage introduction of transparent value-based deliberation we propose an extended MCDA scheme that would explicitly take into account ethical analysis. As an illustration, we present an industrial case study for the Software (SW)/Hardware (HW) partitioning of a wind turbine application in which different decisions can be taken, depending on the ethical aspects. 

Keywords
Embedded Systems, Ethical Aspects, Ethics, Multiple Criteria Decision Analysis, Application programs, Decision theory, Operations research, Philosophical aspects, Software architecture, Wind turbines, Architectural decision, Ethical considerations, Industrial case study, Multi-criteria decision analysis, Ranking of alternatives, Decision making
National Category
Embedded Systems
Identifiers
urn:nbn:se:mdh:diva-32524 (URN)10.1109/MARCH.2016.8 (DOI)000382526100001 ()2-s2.0-84979519277 (Scopus ID)9781509025732 (ISBN)
Conference
1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 5 April 2016
Available from: 2016-08-18 Created: 2016-08-18 Last updated: 2016-09-29Bibliographically approved
Crnkovic, I., Malavolta, I., Muccini, H. & Sharaf, M. (2016). On the Use of Component-Based Principles and Practices for Architecting Cyber-Physical Systems. In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016: . Paper presented at 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016 (pp. 23-32).
Open this publication in new window or tab >>On the Use of Component-Based Principles and Practices for Architecting Cyber-Physical Systems
2016 (English)In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 2016, p. 23-32Conference paper, Published paper (Refereed)
Abstract [en]

By focussing on Cyber Physical Systems (CPS), this paper investigates how component-based principles and practices are used and support the activity of architecting CPS. For doing so, by running a systematic process, we selected 49 primary studies from the most important publishers search engines. Those papers have been analyzed and their contents classified according to the Classification Framework for Component Models proposed in our previous work. The results show that the main concerns handled by CPS component models are those of integration, performance, and maintainability. The instruments to satisfy those concerns, while architecting CPS, are ad-hoc software/system architecture, model-based approaches, architectural and component languages, and design. The IEC 61499 standard with its functions block is remarkably used to drive the work on six papers. Java is the most frequently used programming language used for implementing the components. Components are deployed mostly at compile time. Interfaces are almost equally distributed into port-based and operation-based. Overall, the results show a transition of technologies and approaches used in Embedded Systems to CPS, but still lacking methods for integrated architecting, in particular in incremental development.

Keywords
Component-Based Software Engineering, Cyber-Physical Systems, Systematic Literature Review, Computational linguistics, Java programming language, Search engines, Software engineering, Standards, Classification framework, Cyber physical systems (CPSs), Cyber-physical systems (CPS), Incremental development, Model based approach, Principles and practices, Embedded systems
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-32913 (URN)10.1109/CBSE.2016.9 (DOI)000390946500004 ()2-s2.0-84981492693 (Scopus ID)9781509025695 (ISBN)
Conference
19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016
Available from: 2016-08-25 Created: 2016-08-25 Last updated: 2018-01-10Bibliographically approved
Potena, P., Crnkovic, I., Marinelli, F. & Cortellessa, V. (2016). Software architecture quality of service analysis based on optimization models. In: Intell. Syst. Ref. Libr.: (pp. 421-446).
Open this publication in new window or tab >>Software architecture quality of service analysis based on optimization models
2016 (English)In: Intell. Syst. Ref. Libr., 2016, p. 421-446Conference paper, Published paper (Refereed)
Abstract [en]

The ability to predict Quality of Service (QoS) of a software architecture supports a large set of decisions across multiple lifecycle phases that span from design through implementation-integration to adaptation phase. However, due to the different amount and type of information available, different prediction approaches can be introduced in each phase. A major issue in this direction is that QoS attribute cannot be analyzed separately, because they (sometime adversely) affect each other. Therefore, approaches aimed at the tradeoff analysis of different attributes have been recently introduced (e.g., reliability versus cost, security versus performance). In this chapter we focus on modeling and analysis of QoS tradeoffs of a software architecture based on optimization models. A particular emphasis will be given to two aspects of this problem: (i) the mathematical foundations of QoS tradeoffs and their dependencies on the static and dynamic aspects of a software architecture, and (ii) the automation of architectural decisions driven by optimization models for QoS tradeoffs.

Keywords
Medical informatics system, Optimization, Quality of service, Software architecture
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-31599 (URN)10.1007/978-3-319-24499-0_14 (DOI)2-s2.0-84946059734 (Scopus ID)
Available from: 2016-05-23 Created: 2016-05-19 Last updated: 2018-01-10Bibliographically approved
T., V., Ivica, C., E.S., D. A., P.A.D.M., S. N., Y.C., C. & S.R.D.L., M. (2016). Twenty-eight years of component-based software engineering. Journal of Systems and Software, 111, 128-148
Open this publication in new window or tab >>Twenty-eight years of component-based software engineering
Show others...
2016 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 111, p. 128-148Article in journal (Refereed) Published
Abstract [en]

The idea of developing software components was envisioned more than forty years ago. In the past two decades, Component-Based Software Engineering (CBSE) has emerged as a distinguishable approach in software engineering, and it has attracted the attention of many researchers, which has led to many results being published in the research literature. There is a huge amount of knowledge encapsulated in conferences and journals targeting this area, but a systematic analysis of that knowledge is missing. For this reason, we aim to investigate the state-of-the-art of the CBSE area through a detailed literature review. To do this, 1231 studies dating from 1984 to 2012 were analyzed. Using the available evidence, this paper addresses five dimensions of CBSE: main objectives, research topics, application domains, research intensity and applied research methods. The main objectives found were to increase productivity, save costs and improve quality. The most addressed application domains are homogeneously divided between commercial-off-the-shelf (COTS), distributed and embedded systems. Intensity of research showed a considerable increase in the last fourteen years. In addition to the analysis, this paper also synthesizes the available evidence, identifies open issues and points out areas that call for further research. 

Keywords
Component-based software development, Component-based software engineering, Software component, Systematic mapping study, Embedded systems, Software engineering, Commercial off-the shelves, Literature reviews, State of the art, Systematic analysis, Systematic mapping studies, Software design
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-30648 (URN)10.1016/j.jss.2015.09.019 (DOI)000370462800008 ()2-s2.0-84949744952 (Scopus ID)
Available from: 2015-12-30 Created: 2015-12-30 Last updated: 2017-12-01Bibliographically approved
Breivold, H. P., Crnkovic, I., Radosevic, I. & Balatinac, I. (2015). Architecting for the cloud: A systematic review. In: Proceedings - 17th IEEE International Conference on Computational Science and Engineering, CSE 2014, Jointly with 13th IEEE International Conference on Ubiquitous Computing and Communications, IUCC 2014, 13th International Symposium on Pervasive Systems, Algorithms, and Networks, I-SPAN 2014 and 8th International Conference on Frontier of Computer Science and Technology, FCST 2014: . Paper presented at 17th IEEE International Conference on Computational Science and Engineering, CSE 2014 - Jointly with 13th IEEE International Conference on Ubiquitous Computing and Communications, IUCC 2014, 13th International Symposium on Pervasive Systems, Algorithms, and Networks, I-SPAN 2014 and 8th International Conference on Frontier of Computer Science and Technology, FCST 2014; Chengdu; China; 19 December 2014 through 21 December 2014 (pp. 312-318).
Open this publication in new window or tab >>Architecting for the cloud: A systematic review
2015 (English)In: Proceedings - 17th IEEE International Conference on Computational Science and Engineering, CSE 2014, Jointly with 13th IEEE International Conference on Ubiquitous Computing and Communications, IUCC 2014, 13th International Symposium on Pervasive Systems, Algorithms, and Networks, I-SPAN 2014 and 8th International Conference on Frontier of Computer Science and Technology, FCST 2014, 2015, p. 312-318Conference paper, Published paper (Refereed)
Abstract [en]

Cloud Computing has emerged as a new paradigm in the field of network-based services within many industrial and application domains. The major benefits that it provides in terms of IT efficiency and business agility represent a huge competitive advantage for an organization. However, building new services in the cloud or designing cloud-based solutions into existing business context in general is a complex decision process involving many factors. In this paper, we undertake a systematic review to obtain an overview of the existing studies in designing cloud-based solutions. In particular, we investigate the main challenges and concerns when building cloud-based architectures and different architectural approaches and design considerations that are proposed in literatures to meet these specific concerns. The search strategy identified 72 studies that were catalogued as primary studies for this review after using multi-step selection process. The main challenges and concerns are classified into four main categories: security and trustworthiness, elasticity, portability and interoperability, and cloud resilience. We have also categorized studies that describe architectural approaches and design considerations when architecting for the cloud. Implications for research and practice are presented as well.

Keywords
Cloud Computing, Cloud-based architecture, Concerns, Architectural design, Competition, Complex networks, Design, Network architecture, Network security, Ubiquitous computing, Architectural approach, Cloud-based architectures, Competitive advantage, Design considerations, Network-based services, Search strategies, Systematic Review, Distributed computer systems
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-27788 (URN)10.1109/CSE.2014.85 (DOI)000380512100051 ()2-s2.0-84925262594 (Scopus ID)9781479979813 (ISBN)
Conference
17th IEEE International Conference on Computational Science and Engineering, CSE 2014 - Jointly with 13th IEEE International Conference on Ubiquitous Computing and Communications, IUCC 2014, 13th International Symposium on Pervasive Systems, Algorithms, and Networks, I-SPAN 2014 and 8th International Conference on Frontier of Computer Science and Technology, FCST 2014; Chengdu; China; 19 December 2014 through 21 December 2014
Available from: 2015-04-02 Created: 2015-04-02 Last updated: 2018-01-29Bibliographically approved
Feljan, J., Ciccozzi, F., Carlson, J. & Crnkovic, I. (2015). Enhancing model-based architecture optimization with monitored system runs. In: 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15: . Paper presented at 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 26 Aug 2015, Funchal, Portugal (pp. 216-233).
Open this publication in new window or tab >>Enhancing model-based architecture optimization with monitored system runs
2015 (English)In: 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 2015, p. 216-233Conference paper, Published paper (Refereed)
Abstract [en]

Typically, architecture optimization searches for good architecture candidates based on analyzing a model of the system. Model-based analysis inherently relies on abstractions and estimates, and as such produces approximations which are used to compare architecture candidates. However, approximations are often not sufficient due to the difficulty of accurately estimating certain extra-functional properties. In this paper, we present an architecture optimization approach where the speed of model-based optimization is combined with the accuracy of monitored system runs. Model-based optimization is used to quickly find a good architecture candidate, while optimization based on monitored system runs further refines this candidate. Using measurements assures a higher accuracy of the metrics used for optimization compared to using performance predictions. We demonstrate the feasibility of the approach by implementing it in our framework for optimizing the allocation of software tasks to the processing cores of a multicore embedded system.

Keywords
architecture optimization, model-based analysis, model simulation, monitored system execution, embedded systems, multicore, task allocation, performance, end-to-end response time
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-28162 (URN)10.1109/SEAA.2015.14 (DOI)000380478300031 ()2-s2.0-84958260528 (Scopus ID)978-1-4673-7585-6 (ISBN)
External cooperation:
Conference
41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 26 Aug 2015, Funchal, Portugal
Projects
RALF3 - Software for Embedded High Performance ArchitecturesSMARTCore: Model-driven support for deployment optimization of embedded systems on multicoreORION - Decision Support for Component-Based Software Engineering of Cyber-Physical Systems
Available from: 2015-06-12 Created: 2015-06-08 Last updated: 2016-09-01Bibliographically approved
Pei-Breivold, H. & Crnkovic, I. (2015). Experiences and Reflections on Cloud Computing Course for Second and Third Cycle Education. In: ECSAW '15 Proceedings of the 2015 European Conference on Software Architecture Workshops: . Paper presented at 2015 European Conference on Software Architecture Workshops (pp. Article No. 29).
Open this publication in new window or tab >>Experiences and Reflections on Cloud Computing Course for Second and Third Cycle Education
2015 (English)In: ECSAW '15 Proceedings of the 2015 European Conference on Software Architecture Workshops, 2015, p. Article No. 29-Conference paper, Published paper (Refereed)
Abstract [en]

The evolution of Cloud Computing motivates teaching this subject to computer science senior students and graduate students so that they can gain broad exposure to the main body of knowledge of Cloud Computing and get prepared for occupations in industry. We started the development of such a course from the end of 2013. To efficiently develop a course that introduces a new technology and has a good balance of a theoretical base and practical experience, we have designed such a course in two steps, by giving a course to the third cycle education and then to the second cycle education after refinement. In this paper, we report on our experiences gained from giving the course to the third cycle education and our reflections from the experience. We also discuss what we can improve on the next course occasion and for the second cycle education on this subject.

Keywords
Cloud Computing course experiences
National Category
Engineering and Technology Software Engineering
Identifiers
urn:nbn:se:mdh:diva-29247 (URN)10.1145/2797433.2797463 (DOI)2-s2.0-84958550133 (Scopus ID)978-1-4503-3393-1 (ISBN)
Conference
2015 European Conference on Software Architecture Workshops
Projects
InCloud - Industrial Systems Cloud Computing
Available from: 2015-10-06 Created: 2015-09-29 Last updated: 2018-01-11Bibliographically approved
Martinović, G., Karić, M. & Crnković, I. (2015). Simulation and evaluation of multiple sporadic servers rescheduling. In: IFAC-PapersOnLine: . Paper presented at 2nd IFAC Conference on Embedded Systems, Computer Intelligence and Telematics, CESCIT 2015; Maribor; Slovenia; 22 June 2015 through 24 June 2015 (pp. 270-275). , 28:10
Open this publication in new window or tab >>Simulation and evaluation of multiple sporadic servers rescheduling
2015 (English)In: IFAC-PapersOnLine, 2015, Vol. 28:10, p. 270-275Conference paper, Published paper (Refereed)
Abstract [en]

This paper deals with task scheduling in heterogeneous distributed embedded computer environments of renewable and timing variable resources. Real-time application performance can be considerably influenced by unexpected events in the environment. The predictive-reactive rescheduling procedure can enable significant improvements. The rescheduling procedure based on multiple server tasks enables usage of one's own resources, but also a fast connection to nodes with appropriate performance that will soften the influence of disturbances. We developed a tool that enables simulation of application execution conditions for a given environment and extraction of better scheduling parameter settings. Numerous scheduling parameters are improved with an increase in the number of nodes available for rescheduling. We also investigate cost-effectiveness of the method based on rescheduling time cost. The results demonstrate a possibility of achieving performance improvement by tuning cost parameters.

Keywords
Adaptive scheduling; Distributed computing; Real-time systems; Rescheduling; Simulation
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-30807 (URN)10.1016/j.ifacol.2015.08.143 (DOI)2-s2.0-84992503731 (Scopus ID)
Conference
2nd IFAC Conference on Embedded Systems, Computer Intelligence and Telematics, CESCIT 2015; Maribor; Slovenia; 22 June 2015 through 24 June 2015
Available from: 2016-01-21 Created: 2016-01-21 Last updated: 2019-01-28Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-5278-755X

Search in DiVA

Show all publications