https://www.mdu.se/

mdu.sePublications
Change search
Refine search result
123 1 - 50 of 141
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Alvaro, Alexandre
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Land, Rikard
    Mälardalen University, Department of Computer Science and Electronics.
    Crnkovic, Ivica
    Mälardalen University, Department of Computer Science and Electronics.
    Software Component Evaluation: A Theoretical Study on Component Selection and Certification2007Report (Other academic)
    Abstract [en]

    Software components need to be evaluated at several points during their life cycle, by different actors and for different purposes. Besides the quality assurance performed by component developers, there are two main activities which include evaluation of components: component selection (i.e. evaluation performed by the system developer in order to select the best fit component to use in a system) and an envisioned component certification (i.e. evaluation made by an independent actor in order to increase the trust in the component). This paper examines the fundamental similarities and differences between these two types of component evaluations and elaborates how these fit in the overall process views of component-based development for both COTS-based development and software product line development.

  • 2.
    Bosnic, Ivana
    et al.
    University of Zagreb.
    Cavrak, Igor
    University of Zagreb.
    Orlic, Marin
    University of Zagreb.
    Zagar, Mario
    University of Zagreb.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Avoiding Scylla and Charybdis in Distributed Software Development Course2011In: Proceedings - International Conference on Software Engineering 2011, 2011, p. 26-30Conference paper (Refereed)
    Abstract [en]

    Teaching Distributed Software Development (DSD) is a challenging task. A convincing simulation of distributed environment in a local environment is practically impossible. Teaching DSD in distributed environment is more realistic since the students directly experience all its specifics. However, teaching in distributed environment, in which several geographically separated teams participate, is very demanding. Different types of obstacles occur, from administrative and organizational to technical ones. This paper describes some of the challenges, lessons learned, but also success stories of the DSD course performed now eight year in a row.

  • 3.
    Bosnic, Ivana
    et al.
    University of Zagreb, Croatia.
    Cavrak, Igor
    University of Zagreb, Croatia.
    Orlic, Marin
    University of Zagreb, Croatia.
    Zagar, Mario
    University of Zagreb, Croatia.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Student Motivation in Distributed Software Development Projects2011In: Proceedings - International Conference on Software Engineering 2011, 2011, p. 31-35Conference paper (Refereed)
    Abstract [en]

    In this paper we discuss challenges faced in conducting distributed student projects within a scope of a distributed software development university course. Student motivation and demotivation factors, along with perceived cultural differences, are identified and analyzed on the basis of data collected from a number of student projects.

  • 4.
    Bosnic, Ivana
    et al.
    University of Zagreb.
    Cavrak, Igor
    University of Zagreb.
    Zagar, Mario
    University of Zagreb.
    Land, Rikard
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Customers' Role in Teaching Distributed Software Development2010In: Software Engineering Education Conference, Proceedings, Pittsburgh, PA, USA, 2010, p. 73-80Conference paper (Refereed)
    Abstract [en]

    This paper describes different aspects of teaching distributed software development, regarding the types of project customers: industry and academia. These approaches enable students to be more engaged in real-world situations, by having customers from the industry, local or distributed customers in universities, distributed customers in software engineering contests or being involved in an ongoing project, thus simulating the company merging. The methods we describe are used in a distributed project-oriented course, which is jointly carried out by two universities from Sweden and Croatia. The paper presents our experiences of such projects being done during the course, the differences in each approach, issues observed and ways to solve them, in order to create a more engaging education for better-prepared engineers of tomorrow.

  • 5.
    Bosnic, Ivana
    et al.
    FER, University of Zagreb, Croatia.
    Ciccozzi, Federico
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cavrak, Igor
    FER, University of Zagreb, Croatia.
    Di Nitto, Elisabetta
    Politecnico di Milano, Italy.
    Mirandola, Raffaela
    Politecnico di Milano, Italy.
    Zagar, Mario
    FER, University of Zagreb, Croatia.
    Managing diversity in distributed software development education: a longitudinal case study2019In: ACM Transactions on Computing Education, E-ISSN 1946-6226, Vol. 19, no 2Article in journal (Refereed)
    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.

  • 6.
    Breivold, Hongyu
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cloud Computing education strategies2014In: 2014 IEEE 27th Conference on Software Engineering Education and Training, CSEE and T 2014 - Proceedings, 2014, p. 29-38Conference paper (Refereed)
    Abstract [en]

    Cloud Computing is changing the services consumption and delivery platform as well as the way businesses and users interact with IT resources. It represents a major conceptual shift that introduces new elements in programming models and development environments that are not present in traditional technologies. The evolution of Cloud Computing motivates teaching Cloud Computing 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. There is thus a strong need for having a Cloud Computing education course that (i) has a broad coverage of different roles interacting with a cloud; and (ii) leverages Cloud Computing concepts, technology and architecture topics at both introductory and advanced level. In this paper, we describe the demand for understanding the impact of Cloud Computing in computer science higher education. We propose education strategies for teaching Cloud Computing, including key knowledge areas for an enduring Cloud Computing course. © 2014 IEEE.

  • 7.
    Breivold, Hongyu Pei
    et al.
    ABB Corp Res.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Larsson, Magnus
    ABB Corp Res.
    Software architecture evolution through evolvability analysis2012In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 85, no 11, p. 2574-2592Article in journal (Refereed)
    Abstract [en]

    Software evolvability is a multifaceted quality attribute that describes a software system's ability to easily accommodate future changes. It is a fundamental characteristic for the efficient implementation of strategic decisions, and the increasing economic value of software. For long life systems, there is a need to address evolvability explicitly during the entire software lifecycle in order to prolong the productive lifetime of software systems. However, designing and evolving software architectures are the challenging task. To improve the ability to understand and systematically analyze the evolution of software system architectures, in this paper, we describe software architecture evolution characterization, and propose an architecture evolvability analysis process that provides replicable techniques for performing activities to aim at understanding and supporting software architecture evolution. The activities are embedded in: (i) the application of a software evolvability model; (ii) a structured qualitative method for analyzing evolvability at the architectural level; and (iii) a quantitative evolvability analysis method with explicit and quantitative treatment of stakeholders' evolvability concerns and the impact of potential architectural solutions on evolvability. The qualitative and quantitative assessments manifested in the evolvability analysis process have been applied in two large-scale industrial software systems at ABB and Ericsson, with experiences and reflections described. (c) 2012 Elsevier Inc. All rights reserved.

  • 8.
    Breivold, Hongyu Pei
    et al.
    ABB Corporate Research, Västerås, Sweden .
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Radosevic, Iva
    Balatinac, Ivan
    Architecting for the cloud: A systematic review2015In: 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 (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.

  • 9.
    Buhnova, B.
    et al.
    Masaryk University, Czech Republic.
    Weck, W.
    Karlsruhe Institute of Technology, Germany.
    Reussner, R.
    Tufts University, United States.
    Stafford, J.
    Microsoft Research, United States.
    Szyperski, C.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    CompArch'11 - Proceedings of the 2011 Federated Events on Component-Based Software Engineering and Software Architecture - WCOP'11: Preface2011In: CompArch'11 - Proceedings of the 2011 Federated Events on Component-Based Software Engineering and Software Architecture - WCOP'11, Boulder, CO, 2011Conference paper (Other academic)
  • 10.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    ProCom - the Progress Component Model Reference Manual, version 1.02008Report (Other academic)
  • 11.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    Progress Component Model Reference Manual - version 0.52008Report (Other academic)
    Abstract [en]

    This report describes the component model developed within PROGRESS. In addition to defining the syntax and semantics, it also gives some background and motivation, and describes how this work relates to the overall PROGRESS vision and to the work in other areas of the project.

  • 12.
    Cavrak, Igor
    et al.
    FER, University of Zagreb, Croatia.
    Bosnic, Ivana
    FER, University of Zagreb, Croatia.
    Zagar, Mario
    FER, University of Zagreb, Croatia.
    Ciccozzi, Federico
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Di Nitto, Elisabetta
    Politecnico di Milano, Italy.
    Mirandola, Raffaela
    Politecnico di Milano, Italy.
    Crnkovic, Ivica
    Chalmers University, Gothenburg, Sweden.
    Hall of Fame nomination paper: Distributed Software Development course2017In: 30th IEEE Conference on Software Engineering Education & Training CSEE&T, 2017Conference paper (Refereed)
    Abstract [en]

    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

  • 13.
    Cavrak, Igor
    et al.
    University of Zagreb.
    Orlic, Marin
    University of Zagreb.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Collaboration Patterns in Distributed Software Development Projects2012In: Proceedings - International Conference on Software Engineering, 2012, p. 1235-1244Conference paper (Refereed)
    Abstract [en]

    The need for educating future software engineers in the field of global software engineering is recognized by many educational institutions. In this paper we outline the characteristics of an existing global software development course run over a period of nine years, and present a flexible project framework for conducting student projects in a distributed environment. Based on data collected from fourteen distributed student projects, a set of collaboration patterns is identified and their causes and implications described. Collaboration patterns are a result of the analysis of collaboration links within distributed student teams, and can assist teachers in better understanding of the dynamics found in distributed projects.

  • 14.
    Chaudron, Michel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Component-based Software Engineering2008In: Software Engineering, Principle and Practice, Wiley-Blackwell, 2008, p. 605-628Chapter in book (Other academic)
  • 15.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Performing a project in a Distributed Software Development Course: Lessons Learned2010In: 2010 5th IEEE International Conference on Global Software Engineering (ICGSE), Princeton: IEEE , 2010, p. 187-191Conference paper (Refereed)
  • 16.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Crnkovic, Ivica
    Chalmers University of Technology, University of Gothenburg, Sweden.
    Di Ruscio, D.
    University of L'Aquila, Italy.
    Malavolta, I.
    University of L'Aquila, Italy.
    Pelliccione, P.
    Chalmers University of Technology, University of Gothenburg, Sweden.
    Spalazzese, R.
    Malmö University, Sweden.
    Model-Driven Engineering for Mission-Critical IoT Systems2017In: IEEE Software, ISSN 0740-7459, Vol. 34, no 1, p. 46-53, article id 7819388Article in journal (Refereed)
    Abstract [en]

    Mission-critical Internet of Things (MC-IoT) systems involve heterogeneous things from both the digital and physical worlds. They run applications whose failure might cause significant and possibly dramatic consequences, such as interruption of public services, significant business losses, and deterioration of enterprise operations. These applications require not only high availability, reliability, safety, and security but also regulatory compliance, scalability, and serviceability. At the same time, they're exposed to various facets of uncertainty, spanning from software and hardware variability to mission planning and execution in possibly unforeseeable environments. Model-driven engineering can potentially meet these challenges and better enable the adoption of MC-IoT systems.

  • 17.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Feljan, Juraj
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Architecture optimization: Speed or accuracy? Both!2018In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367, Vol. 26, no 2, p. 661-684Article in journal (Refereed)
    Abstract [en]

    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 modelling 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 responsetime).

  • 18.
    Cortaliessa, Vittorio
    et al.
    Università dell'Aquila, Italy .
    Crnkovic, Ivica
    Mälardalen University, Department of Computer Science and Electronics.
    Marinelli, Fabrizio
    Laboratoire d'Informatique de l'Ecole Polytechnique, Paris, France.
    Potena, Pasqualina
    Università G.D'Annunzio, Italy .
    Driving the selection of COTS components on the basis of system requirements2007In: ASE'07 - 2007 ACM/IEEE International Conference on Automated Software Engineering, 2007, 2007, p. 413-416Conference paper (Refereed)
    Abstract [en]

    In a component-based development process the selection of components is an activity that takes place over multiple lifecycle phases that span from requirement specifications through design to implementation-integration. Automated tool support for component selection would be very helpful in each phase. In this paper we introduce a framework that supports the selection of COTS componentsin the requirements phase. The framework lays on a tool that builds and solves an optimization model, whose solution provides the optimal COTS component selection. The selection criterion is based on cost minimization of the whole system while assuring a certain degree of satisfaction of the system requirements. The output of the model solution indicates the optimal combination of single COTScomponents and assemblies of COTS that satisfy the requirements while minimizing costs. 

  • 19. Cortellessa, Vittorio
    et al.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Marinelli, Fabrizio
    Potena, Pasqualina
    Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements2008In: Journal of universal computer science (Online), ISSN 0948-695X, E-ISSN 0948-6968, Vol. 14, p. 1228-1256Article in journal (Refereed)
    Abstract [en]

    In a component-based development process the selection of components is an activity that takes place over multiple lifecycle phases that span from requirement specifications through design to implementation and integration. In different phases, different assumptions are valid and different granularity of information is available, which has a consequence that different procedure should be used in the selection process and an automated tool support for an optimized component selection would be very helpful in each phase. In this paper we analyze the assumptions and propose the selection procedure in the requirements phase. The selection criterion is based on cost minimization of the whole system while assuring a certain degree of satisfaction of the system requirements that can be considered before designing the whole architecture. For the selection and optimization procedure we have adopted the DEER (DEcision support for componEnt-based softwaRe) framework, previously developed to be used in the selection process in the design phase. The output of DEER indicates the optimal combination of single COTS (Commercial-Off-The-Shelf) components and assemblies of COTS that satisfy the requirements while minimizing costs. In a case study we illustrate the selection and optimization procedure and an analysis of the model sensitivity to changes in the requirements.

  • 20.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Are ultra-large systems systems of systems?2008In: Proceedings of the 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems, ULSSIS'08, 2008, p. 57-59Conference paper (Refereed)
    Abstract [en]

    Ultra Large Systems are characterized by its complexity, size, diversity of concerns and missions. As complexity of systems grows and the demands on interoperability between them grow, the concerns of how to build, maintain and manage them becomes more important. It is however a question how this complexity can be managed, or how the complexity can be simplified. A second question is related to a question whether an ultra-large system is the same as ultra-large integration of systems, i.e. systems of systems? In this short position paper we exploit a hypothesis that ultra-large systems are either loosely integrated systems and in that case they should be treated as systems of systems, or tight-coupled systems and in that case they should have an layered architecture. As illustration, the paper shows some examples from Scandinavian industry that manage systems which are approaching the size of ultra-large systems.

  • 21. Crnkovic, Ivica
    Challenges in Education in Global Software Engineering: What Are the Problems in Communication Mismatches, and How to Ensure Information Consistency?2014In: Information Systems Development: Transforming Organisations and Society Through Information Systems - Proceedings of the 23rd International Conference on Information Systems Development, ISD 2014, University of Zagreb, Faculty of Organization and Informatics , 2014, no 109614, p. 4-5Conference paper (Refereed)
    Abstract [en]

    This talk presents needs, challenges and experience of education of Global Software engineering. In Global Software Development the developers and other stakeholders are acting in a distributed environment, with different contexts and with different assumptions. This usually causes different understanding of the same information and different reactions of the stakeholders which may lead to different problems during the development process. What can be done to avoid these problems? This talk addresses these questions through an analysis of education for distributed development, performed in a distributed environment. In particular, experiences from a course "Distributed Software Development” (DSD) will be discussed. DSD course was organized and performed between the School for Innovation, Design and Engineering at Mälardalen University (MDH), Sweden, the University of Zagreb, Faculty of Electrical Engineering and Computing (FER), Croatia, and partially joined by the Politecnico di Milano, Italy. The talk will discuss the challenges in creating and performing a joint DSD course due to misunderstanding of information and the solutions implemented at DSD, lessons learned, and success stories. 

  • 22.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Component-Based and Model-Driven Engineering: What is the difference? A CBSE perspective2014In: CEUR Workshop Proceedings, vol. 1281, 2014, Vol. 1281, p. 1-2Conference paper (Other academic)
  • 23. Crnkovic, Ivica
    Component-based software engineering - New challenges in software development2003In: Proc. Int. Conf. Inf. Technol. Interfaces ITI, 2003, p. 9-18Conference paper (Refereed)
    Abstract [en]

    The primary role of component-based software engineering is to address the development of systems as an assembly of parts (components), the development of parts as reusable entities, and the maintenance and upgrading of systems by customising and replacing such parts. This requires established methodologies and tool support covering the entire component and system lifecycle including technological, organisational, marketing, legal, and other aspects. The traditional disciplines from software engineering need new methodologies to support component-based development.

  • 24.
    Crnkovic, Ivica
    Mälardalen University, Department of Computer Science and Electronics.
    Component-based Software Engineering for Embedded Systems2005In: From MDD Concepts to Experiments and Illustrations, John Wiley & Sons, 2005, p. 712-713Chapter in book (Other academic)
    Abstract [en]

    Component-based development (CBD) is established as a standard approach in many domains. The most attractive parts of CBD come from its business side: increasing reuse and development efficiency. On other side many technical aspects are still remaining as challenges. This is in particular true in domains of embedded and dependable systems. The seminar will give the basic characteristics of component-based software development, then challenges and current practice and research directions.

  • 25.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Managing complexity and predictability in embedded systems: Applying component-based development2012In: 2012 2nd International Workshop on Software Engineering for Embedded Systems, SEES 2012 - Proceedings, 2012Conference paper (Refereed)
    Abstract [en]

    Due to increasing complexity of software in embedded systems, the software development requires approaches that can manage that complexity in a similar way as this is done in general-purpose software, but at the same time provide support for embedded systems specifics. In this paper we give a short overview of a component-based approach that meets these requirements. 

  • 26.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Predictability and evolution in resilient systems2011In: Lecture Notes in Computer Science, Volume 6968, Springer Publishing Company, 2011, p. 113-114Chapter in book (Refereed)
    Abstract [en]

    This paper gives a short overview of the talk related to the challenges in software development of resilient systems. The challenges come of the resilience characteristic as such; it a system emerging lifecycle property, neither directly measurable nor computable. While software is an essential part of a system, its analysis not enough for determining the system resilience. The talk will discuss about system resilience reasoning, its limitations, and possible approaches in the software design that include resilience analysis. © 2011 Springer-Verlag.

  • 27.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Aleksić-Maslač, Karmela
    Zagrebačka Škola Ekonomije i Managementa, Zagreb, Croati.
    Jerković, Hrvoje
    Zagrebačka Škola Ekonomije i Managementa, Zagreb, Croati.
    Holistic approach in Education - Filling the Gap between Different Disciplines2006In: Proceedings of the International Conference on Information Technology Interfaces, ITI2006, 2006, Vol. Article number 1708448, p. 35-40Conference paper (Refereed)
    Abstract [en]

    In the research, education and in everyday practice, a need for and general understanding and a holistic approach is becoming more and more important. Still in concrete cases such approaches meet many challenges, mostly in form of misunderstanding between involved partners experts from different disciplines. Edu-cation in general does not provide training for such approach. This paper describes a case - a course which goal was to transfer knowledge from one area to another: A software Engineer-ing and management of software development projects was taught to students of management and economy. In addition to this the course pro-vided new teaching methods that students were not used to. Finally the course has been taught as a distance course, using internet-based tech-nology. All this elements made the course very challenging. The paper gives an overview of the case, identifies the challenges and discusses the lessons learned.

  • 28.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Bertolino, Antonia(ISTI-CNR.Stafford, JudithTufts University.
    Proceedings of the 2011  Federated Events on Component-Based  Software Engineering & Software Architecture2011Conference proceedings (editor) (Other academic)
  • 29.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Bosnic, Ivana
    University of Zagreb.
    Zagar, Mario
    University of Zagreb.
    Ten Tips to Succeed in Global Software Engineering Education2012In: Proceedings - International Conference on Software Engineering, 2012, p. 1225-1234Conference paper (Refereed)
    Abstract [en]

    The most effective setting for training in Global Software Engineering is to provide a distributed environment for students. In such an environment, students will meet challenges in recognizing problems first-hand. Teaching in a distributed environment is, however, very demanding, challenging and unpredictable compared to teaching in a local environment. Based on nine years of experience, in this paper we present the most important issues that should be taken into consideration to increase the probability of success in teaching a Global Software Engineering course.

  • 30.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Chaudron, Michel
    Eindhoven University of Technology, Netherlands.
    Larsson, Stig
    ABB, Corporate Research, Sweden .
    Component-based Development Process and Component Lifecycle2005In: 2006 International Conference on Software Engineering Advances, ICSEA'06, 2005, p. 625-630Conference paper (Refereed)
    Abstract [en]

    The process of component- and component-based system development differs in many significant ways from the "classical" development process of software systems. The main difference is in the separation of the development process of components from the development process of systems. This fact has a significant impact on the development process. Since the component-basedapproach is a relatively young approach in software engineering, the main emphasis in the area has been in development of technologies, while process modeling is still an unexplored area. This paper analyses the basic characteristics of the component-based approach and its impact on the development process and lifecycle models. The generic lifecycle of component-based systems and thelifecycle of components are discussed, and the different types of development processes are discussed in detail: architecture-driven component development, productline development and COTS-based development. Finally a short case study illustrates the principles and specifics of component-based processes. 

  • 31.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Chaudron, Michel
    Technical University Eindhoven.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    A Classification Framework for Component Models2007In: Proceedings of the 7th Conference on Software Engineering and Practice in Sweden, Göteborg, Sweden, 2007Conference paper (Refereed)
    Abstract [en]

    The essence of component-based software engineering is embodied in component models. Component models specify the properties of components and the mechanism of component compositions. In a rapid growth, a plethora of different component models has been developed, using different technologies, having different aims, and using different principles. This has resulted in a number of models and technologies which have some similarities, but also principal differences, and in many cases unclear concepts. Component-based development has not succeeded in providing standard principles, as for example object-oriented development. In order to increase the understanding of the concepts, and to easier differentiate component models, this paper provides a Component Model Classification Framework which identifies and quantifies basic principles of component models. Further, the paper classifies a certain number of component models using this framework.

  • 32.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Gruhn, Volker
    University of Duisburg-Essen.
    Book, Matthias
    University of Duisburg-Essen.
    Preface2011In: Lecture Notes in Computer Science, vol 6903, Springer, 2011Chapter in book (Other academic)
  • 33.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Grunske, Lars
    University of Queensland, Brisbane, Australia.
    Evaluating Dependability Attributes of Component-Based Specifications2007In: Proceedings - International Conference on Software Engineering 2007, 2007, p. 157-158Conference paper (Refereed)
    Abstract [en]

    Component-Based Development (CBD) is established in many application domains. There is a strong trend in applying the same approach in different domains of dependable systems. However, a precondition of a successful use of CBD in these domains is the utilization of theories, methods and technologies to predict and evaluate dependability attributes. This tutorial gives an analysis of current methodologies of attribute-specific evaluation methods for dependable component-based systems. We identify limitations of the current technologies, discusses existing and possible new solutions to overcome these limitations both from a esearch-oriented and practical perspective.

  • 34.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Heineman, George
    Schmidt, Heinz
    Stafford, Judith
    Wallnau, Kurt
    Guest Editorial2007In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 80, no 5, p. 641-642Article in journal (Other academic)
  • 35.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Hofmeister, ChristineReussner, Ralf
    Quality of Software Architectures, Second International Conference on Quality of Software Architectures, QoSA2006Collection (editor) (Other academic)
  • 36.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Land, Rikard
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sjögren, Andreas
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Is software engineering training enough for software engineers?2003In: Software Engineering Education Conference, Proceedings, 2003, p. 140-147Conference paper (Refereed)
    Abstract [en]

    Most software engineering courses focus exclusively on the software development process, often referring to problems related to the complexity of software products and processes. In practice, however, many problems of a complex nature arise in which system engineering and other engineering disciplines are important in the development of systems. In such cases software engineers may have difficulty in coping with the entire problem, in the same way that engineers in other fields may have difficulty in understanding the software part. This suggests that the software engineering education of today is inadequate in certain respects. This paper presents a case study of a software engineering course and discusses the difficulty for computer science students to understand and to develop a system which also requires skills in engineering of a non-software nature. 

  • 37.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Larsson, Magnus
    ABB, Västerås.
    Preiss, O.
    ABB, Switzerland .
    Concerning predictability in dependable component-based systems: Classification of quality attributes2005In: Architecting Dependable Systems III, Springer, 2005, p. 257-278Chapter in book (Refereed)
    Abstract [en]

    One of the main objectives of developing component-based software systems is to enable efficient building of systems through the integration of components. All component models define some form of component inter-face standard that facilitates the programmatic integration of components, but they do not facilitate or provide theories for the prediction of the quality attributes of the component compositions. This decreases significantly the value of the component-based approach to building dependable systems. If it is not possible to predict the value of a particular attribute of a system prior to integration and deployment to the target environment the system must be subjected to other procedures, often costly, to determine this value empirically. For this reason one of the challenges of the component-based approach is to obtain means for the "composition" of quality attributes. This challenge poses a very difficult task because the diverse types of quality attributes do not have the same underlying conceptual characteristics, since many factors, in addition to component properties, influence the system properties. This paper analyses the relation between the quality attributes of components and those of their compositions. The types of relations are classified according to the possibility of predicting properties of compositions from the properties of the components and according to the influences of other factors such as software architecture or system environment. The classification is exemplified with particular cases of compositions of quality attributes, and its relation to dependability is discussed. Such a classification can indicate the efforts that would be required to predict the system attributes which are essential for system dependability and in this way, the feasibility of the component-based approach in developing dependable systems.

  • 38. Crnkovic, Ivica
    et al.
    Lau, K. -K
    University of Manchester, Manchester, United Kingdom.
    Mirandola, R.
    Politecnico di Milano, Milano, Italy.
    SOA and quality assurance2008In: EUROMICRO 2008 - Proceedings of the 34th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2008, 2008, p. xxvii-xxviiiConference paper (Refereed)
    Abstract [en]

    This panel session discusses which qualities are of particular importance for SOA and it explores the possible ways to guarantee them. Presentations in the session will explore the use of different techniques and approaches in order to foster the adoption of quality modeling techniques by industrial software systems.

  • 39.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Chalmers, Gothenburg, Sweden.
    Malavolta, I.
    Gran Sasso Science Institute, L'Aquila, Italy.
    Muccini, H.
    University of L'Aquila, DISIM Departments, Italy.
    Sharaf, M.
    University of L'Aquila, DISIM Departments, Italy.
    On the Use of Component-Based Principles and Practices for Architecting Cyber-Physical Systems2016In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 2016, p. 23-32Conference 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.

  • 40.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Malavolta, Ivano
    Mälardalen University, School of Innovation, Design and Engineering.
    Muccini, Henry
    Mälardalen University, School of Innovation, Design and Engineering.
    A Model-Driven Engineering Framework for Component Models Interoperability2009In: COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, Springer, 2009, p. 36-53Chapter in book (Refereed)
    Abstract [en]

    A multitude of component models exist today, characterized by slightly different conceptual architectural elements, focusing on a specific operational domain, covering different phases of component life-cycle, or supporting analysis of different quality attributes. When dealing with different variants of products and in evolution of systems, there is a need for transformation of system models from one component model to another one. However, it is not obvious that different component models can accurately exchange models, due to their differences in concepts and semantics. This paper demonstrate an approach to achieve that. The paper proposes a generic framework to interchange models among component models. The framework, named DUALLY allows for tool and notations interpretability easing the transformation among many different component models. It is automated inside the Eclipse framework, and fully-extensible. The DUALLY approach is applied to two different component models for real-time embedded systems and observations are reported.

  • 41.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Maras, Josip
    Mälardalen University, School of Innovation, Design and Engineering.
    Lednicki, Luka
    Mälardalen University, School of Innovation, Design and Engineering.
    CBSE symposium - complete reference list2012Report (Other academic)
    Abstract [en]

    This report presents a complete list of papers published on the CBSE Syposium events (including Interational Workhop on Component Based Software Engineering 1998 - 2003, and International Symposium on Component Based Software Engineering 2004 - 2011). Each reference is accompanied with a unique identifier in the form of S-YY-Index.

  • 42.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Engineering.
    Nawrocki, Jerzy
    Software Engineering in East and South Europe (SEESE'08)2008In: ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, p. 1077-1077Conference paper (Other (popular science, discussion, etc.))
    Abstract [en]

    East and South European countries are going through a process of intensive changes and ICT plays an important role in supporting these changes. Most of the East and South European countries have a tradition of high quality education, in particular in natural and traditional technical sciences and thus have a good potential to take the new challenges. Today there is a strong need for advances and excellence in Software Engineering education and research, which are crucial for effective development of software industry in the region.

  • 43.
    Crnkovic, Ivica
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Pei-Breivold, Hongyu
    Mälardalen University, Department of Computer Science and Electronics.
    Tutorial: Emerging Technologies in Industrial Context - Component-Based and Service-Oriented Software Engineering2007Conference paper (Refereed)
    Abstract [en]

    In recent years new paradigms of software development have emerged in many industrial and application domains: component-based and service-based software engineering.Component-based software engineering (CBSE) provides support for building systems through the composition and assembly of software components. CBSE is an established approach in many engineering domains, such as distributed and web based systems, desktop and graphical applications and recently in embedded systems domains. CBSE technologies facilitate effective management of complexity, significantly increase reusability and shorten time-to-market. On the other hand, the growing demands for Internet computing and emerging network-based business applications and systems are the driving forces for the evolvement of service-oriented software engineering (SOSE) . SOSE utilizes services as fundamental elements for developing applications and software solutions. SOSE technologies offer great feasibility in integrating distributed systems that are built on various platforms and technologies and further push focus on reusability and development efficiency.CBSE and SOSE are similar paradigms; they use similar approaches and technologies. Both CBSE and SOSE have a common source: Software Architecture with its basic concept that have been further developed and specialized. SOSE has evolved from CBSE frameworks and object oriented computing to face the challenges of open environments. Still CBSE and SOSE have continued developing in parallel, keeping different foci, which also has resulted in confusion in developing and applying similar concepts, or the same concepts designated differently. For example there is a general misunderstanding in what a component and a service are. This leads to less efficient utilization and combination of these approaches. For this reason, it is important to bring these worlds together and make researchers and practitioners aware of both sides; how can we take advantages of the strengths of these two paradigms, how can we adapt and integrate the component-based and service oriented technologies, concepts and their strengths to overcome the weaknesses in each separate technology.The aim of this tutorial is to show an integrated approach in utilization of CBSE and SOSE. The tutorial will start with providing an overview of software architecture with emphasis on architecture modeling and analysis, including CBSE and SOSE techniques from software architecture perspective. Subsequently, the tutorial will present analyses of the two techniques from multiple perspectives, such as their correlation from software architecture perspective, quality attribute analysis in respective technique, advantages and disadvantages of the two techniques, the possible directions in the adaptation of the two techniques and an indication on how to combine the strengths of both techniques. During the tutorial, some industrial context examples will be presented to illustrate CBSE and SOSE approaches and their integration.

  • 44.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Leveque, Thomas
    Mälardalen University, School of Innovation, Design and Engineering.
    Zagar, Mario
    Petricic, Ana
    Feljan, Juraj
    Lednicki, Luka
    Maras, Josip
    PRIDE2010Conference paper (Refereed)
    Abstract [en]

    This paper describes PRIDE, an integrated development environment for efficient component-based software development of embedded systems. PRIDE uses reusable software components as the central development units, and as a means to support and aggregate various analysis and verification techniques throughout the whole lifecycle - from early specification to deployment and synthesis. This paper focuses on support provided by PRIDE for the modeling and analysis aspects of the development of embedded systems based on reusable software components.

  • 45.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    Chaudron, Michel
    Universiteit Leiden.
    A Classification Framework for Software Component Models2011In: IEEE Transactions on Software Engineering, ISSN 0098-5589, E-ISSN 1939-3520, Vol. 37, no 5, p. 593-615Article in journal (Refereed)
    Abstract [en]

    In the last decade a large number of different software component models have been developed, with different aims and using different principles and technologies. This has resulted in a number of models which have many similarities, but also principal differences, and in many cases unclear concepts. Component-based development has not succeeded in providing standard principles, as has, for example, object-oriented development. In order to increase the understanding of the concepts, and to differentiate component models more easily, this paper identifies, discusses and characterises fundamental principles of component models, and provides a Component Model Classification Framework based on these principles. Further, the paper classifies a large number of component models using this framework.

  • 46.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering. Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Stafford, Judith
    Embedded Systems Software Architecture2013In: Journal of systems architecture, ISSN 1383-7621, E-ISSN 1873-6165, Vol. 59, no 10, Part D, p. 1013-1014Article in journal (Refereed)
    Abstract [en]

    Embedded Systems are the dominate type of computer systems today; they span a range from small systems that include a simple platform integrated with sensors and actuators, to large distributed systems consisting of hundreds, or possibly thousand, intensely interactive nodes. In recent years Software has become the most important part of Embedded Systems – it implements the complex system functionality, is a currier of the system integration, and it is enabler of important extra-functional system properties. In many aspects, software for Embedded Systems has reached functional complexity of general-purpose software but faces severe constraints. This special issue includes six research papers that address some of the mentioned challenges.

  • 47.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Stafford, JudithTufts University, Boston, USA.
    Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS2011Conference proceedings (editor) (Other academic)
  • 48.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Stafford, Judith
    Tufts Univ, USA.
    Szyperski, Clemens
    Microsoft Corp.
    Software Components beyond Programming: From Routines to Services2011In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 28, no 3, p. 22-26Article in journal (Refereed)
    Abstract [en]

    Software engineering (SE) conference in 1968, Doug Mc Ilroy introduced the concept of software components during his keynote speech, "Mass-Produced Software Components." That components hold such an esteemed place in SE history should come as no surprise: componentization is a fundamental engineering principle. Top-down approaches decompose large systems into smaller parts-components and bottom-up approaches compose smaller parts components into larger systems. Since 1968, components have played a role in both SE research and practice. For example, components have been an immanent part of software architecture from its early days.2 In 1998, the In ternational Conference on Software Engineering introduced component based software engineering (CBSE) as a specific area within SE at the first workshop on CBSE.

  • 49.
    Crnkovic, Ivica
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    Zagar, Mario
    Petricic, Ana
    Feljan, Juraj
    Lednicki, Luka
    Maras, Josip
    Classification and Survey of Component Models2010Conference paper (Refereed)
    Abstract [en]

    As component-based software engineering is growing and its usage expanding, more and more component models are developed. In this paper we present a survey of software component models in which models are described and classified respecting the classification framework for component models proposed by Crnković et. al. This framework specifies several groups of important principles and characteristics of component models: lifecycle, constructs, specification and management of extra-functional properties, and application domain. This paper gives examples three component models using the classification framework.

  • 50.
    De Andrade, Hugo
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Federal University of Bahia, Av. Adhemar de Barros, Salvador, Brazil .
    Almeida, E.
    Federal University of Bahia, Av. Adhemar de Barros, Salvador, Brazil .
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Architectural bad smells in Software Product Lines: An exploratory study2014In: ACM International Conference Proceeding Series, 2014, p. Article number 12-Conference paper (Refereed)
    Abstract [en]

    The Software Product Lines (SPL) paradigm has arisen for taking advantage of existing common aspects between different products, while also considering product-specific features. The architecture of a SPL comprises a model that will result in product architectures, and may include solutions leading to bad (architectural) design. One way to assess such design decisions is through the identification of architectural bad smells, which are properties that prejudice the overall software quality, but are not necessarily faulty or errant.Inthis paper, we conduct an exploratory study that aims at characterizing bad smells in the context of product line architectures. We analyzed an open source SPL project and extracted its architecture to investigate the occurrence or absence of four smells initially studied in single systems. In addition, we propose a smell specific to the SPL context and discuss possible causes and implications of having those smells in the architecture of a product line. The results indicate that the granularity of the SPL features may influence on the occurrence of smells.

123 1 - 50 of 141
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf