1. |
- Alexeeva, Zoya, et al.
(author)
-
Design Decision Documentation : A Literature Overview
- 2016
-
In: Software Architecture. - Cham : Springer. - 9783319489919 - 9783319489926 ; , s. 84-101
-
Conference paper (peer-reviewed)abstract
- Despite the abundance of research on methodologies for the documentation of design decisions and the evidence linking documentation to the improvement in the systems evolution, their practical adoption seems to be sparse. To understand this issue, we have conducted an overview of state-of-the-art on documentation of design decisions. We pursue an identification of characteristics of the different techniques proposed in the literature, such as the final goal of the documentation, the quantity of information attached to each decision documentation, the rigour of the proposed technique or its level of automation. To unveil these, we propose six classification dimensions, relevant for the industrial application, and use them to structure and analyse the review results. This work contributes with a taxonomy of the area, a structured overview covering 96 publications and a summary of open questions, which can be addressed by future research to facilitate practical adoption.
|
|
2. |
- Andersson, Jesper, 1970-, et al.
(author)
-
A conceptual framework for resilience : fundamental definitions, strategies and metrics
- 2021
-
In: Computing. - : Springer. - 0010-485X .- 1436-5057. ; 103, s. 559-588
-
Journal article (peer-reviewed)abstract
- The resilience system property has become more and more relevant, mainly because of the increasing dependance on a rapidly growing number of software-intensive, complex, socio-technical systems, which are facing uncertainty about changes they are expected to experience during their life-cycle and ways to deal with them. Methodologies for the systematic design and validation of resilience for such systems are thus highly necessary, and require contributions from several different fields. This paper contributes to current resilience research by providing a conceptual framework intended to serve as a common ground for the development of such methodologies. Its main points are: the identification of the main categories of changes a system should face; a clear definition of the different facets of resilience one could want to achieve, expressed in terms of the system dynamics; a mapping of each of these facets to design strategies that are better suited to achieve it; and the corresponding identification of possible metrics that can be used to assess its achievement.
|
|
3. |
- Andersson, Jesper, 1970-, et al.
(author)
-
A Distilled Characterization of Resilience and Its Embraced Properties Based on State-Spaces
- 2019
-
In: Software Engineering for Resilient Systems. - Cham : Springer. - 9783030308551 - 9783030308568 ; , s. 11-25
-
Conference paper (peer-reviewed)abstract
- In recent years, we have observed the increasing interest in the system property resilience. We ascribe this increasing interest to the rapidly growing number of deployed, complex, socio-technical systems, which are facing uncertainty about changes they are expected to experience during their life-cycle and ways to deal with them. This paper contributes to current resilience research by focusing on the different definitions given for this system property, highlighting the risk that, using different terms in different communities, this contributes to create a “tower of Babel” problem, with the consequent difficulty in exchanging ideas and working together towards a common goal. We adopt an extended definition of dependability to define resilience. Based on that, we identify features of resilient systems, capture properties falling under the resilience umbrella, and define a conceptual framework for resilience characterization including how changes affect the system, strategies to design resilience, and discuss metrics for quantifying resilience at design and runtime.
|
|
4. |
- Bernardi, Simona, et al.
(author)
-
Living with Uncertainty in Model-Based Development
- 2021
-
In: Composing Model-Based Analysis Tools. - Cham : Springer. - 9783030819149 - 9783030819156 ; , s. 159-185
-
Book chapter (peer-reviewed)abstract
- Uncertainty is present in model-based developments in many different ways. In the context of composing model-based analysis tools, this chapter discusses how the combination of different models can increase or decrease the overall uncertainty. It explores how such uncertainty could be more explicitly addressed and systematically managed, with the goal of defining a conceptual framework to deal with and manage it. We proceed towards this goal both with a theoretical reasoning and a practical application through an example of designing a peer-to-peer file-sharing protocol. We distinguish two main steps: (i) software system modelling and (ii) model-based performance analysis by highlighting the challenges related to the awareness that model-based development in software engineering needs to coexist with uncertainty. This core chapter addresses Challenge 5 introduced in Chap. 3 of this book (living with uncertainty).
|
|
5. |
|
|
6. |
- Bosnic, Ivana, et al.
(author)
-
Introducing SCRUM into a Distributed Software Development Course
- 2015
-
In: Workshop on Enhancing Software Engineering Education WESEE2015. - Dubrovnik, Croatia : ACM. - 9781450333931
-
Conference paper (peer-reviewed)abstract
- The growing enactment of Global Software Engineering in industry has triggered educational institutions to perceive the importance of preparing students for distributed software development. During the last twelve years we have disclosed advantages and pitfalls of GSE to our students through our Distributed Software Development course. After running the projects according to the iterative process model for eleven years, we decided to shift to an agile development model, SCRUM. This decision was due to the growing industrial adoption of agile methods, but more importantly to increase proactiveness, sense of responsibility, and to balance the workload among the project team members. In this paper we describe the process and outcomes of our first attempt at introducing SCRUM in our distributed course.
|
|
7. |
- Bosnic, Ivana, et al.
(author)
-
Multi-dimensional Assessment of Risks in a Distributed Software Development Course
- 2013
-
Conference paper (peer-reviewed)abstract
- The organizational shift from local to global settings in many software development initiatives has triggered the need for entailing it when educating the future software engineers. Several educational institutions have embraced this need and started collaborating for the provision of global software engineering courses. The rather complex nature of such courses results in a wider range of risks, in comparison to standard software engineering courses, that arise in different dimensions, ranging from course- to result-related, and for different reasons. In this work we provide an assessment of such a variety of risks as well as their causes, and we give a hint on how they may affect each other based on our 10-year-long experience with a tightly integrated GSD course.
|
|
8. |
- Calinescu, Radu, et al.
(author)
-
Understanding Uncertainty in Self-adaptive Systems
- 2020
-
In: 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2020. - : IEEE. ; , s. 242-251
-
Conference paper (peer-reviewed)abstract
- Ensuring that systems achieve their goals under uncertainty is a key driver for self-adaptation. Nevertheless, the concept of uncertainty in self-adaptive systems (SAS) is still insufficiently understood. Although several taxonomies of uncertainty have been proposed, taxonomies alone cannot convey the SAS research community’s perception of uncertainty. To explore and to learn from this perception, we conducted a survey focused on the SAS ability to deal with unanticipated change and to model uncertainty, and on the major challenges that limit this ability. In this paper, we analyse the responses provided by the 51 participants in our survey. The insights gained from this analysis include the view—held by 71% of our participants—that SAS can be engineered to cope with unanticipated change, e.g., through evolving their actions, synthesising new actions, or using default actions to deal with such changes. To handle uncertainties that affect SAS models, the participants recommended the use of confidence intervals and probabilities for parametric uncertainty, and the use of multiple models with model averaging or selection for structural uncertainty. Notwithstanding this positive outlook, the provision of assurances for safety-critical SAS continues to pose major challenges according to our respondents. We detail these findings in the paper, in the hope that they will inspire valuable future research on self-adaptive systems.
|
|
9. |
- Caporuscio, Mauro, 1975-, et al.
(author)
-
Building design-time and run-time knowledge for QoS-based component assembly
- 2017
-
In: Software, practice & experience. - : Wiley-Blackwell. - 0038-0644 .- 1097-024X. ; 47:12, s. 1905-1922
-
Journal article (peer-reviewed)abstract
- Modern software systems are required to dynamically adapt to changing workloads, scenarios, and objectives and to achieve a certain Quality of Service (QoS). Guaranteeing QoS requirements is not trivial, as run-time uncertainty might invalidate the design-time rationale, where software components have been selected by means of off-line analysis. In this work, we propose a QoS-based feedback approach that makes a combined use of design-time predictions and run-time measurements to manage QoS data over time and support software architects while selecting software components that best fit QoS requirements. We illustrate the feasibility and efficacy of the approach on a case study, where the quantitative evaluation shows how the analysis effectively identifies the sources of QoS violations and indicates possible solutions to achieve QoS requirements.
|
|
10. |
- Caporuscio, Mauro, 1975-, et al.
(author)
-
Decentralized Architecture for Energy-Aware Service Assembly
- 2020
-
In: Software Architecture. - Cham : Springer. - 9783030589226 - 9783030589233 ; , s. 57-72
-
Conference paper (peer-reviewed)abstract
- Contemporary application domains make more and more appealing the vision of applications built as a dynamic and opportunistic assembly of autonomous and independent resources. However, the adoption of such paradigm is challenged by: (i) the openness and scalability needs of the operating environment, which rule out approaches based on centralized architectures and, (ii) the increasing concern for sustainability issues, which makes particularly relevant, in addition to QoS constraints, the goal of reducing the application energy footprint. In this context, we contribute by proposing a decentralized architecture to build a fully functional assembly of distributed services, able to optimize its energy consumption, paying also attention to issues concerning the delivered quality of service. We suggest suitable indexes to measure from different perspectives the energy efficiency of the resulting assembly, and present the results of extensive simulation experiments to assess the effectiveness of our approach.
|
|