Powered by
Conference Publishing Consulting

2013 3rd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks), July 16, 2013, Rio de Janeiro, Brasil

TwinPeaks 2013 – Proceedings

Contents - Abstracts - Authors

2013 3rd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks)

Title Page

Welcome to TwinPeaks@RE13, the Third International Workshop on the Twin Peaks of Requirements and Architecture, held on July 16 in Rio de Janeiro, Brazil, and co-located with the 21st IEEE International Requirements Engineering Conference (RE13).

A Domain-Centric Approach for Recommending Architectural Tactics to Satisfy Quality Concerns
Mehdi Mirakhorli, Julia Carvalho, Jane Cleland-Huang, and Patrick Mäder
(DePaul University, USA; Harvard University, USA; TU Ilmenau, Germany)
Architectural tactics such as heartbeat, resource pooling, and scheduling, offer proven solutions for systematically increasing the reliability, security, performance, and other critical characteristics of a software system. Current literature on architectural tactics advocates a requirements-driven approach for deciding when and where tactics should be used in order to address specific quality concerns. In this paper we explore a domain-driven approach by building predictor models which capture relationships between topical domain concepts and the use of specific architectural tactics. Based on an extensive analysis of over 1000 open source systems, we identify significant correlations between domain topics and architectural tactics, and use this information to construct a predictor for generating tactic-related recommendations. Our approach is validated through a series of experiments which demonstrate the ability to generate package level recommendations. It is also illustrated through a worked example of package-level recommendations in the OfBiz Neogia system.

Understanding the Role of Constraints on Architecturally Significant Requirements
Neil A. Ernst, Ipek Ozkaya, Robert L. Nord, Julien Delange, Stephany Bellomo, and Ian Gorton
A key constraint on software development is reliance on tools, which we define as COTS products, software services, languages, frameworks and platforms. These tools may have significant architectural impacts that are not obvious when the requirements are elicited, tools selected, and architecture sketched out. In this paper, we report on a case study we conducted to identify architecturally significant requirements (ASRs) that were impacted by tool selection. We identified ASRs in an existing health IT project, CONNECT, and also identified the constraints on the project that were tool-related. We produce a mapping showing how the architectural risks identified in the initial architectural analysis were impacted by the tool choices made. We produce metrics showing how much time has been consumed when implementing ASRs that involve working around/with these constraints and the risks associated with them.

Bridging Users' Values and Requirements to Architecture
Alistair Sutcliffe
(University of Lancaster, UK)
The paper describes a process for bridging from users' values and goal oriented requirements to architecture via architecture patterns. User values, such as privacy, sociability, creativity, etc are introduced and their implications for system architecture are explained. Many architectural implications are common to several user values so architecture patterns are proposed to collate these as high level requirements for components which can then be related to NFRs as well as user values. The process of analysing user values through to design of system architecture is illustrated with a case study in health informatics.

Supporting the Collaborative Development of Requirements and Architecture Documentation
Tom-Michael Hesse and Barbara Paech
(University of Heidelberg, Germany)
In most software projects, particular requirements significantly drive the design of the software architecture by forcing architectural decisions to be made. As requirements and architecture are refined iteratively, their extensions and improvements need to be aligned continuously. Much research has been conducted to identify such requirements and their impact on architecture. However, it remains a problem how to collaboratively document such requirements and architectural knowledge under development. In particular, knowledge of architectural decisions such as assumptions or alternatives for the system erodes over time and can even vaporize completely. A major reason is the inability to easily manage informality and complexity of knowledge when performing both requirements engineering and architecture design. Therefore, we propose a documentation model for decisions supporting the intertwined documentation of related requirements and architecture knowledge. It provides documentation elements, which are common to both disciplines. In order to support refinement in documentation, knowledge can be iteratively accumulated at different levels of granularity. So the model fits to the twin peaks model of requirements and architecture. In consequence, the comprehension and collaboration between requirements engineers and system architects is improved by negotiating and refining the same documentation together in an ongoing process. We apply our approach to an example in order to demonstrate that it is applicable and useful for managing architectural decision knowledge in relation to the grounding requirements.

STREAM-AP: A Process to Systematize Architectural Patterns Choice Based on NFR
Fábio Silva, Marcia Lucena, and Leonardo Lucena
(UFRN, Brasil; IFRN, Brasil)
The importance of non-functional requirements for computer systems is increasing. Satisfying these requirements require special attention to the software architecture, once an unsuitable archi-tecture introduces greater complexity in addition to the intrinsic complexity of the system. Some studies have shown that, despite requirements engineering and software architecture activities act on different aspects of development, they must be performed iteratively and intertwined to produce satisfactory software systems. The STREAM process presents a systematic approach to reduce the gap between requirements and architecture development, emphasizing the functional requirements, being the non-functional ones used in an ad hoc way. However, non-functional requirements typically influence the system as a whole. This paper presents a process to improve STREAM in making the choice of architectural patterns from non-functional requirements, in order to guide the refinement of an architectural solution.

proc time: 0.58