ICSE 2013 Workshops
2013 35th International Conference on Software Engineering (ICSE)
Powered by
Conference Publishing Consulting

2013 2nd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks), May 21, 2013, San Francisco, CA, USA

TwinPeaks 2013 – Proceedings

Contents - Abstracts - Authors

2nd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks)

Title Page

The goal of TwinPeaks@ICSE2013 is to provide a venue for researchers, practitioners and educators from the areas of requirements engineering and software architecture to discuss their experiences, forge new collaborations, and explore innovative solutions that address the challenges of the Twin Peaks model (B. Nuseibeh, Weaving together requirements and architectures, IEEE Computer, vol. 34, no. 3, pp. 115–117, 2001). The workshop provides participants with an opportunity to become familiar with the relationship between requirements engineering and software architecture in the greater context of software engineering, rather than in an isolated context of either requirements engineering or architecting.

Modeling and Requirements on the Physical Side of Cyber-Physical Systems
Mats P. E. Heimdahl, Lian Duan, Anitha Murugesan, and Sanjai Rayadurgam
(University of Minnesota, USA)
In a cyber-physical system (a system where the physical world interacts extensively with---often networked---software), the physical portion of the system resides in the continuous and continual domain. Thus, on the physical side of cyber-physical systems we will have to contend with not only real time requirements but also the continuous and continual nature of the system.
This poses a new set of challenges for requirements engineering; we must write well defined requirements to address crucial issues not commonly addressed in the software domain. For example, the rate of change of a controlled variable, the time it takes for a controlled variable to settle sufficiently close to a set-point, and the cumulative errors built up over time may be of critical importance. In this paper we outline how early modeling in the continuous domain serves as a crucial aid in the elicitation and discovery of requirements for cyber-physical systems and provide an initial classification of the types of requirements needed to describe crucial aspects of the physical side of a cyber-physical system.

Elaboration on an Integrated Architecture and Requirement Practice: Prototyping with Quality Attribute Focus
Stephany Bellomo, Robert L. Nord, and Ipek Ozkaya ORCID logo
This experience report builds on an earlier study in which we interviewed eight project teams that were using iterative incremental lifecycles. In the study, we captured the practices the teams felt contributed to rapid delivery. We identified a mix of Agile and architecture practices that teams apply to rapidly field software and minimize disruption and delay. In this paper, we elaborate one practice from the study, prototyping with quality attribute focus. We compared two experiences in prototyping focused on quality attribute considerations applied on Scrum projects. We observe through interviews that feature development and prototyping practice spans multiple levels: feature development/sprint, release planning, and portfolio planning. We also observe other factors including rapid trade-off analysis, flexible architecture, and adoption of a set of enabling prototyping guidelines. The analysis of the observations sheds light on several aspects of the practice that enable the team to respond quickly and efficiently when prototype feedback suggests architectural change.

How the Understanding of the Effects of Design Decisions Informs Requirements Engineering
Zoya Durdik, Anne Koziolek, and Ralf H. Reussner
(KIT, Germany)
Requirements are usually one of the main drivers for software architecture. Although current research acknowledges the opposite effects of design decisions on requirements engineering, it does not go beyond the general idea of their existence. The contribution of this paper lies in the explicit discussion of the effects of design decisions on requirements engineering. We define two types of design decisions and discuss their effect on requirements, and in particular on elicitation and prioritisation. Furthermore, we propose and demonstrate on an example two channels from architectural design to requirements that can be used to drive requirement elicitation and prioritization. This is the base for a new approach where also the results of the quantitative analysis of the effects of requirements on architecture are fed back into the requirements process.

A Multitude of Requirements and yet Sole Deployment Architecture: Predictors of Successful Software Deployment
Naomi Unkelos-Shpigel and Irit Hadar
(University of Haifa, Israel)
Deployment architecture is an integral part of the software development lifecycle. Few empirical studies regarding the deployment process are found in literature, most of which focus on defining the process and understanding its requirements. Deployment concerns that have not been widely inquired include the challenges along the process, and the product requirements that are most relevant when designing the deployment architecture. The research presented in this paper is aimed at finding the factors that enable to predict successful deployment, as well as provide directions for improving deployment solutions based on these factors. To this end, questionnaires with open-ended questions were distributed to 25 leading service architects in a large IT firm and qualitatively analyzed. Next, eight in-depth interviews with service architects from seven different firms were conducted and iteratively analyzed for identifying success predictors, form a framework for analyzing the maturity level of deployment processes, and provide guidelines for its evolution. This framework is incorporated into the Twin Peaks model, with the aim of ensuring deployment success over the system’s lifetime

Evolving Software Requirements and Architectures using Software Product Line Concepts
Hassan Gomaa
(George Mason University, USA)
This paper proposes an evolutionary development approach, which uses software product line and feature modeling concepts for evolving software requirements and architectures. The different versions of an evolutionary system are considered a software product line, with each version of the system a product line member. Requirements are modeled using both use case and feature modeling. Evolution is built into the software development approach because variability in the software architecture is determined by considering the impact of each variable feature on the software architecture and evolving the architecture to address new features. Being feature based, the approach closely relates the evolution of the software architecture to the evolution of software requirements, as well as providing traceability between requirements and architecture.

proc time: 0.7