This page has only limited features, please log in for full access.
Industry 4.0 has led to a dramatic shift in manufacturing processes, which must be accomplished by interacting end-to-end industrial systems. While Industry 4.0 is still a big challenge for many manufacturing companies, reference architectures have been increasingly adopted in different domains to guide engineers on how their systems should interoperate and be structured. Companies have made different experiences with reference architectures for Industry 4.0. However, depending on the use cases addressed, a reference architecture may be more or less suited to support the transformation of a particular company. Besides, a complete understanding of existing representative architectures does not exist. The main goal of this work is to review existing reference architectures for Industry 4.0 and analyze them concerning their suitability for supporting Industry 4.0 processes and solutions. For this, we systematically researched these architectures and thoroughly analyzed and characterized them. We also address their use and technologies/tools that could support their implementation. As a result, we found that existing architectures still have a long way to go; hence, we present the most urgent steps for the near future. We conclude that the Industry 4.0 community is right in investing in reference architectures considering the future of Industry 4.0.
Elisa Yumi Nakagawa; Pablo Oliveira Antonino; Frank Schnicke; Rafael Capilla; Thomas Kuhn; Peter Liggesmeyer. Industry 4.0 reference architectures: State of the art and future trends. Computers & Industrial Engineering 2021, 156, 107241 .
AMA StyleElisa Yumi Nakagawa, Pablo Oliveira Antonino, Frank Schnicke, Rafael Capilla, Thomas Kuhn, Peter Liggesmeyer. Industry 4.0 reference architectures: State of the art and future trends. Computers & Industrial Engineering. 2021; 156 ():107241.
Chicago/Turabian StyleElisa Yumi Nakagawa; Pablo Oliveira Antonino; Frank Schnicke; Rafael Capilla; Thomas Kuhn; Peter Liggesmeyer. 2021. "Industry 4.0 reference architectures: State of the art and future trends." Computers & Industrial Engineering 156, no. : 107241.
Architectural Design Decisions (ADDs) capture the essence of relevant Architectural Knowledge (AK) and the underpinning rationale in order to produce well-designed software architectures. AK and design rationale might get lost if not captured at the same time when the architecture is discussed and modeled in early design phases. For years, this relevant knowledge has been captured using text templates and supported by a number of research tools. Nevertheless, as no commercial tool is still available combining AK capturing with UML notations to facilitate capturing the design decisions at the same time the architecture is modeled, is the major barrier to convince software architects and companies to invest in documenting the significant design decisions. As capturing AK using text templates requires an extra effort, we propose an approach to make the documentation process easier and reduce the effort thereof by using voice commands. In particular, we suggest an approach to: (i) capture ADDs using voice commands during design conversations, and (ii) link the captured ADDs to UML notations. Our approach integrates OctoUML, a modeling tool with voice commands for capturing design decisions by voice.
Rafael Capilla; Rodi Jolak; Michel R. V. Chaudron; Carlos Carrillo. Design Decisions by Voice: The Next Step of Software Architecture Knowledge Management. Transactions on Petri Nets and Other Models of Concurrency XV 2020, 166 -177.
AMA StyleRafael Capilla, Rodi Jolak, Michel R. V. Chaudron, Carlos Carrillo. Design Decisions by Voice: The Next Step of Software Architecture Knowledge Management. Transactions on Petri Nets and Other Models of Concurrency XV. 2020; ():166-177.
Chicago/Turabian StyleRafael Capilla; Rodi Jolak; Michel R. V. Chaudron; Carlos Carrillo. 2020. "Design Decisions by Voice: The Next Step of Software Architecture Knowledge Management." Transactions on Petri Nets and Other Models of Concurrency XV , no. : 166-177.
The stability and longevity of software systems rely on the quality of design decisions over time. In modern software-intensive systems the number of design decisions taken, the dependencies between those decisions, and the number of design alternatives considered, complicate software maintenance and jeopardize the system’s longevity. Despite the existence of complexity metrics applied to code, there is a lack of metrics for design decisions. As estimating the complexity of a set of design decisions is needed for understanding the difficulty of software evolution, this paper proposes and validates a new metric to estimate the complexity of decision networks. The metric is based on decision topologies and provides a way to understand the complexity of decision sets and reason about the maintenance difficulty. We validate our metric empirically in two different ways: (i) evaluating the complexity of two service-based platform systems, and (ii) analyzing the evolution of complexity in four open-source projects and compare how the evolution of complexity affects to the architecture in one of the open-source projects. Our results show that certain network topologies are more difficult to maintain, so we provide a set of tactics to reduce the complexity of design decision networks.
Carlos Carrillo Sanchez; Rafael Capilla; Miroslaw Staron. Estimating the Complexity of Architectural Design Decision Networks. IEEE Access 2020, 8, 168558 -168575.
AMA StyleCarlos Carrillo Sanchez, Rafael Capilla, Miroslaw Staron. Estimating the Complexity of Architectural Design Decision Networks. IEEE Access. 2020; 8 (99):168558-168575.
Chicago/Turabian StyleCarlos Carrillo Sanchez; Rafael Capilla; Miroslaw Staron. 2020. "Estimating the Complexity of Architectural Design Decision Networks." IEEE Access 8, no. 99: 168558-168575.
Making the right decisions is challenging for architects on all levels of seniority. Less experienced architects in particular perceive the transition from design problems to their solutions as hard; it is not always clear how to find suitable concepts and technologies, how to compare alternatives, and how to build consensus. Lack of experience makes it difficult to train software engineering students in the identification, selection, and collective evaluation of design alternatives. Moreover, human factors such as cognitive bias make “soft” topics like architecture decisions rather hard to teach. To overcome these issues and let students gain the required experience, a Spanish University ran two experiments. Undergraduate computer science students assumed different roles in collaborative decision-making tasks and design activities. They used a novel decision-modeling tool to capture and challenge the relevant design decisions. This paper describes this new teaching setup and reports on lessons learned.
Rafael Capilla; Olaf Zimmermann; Carlos Carrillo; Hernán Astudillo. Teaching Students Software Architecture Decision Making. Transactions on Petri Nets and Other Models of Concurrency XV 2020, 231 -246.
AMA StyleRafael Capilla, Olaf Zimmermann, Carlos Carrillo, Hernán Astudillo. Teaching Students Software Architecture Decision Making. Transactions on Petri Nets and Other Models of Concurrency XV. 2020; ():231-246.
Chicago/Turabian StyleRafael Capilla; Olaf Zimmermann; Carlos Carrillo; Hernán Astudillo. 2020. "Teaching Students Software Architecture Decision Making." Transactions on Petri Nets and Other Models of Concurrency XV , no. : 231-246.
Usability is a highly desired but often ignored software quality. Effective user interfaces tend to increase learnability, effectiveness and user satisfaction. But usability is often neglected in the early stages of software development and is thus frequently not address in a system's architectural design. Furthermore, because usability is often neglected or deferred, it is difficult to estimate the effort specifically spent on adding or improving usability mechanisms in the software architecture and in code. In this work, we present a case study where we analyze the impact of introducing a variety of usability mechanisms to a mobile application and we report on the architectural changes that must be made in the software architecture to accommodate them. We also report on the additional code required to implement these usability mechanisms and we investigate the users' satisfaction of combining and using several usability mechanisms in a mobile application. Finally, we evaluated user responses—both positive and negatives—to these usability mechanisms via a questionnaire involving 25 users from different roles and different organizations and including contextual interviews to analyze the qualitative responses of the subjects. Our results show that apart from the relatively modest modeling and coding effort, the combination of several usability mechanisms seems beneficial for users of mobile systems and increases the satisfaction during the interaction with the system.
Rafael Capilla; Rick Kazman; Carlos Romera; Carlos Carrillo. Usability implications in software architecture: The case study of a mobile app. Software: Practice and Experience 2020, 50, 2145 -2168.
AMA StyleRafael Capilla, Rick Kazman, Carlos Romera, Carlos Carrillo. Usability implications in software architecture: The case study of a mobile app. Software: Practice and Experience. 2020; 50 (12):2145-2168.
Chicago/Turabian StyleRafael Capilla; Rick Kazman; Carlos Romera; Carlos Carrillo. 2020. "Usability implications in software architecture: The case study of a mobile app." Software: Practice and Experience 50, no. 12: 2145-2168.
The availability of open source assets for almost all imaginable domains has led the software industry to opportunistic design—an approach in which people develop new software systems in an ad hoc fashion by reusing and combining components that were not designed to be used together. In this paper we investigate this emerging approach. We demonstrate the approach with an industrial example in which Node.js modules and various subsystems are used in an opportunistic way. Furthermore, to study opportunistic reuse as a phenomenon, we present the results of three contextual interviews and a survey with reuse practitioners to understand to what extent opportunistic reuse offers improvements over traditional systematic reuse approaches.
Niko Mäkitalo; Antero Taivalsaari; Arto Kiviluoto; Tommi Mikkonen; Rafael Capilla. On opportunistic software reuse. Computing 2020, 102, 2385 -2408.
AMA StyleNiko Mäkitalo, Antero Taivalsaari, Arto Kiviluoto, Tommi Mikkonen, Rafael Capilla. On opportunistic software reuse. Computing. 2020; 102 (11):2385-2408.
Chicago/Turabian StyleNiko Mäkitalo; Antero Taivalsaari; Arto Kiviluoto; Tommi Mikkonen; Rafael Capilla. 2020. "On opportunistic software reuse." Computing 102, no. 11: 2385-2408.
Much has been investigated about software reuse since the software crisis. The development of software reuse methods, implementation techniques, and cost models has resulted in a significant amount of research over years. Nevertheless, the increasing adoption of reuse techniques, many of them subsumed under higher level software engineering processes, and advanced programming techniques that ease the way to reuse software assets, have hidden somehow in the recent years new research trends on the practice of reuse and caused the disappearance of several reuse conferences. Also, new forms of reuse like open data and feature models have brought new opportunities for reuse beyond the traditional software components. From past to present, we summarize in this research the recent history of software reuse, and we report new research areas and forms of reuse according to current needs in industry and application domains, as well as promising research trends for the upcoming years.
Rafael Capilla; Barbara Gallina; Carlos Cetina; John Favaro. Opportunities for software reuse in an uncertain world: From past to emerging trends. Journal of Software: Evolution and Process 2019, 31, 1 .
AMA StyleRafael Capilla, Barbara Gallina, Carlos Cetina, John Favaro. Opportunities for software reuse in an uncertain world: From past to emerging trends. Journal of Software: Evolution and Process. 2019; 31 (8):1.
Chicago/Turabian StyleRafael Capilla; Barbara Gallina; Carlos Cetina; John Favaro. 2019. "Opportunities for software reuse in an uncertain world: From past to emerging trends." Journal of Software: Evolution and Process 31, no. 8: 1.
Rafael Capilla; Barbara Gallina; Carlos Cetina Englada. The new era of software reuse. Journal of Software: Evolution and Process 2019, 31, 1 .
AMA StyleRafael Capilla, Barbara Gallina, Carlos Cetina Englada. The new era of software reuse. Journal of Software: Evolution and Process. 2019; 31 (8):1.
Chicago/Turabian StyleRafael Capilla; Barbara Gallina; Carlos Cetina Englada. 2019. "The new era of software reuse." Journal of Software: Evolution and Process 31, no. 8: 1.
Rafael Capilla; Lidia Fuentes; Malte Lochau. Software variability in dynamic environments. Journal of Systems and Software 2019, 156, 62 -64.
AMA StyleRafael Capilla, Lidia Fuentes, Malte Lochau. Software variability in dynamic environments. Journal of Systems and Software. 2019; 156 ():62-64.
Chicago/Turabian StyleRafael Capilla; Lidia Fuentes; Malte Lochau. 2019. "Software variability in dynamic environments." Journal of Systems and Software 156, no. : 62-64.
Carlos Carrillo; Rafael Capilla. Ripple effect to evaluate the impact of changes in architectural design decisions. Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings 2018, 41 .
AMA StyleCarlos Carrillo, Rafael Capilla. Ripple effect to evaluate the impact of changes in architectural design decisions. Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings. 2018; ():41.
Chicago/Turabian StyleCarlos Carrillo; Rafael Capilla. 2018. "Ripple effect to evaluate the impact of changes in architectural design decisions." Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings , no. : 41.
The story of success of software product line engineering and software variability, as the cornerstone to support the diversity of the product portfolio is widely recognized by software companies. Nowadays, the complexity of new software‐intensive systems demanding development challenges, such as runtime reconfiguration operations, autonomous behavior, and swarm capabilities among others, makes the weakness of current software variability techniques explicit as feature models are unable to reconfigure themselves. Therefore, we address in this chapter the challenges, problems, and solutions that dynamic variability can offer, and we also highlight the role of dynamic software product lines as emerging software development paradigm.
Rafael Capilla; Jan Bosch; Mike Hinchey. Cutting-Edge Topics on Dynamic Software Variability. Software Technology: 10 Years of Innovation in IEEE Computer 2018, 247 -270.
AMA StyleRafael Capilla, Jan Bosch, Mike Hinchey. Cutting-Edge Topics on Dynamic Software Variability. Software Technology: 10 Years of Innovation in IEEE Computer. 2018; ():247-270.
Chicago/Turabian StyleRafael Capilla; Jan Bosch; Mike Hinchey. 2018. "Cutting-Edge Topics on Dynamic Software Variability." Software Technology: 10 Years of Innovation in IEEE Computer , no. : 247-270.
Elisa Yumi Nakagawa; Rafael Capilla; Eoin Woods; Philippe Kruchten. Sustainability and longevity of systems and architectures. Journal of Systems and Software 2018, 140, 1 -2.
AMA StyleElisa Yumi Nakagawa, Rafael Capilla, Eoin Woods, Philippe Kruchten. Sustainability and longevity of systems and architectures. Journal of Systems and Software. 2018; 140 ():1-2.
Chicago/Turabian StyleElisa Yumi Nakagawa; Rafael Capilla; Eoin Woods; Philippe Kruchten. 2018. "Sustainability and longevity of systems and architectures." Journal of Systems and Software 140, no. : 1-2.
Complex software systems must be maintained for years or decades, and the effort and cost to maintain them are often high, involving continuous refactoring to ensure their longevity in the face of changing requirements. In this article, we introduce the notion of architectural knowledge (AK) sustainability as a new concept to support architects dealing with the evolution of long-lived systems. Architecture sustainability refers to the ability of the architecture to endure over time with the minimum number of refactoring cycles possible. We suggest that sustainability of the AK is a function of how stable the decisions are, and we discuss a set of sustainability criteria and metrics useful to estimate the sustainability of this AK.
Rafael Capilla; Elisa Yumi Nakagawa; Uwe Zdun; Carlos Carrillo. Toward Architectural Knowledge Sustainability. New Opportunities to Extend the Longevity of Systems. 2018, 1 .
AMA StyleRafael Capilla, Elisa Yumi Nakagawa, Uwe Zdun, Carlos Carrillo. Toward Architectural Knowledge Sustainability. New Opportunities to Extend the Longevity of Systems. . 2018; ():1.
Chicago/Turabian StyleRafael Capilla; Elisa Yumi Nakagawa; Uwe Zdun; Carlos Carrillo. 2018. "Toward Architectural Knowledge Sustainability. New Opportunities to Extend the Longevity of Systems." , no. : 1.
Myra Cohen; Mathieu Acher; Lidia Fuentes; Daniel Schall; Jan Bosch; Rafael Capilla; Ebrahim Bagheri; Yingfei Xiong; Javier Troya; Antonio Ruiz-Cortés; David Benavides. Proceedings of the 21st International Systems and Software Product Line Conference - Volume A. Proceedings of the 21st International Systems and Software Product Line Conference - Volume A 2017, 1 .
AMA StyleMyra Cohen, Mathieu Acher, Lidia Fuentes, Daniel Schall, Jan Bosch, Rafael Capilla, Ebrahim Bagheri, Yingfei Xiong, Javier Troya, Antonio Ruiz-Cortés, David Benavides. Proceedings of the 21st International Systems and Software Product Line Conference - Volume A. Proceedings of the 21st International Systems and Software Product Line Conference - Volume A. 2017; ():1.
Chicago/Turabian StyleMyra Cohen; Mathieu Acher; Lidia Fuentes; Daniel Schall; Jan Bosch; Rafael Capilla; Ebrahim Bagheri; Yingfei Xiong; Javier Troya; Antonio Ruiz-Cortés; David Benavides. 2017. "Proceedings of the 21st International Systems and Software Product Line Conference - Volume A." Proceedings of the 21st International Systems and Software Product Line Conference - Volume A , no. : 1.
The importance of architectural knowledge (AK) management for software development has been highlighted over the past ten years, where a significant amount of research has been done. Since the first systems using design rationale in the seventies and eighties to the more modern approaches using AK for designing software architectures, a variety of models, approaches, and research tools have leveraged the interests of researchers and practitioners in AK management (AKM). Capturing, sharing, and using AK has many benefits for software designers and maintainers, but the cost to capture this relevant knowledge hampers a widespread use by software companies. However, as the improvements made over the last decade didn't boost a wider adoption of AKM approaches, there is a need to identify the successes and shortcomings of current AK approaches and know what industry needs from AK. Therefore, as researchers and promoters of many of the AK research tools in the early stages where AK became relevant for the software architecture community, and based on our experience and observations, we provide in this research an informal retrospective analysis of what has been done and the challenges and trends for a future research agenda to promote AK use in modern software development practices.
Rafael Capilla; Anton Jansen; Antony Tang; Paris Avgeriou; Muhammad Ali Babar. 10 years of software architecture knowledge management: Practice and future. Journal of Systems and Software 2016, 116, 191 -205.
AMA StyleRafael Capilla, Anton Jansen, Antony Tang, Paris Avgeriou, Muhammad Ali Babar. 10 years of software architecture knowledge management: Practice and future. Journal of Systems and Software. 2016; 116 ():191-205.
Chicago/Turabian StyleRafael Capilla; Anton Jansen; Antony Tang; Paris Avgeriou; Muhammad Ali Babar. 2016. "10 years of software architecture knowledge management: Practice and future." Journal of Systems and Software 116, no. : 191-205.
We theorize a two-mind model of design thinking. Mind 1 is about logical design reasoning, and Mind 2 is about the reflection on our reasoning and judgments. The problem solving ability of Mind 1 has often been emphasized in software engineering. The reflective Mind 2, however, has not received much attention. In this study, we want to find out if Mind 2, or reflection, can improve design discourse, a prerequisite of design quality. We conducted multiple case studies with 12 student groups, divided into test groups and control groups. We provided external reflections to the test groups. No reflections were given to the control groups. We analyzed the quality of the design discourse in both groups. We found that reflection (Mind 2) improves the quality of design discourse (Mind 1) under certain preconditions. The results highlight the significance of reflection as a mean to improve the quality of design discourse. We conclude that software designers need both Mind 1 and Mind 2 to obtain a higher quality design discourse, as a foundation for a good design. Copyright © 2016 John Wiley & Sons, Ltd.
Maryam Razavian; Antony Tang; Rafael Capilla; Patricia Lago. In two minds: how reflections influence software design thinking. Journal of Software: Evolution and Process 2016, 28, 394 -426.
AMA StyleMaryam Razavian, Antony Tang, Rafael Capilla, Patricia Lago. In two minds: how reflections influence software design thinking. Journal of Software: Evolution and Process. 2016; 28 (6):394-426.
Chicago/Turabian StyleMaryam Razavian; Antony Tang; Rafael Capilla; Patricia Lago. 2016. "In two minds: how reflections influence software design thinking." Journal of Software: Evolution and Process 28, no. 6: 394-426.
The two articles in this special section address the topic of systems and software vaiability. Variability management involves two key challenges. First, industrial reality shows that for successful platforms, the number of variation points, variants (alternatives that can be selected for a variation point), and dependencies between variation points and variants easily reaches staggering levels.
Jan Bosch; Rafael Capilla; Rich Hilliard. Trends in Systems and Software Variability [Guest editors' introduction]. IEEE Software 2015, 32, 44 -51.
AMA StyleJan Bosch, Rafael Capilla, Rich Hilliard. Trends in Systems and Software Variability [Guest editors' introduction]. IEEE Software. 2015; 32 (3):44-51.
Chicago/Turabian StyleJan Bosch; Rafael Capilla; Rich Hilliard. 2015. "Trends in Systems and Software Variability [Guest editors' introduction]." IEEE Software 32, no. 3: 44-51.
Onur Aktuğ; Azadeh Alebrahim; Nour Ali; Paris Avgeriou; Rami Bahsoon; Vilhelm Bergmann; Luigi Buglione; Rafael Capilla; Laura Carvajal; Christine Choppy; Maya Daneva; Peter Eeles; Veli-Pekka Eloranta; Özgü Özköse Erdoğan; Stephan Faßbender; Matthias Galster; Martin Große-Rhode; Jörgen Hansson; Neil Harrison; Maritta Heisel; Sebastian Herold; Andrea Herrmann; Robert Hilbrich; Christoffer Höglund; Christian Kop; Kai Koskimies; Hui Lin; Stefan Mann; Heinrich C. Mayr; Wilhelm Meding; Ivan Mistrik; Kent Niesel; Andreas Rausch; Roshanak Roshandel; Vladimir A. Shekhovtsov; Carlos Solis; Michael Stal; Miroslaw Staron; Bedir Tekinerdogan; Uwe Van Heesch; Stephan Weißleder; Antoine Widmer; Qian Zhang; Yanlong Zhang; Hong Zhu. List of Contributors. Relating System Quality and Software Architecture 2014, 1 .
AMA StyleOnur Aktuğ, Azadeh Alebrahim, Nour Ali, Paris Avgeriou, Rami Bahsoon, Vilhelm Bergmann, Luigi Buglione, Rafael Capilla, Laura Carvajal, Christine Choppy, Maya Daneva, Peter Eeles, Veli-Pekka Eloranta, Özgü Özköse Erdoğan, Stephan Faßbender, Matthias Galster, Martin Große-Rhode, Jörgen Hansson, Neil Harrison, Maritta Heisel, Sebastian Herold, Andrea Herrmann, Robert Hilbrich, Christoffer Höglund, Christian Kop, Kai Koskimies, Hui Lin, Stefan Mann, Heinrich C. Mayr, Wilhelm Meding, Ivan Mistrik, Kent Niesel, Andreas Rausch, Roshanak Roshandel, Vladimir A. Shekhovtsov, Carlos Solis, Michael Stal, Miroslaw Staron, Bedir Tekinerdogan, Uwe Van Heesch, Stephan Weißleder, Antoine Widmer, Qian Zhang, Yanlong Zhang, Hong Zhu. List of Contributors. Relating System Quality and Software Architecture. 2014; ():1.
Chicago/Turabian StyleOnur Aktuğ; Azadeh Alebrahim; Nour Ali; Paris Avgeriou; Rami Bahsoon; Vilhelm Bergmann; Luigi Buglione; Rafael Capilla; Laura Carvajal; Christine Choppy; Maya Daneva; Peter Eeles; Veli-Pekka Eloranta; Özgü Özköse Erdoğan; Stephan Faßbender; Matthias Galster; Martin Große-Rhode; Jörgen Hansson; Neil Harrison; Maritta Heisel; Sebastian Herold; Andrea Herrmann; Robert Hilbrich; Christoffer Höglund; Christian Kop; Kai Koskimies; Hui Lin; Stefan Mann; Heinrich C. Mayr; Wilhelm Meding; Ivan Mistrik; Kent Niesel; Andreas Rausch; Roshanak Roshandel; Vladimir A. Shekhovtsov; Carlos Solis; Michael Stal; Miroslaw Staron; Bedir Tekinerdogan; Uwe Van Heesch; Stephan Weißleder; Antoine Widmer; Qian Zhang; Yanlong Zhang; Hong Zhu. 2014. "List of Contributors." Relating System Quality and Software Architecture , no. : 1.
Over the last two decades, software product lines have been used successfully in industry for building families of systems of related products, maximizing reuse, and exploiting their variable and configurable options. In a changing world, modern software demands more and more adaptive features, many of them performed dynamically, and the requirements on the software architecture to support adaptation capabilities of systems are increasing in importance. Today, many embedded system families and application domains such as ecosystems, service-based applications, and self-adaptive systems demand runtime capabilities for flexible adaptation, reconfiguration, and post-deployment activities. However, as traditional software product line architectures fail to provide mechanisms for runtime adaptation and behavior of products, there is a shift toward designing more dynamic software architectures and building more adaptable software able to handle autonomous decision-making, according to varying conditions. Recent development approaches such as Dynamic Software Product Lines (DSPLs) attempt to face the challenges of the dynamic conditions of such systems but the state of these solution architectures is still immature. In order to provide a more comprehensive treatment of DSPL models and their solution architectures, in this research work we provide an overview of the state of the art and current techniques that, partially, attempt to face the many challenges of runtime variability mechanisms in the context of Dynamic Software Product Lines. We also provide an integrated view of the challenges and solutions that are necessary to support runtime variability mechanisms in DSPL models and software architectures.
Rafael Capilla; Jan Bosch; Pablo Trinidad; Antonio Ruiz-Cortés; Mike Hinchey. An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry. Journal of Systems and Software 2014, 91, 3 -23.
AMA StyleRafael Capilla, Jan Bosch, Pablo Trinidad, Antonio Ruiz-Cortés, Mike Hinchey. An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry. Journal of Systems and Software. 2014; 91 ():3-23.
Chicago/Turabian StyleRafael Capilla; Jan Bosch; Pablo Trinidad; Antonio Ruiz-Cortés; Mike Hinchey. 2014. "An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry." Journal of Systems and Software 91, no. : 3-23.
A complete and detailed (full) Design Rationale Documentation (DRD) could support many software development activities, such as an impact analysis or a major redesign. However, this is typically too onerous for systematic industrial use as it is not cost effective to write, maintain, or read. The key idea investigated in this article is that DRD should be developed only to the extent required to support activities particularly difficult to execute or in need of significant improvement in a particular context. The aim of this article is to empirically investigate the customization of the DRD by documenting only the information items that will probably be required for executing an activity. This customization strategy relies on the hypothesis that the value of a specific DRD information item depends on its category (e.g., assumptions, related requirements, etc.) and on the activity it is meant to support. We investigate this hypothesis through two controlled experiments involving a total of 75 master students as experimental subjects. Results show that the value of a DRD information item significantly depends on its category and, within a given category, on the activity it supports. Furthermore, on average among activities, documenting only the information items that have been required at least half of the time (i.e., the information that will probably be required in the future) leads to a customized DRD containing about half the information items of a full documentation. We expect that such a significant reduction in DRD information should mitigate the effects of some inhibitors that currently prevent practitioners from documenting design decision rationale.
Davide Falessi; Lionel C. Briand; Giovanni Cantone; Rafael Capilla; Philippe Kruchten. The value of design rationale information. ACM Transactions on Software Engineering and Methodology 2013, 22, 1 -32.
AMA StyleDavide Falessi, Lionel C. Briand, Giovanni Cantone, Rafael Capilla, Philippe Kruchten. The value of design rationale information. ACM Transactions on Software Engineering and Methodology. 2013; 22 (3):1-32.
Chicago/Turabian StyleDavide Falessi; Lionel C. Briand; Giovanni Cantone; Rafael Capilla; Philippe Kruchten. 2013. "The value of design rationale information." ACM Transactions on Software Engineering and Methodology 22, no. 3: 1-32.