Powered by
4th International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks 2014),
June 1, 2014,
Hyderabad, India
4th International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks 2014)
Foreword
Welcome to the Fourth International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks), held on June 1 in Hyderabad, India, and co-located with the 36th International Conference on Software Engineering (ICSE 2014).
A Framework for Identifying and Analyzing Non-functional Requirements from Text
Vibhu Saujanya Sharma, Roshni R. Ramnani, and Shubhashis Sengupta
(Accenture Technology Labs, India)
Early identification of Non-Functional Requirements (NFRs) is important as this has direct bearing on the design and architecture of the system. NFRs form the basis for architects to create the technical architecture of the system which acts as the scaffolding in which the functionality of the same is delivered. Failure to identify and analyze NFRs early-on can result in unclassified, incomplete or conflicting NFRs, and this typically results in costly rework in later stages of the software development. In practice, this activity is primarily done manually. In this paper, we present a framework to automatically detect and classify non-functional requirements from textual natural language requirements. Our approach to identify NFRs is based on extracting multiple features by parsing the natural language requirement whereby the presence of a certain combination of and relationship among the features uniquely identifies the requirement as an NFR of a particular category. These features are specified as pattern based rules which can be specified in a human readable language through the use of a domain specific language that we have defined. This enables great ease and flexibility in creating and extending rules. Our approach has been implemented as a prototype tool and here we also present the results of applying our approach on a publicly available requirement corpus.
@InProceedings{TwinPeaks14p1,
author = {Vibhu Saujanya Sharma and Roshni R. Ramnani and Shubhashis Sengupta},
title = {A Framework for Identifying and Analyzing Non-functional Requirements from Text},
booktitle = {Proc.\ TwinPeaks},
publisher = {ACM},
pages = {1--8},
doi = {},
year = {2014},
}
Helping System Engineers Bridge the Peaks
Neha Rungta, Oksana Tkachuk, Suzette Person, Jason Biatek, Michael W. Whalen, Joseph Castle, and Karen Gundy-Burlet
(NASA Ames Research Center, USA; NASA Langley Research Center, USA; University of Minnesota, USA)
In our experience at NASA, system engineers generally follow the Twin Peaks approach when developing safety-critical systems. However, iterations between the peaks require considerable manual, and in some cases duplicate, effort. A significant part of the manual effort stems from the fact that requirements are written in English natural language rather than a formal notation. In this work, we propose an approach that enables system engineers to leverage formal requirements and automated test generation to streamline iterations, effectively "bridging the peaks". The key to the approach is a formal language notation that a) system engineers are comfortable with, b) is supported by a family of automated V&V tools, and c) is semantically rich enough to describe the requirements of interest. We believe the combination of formalizing requirements and providing tool support to automate the iterations will lead to a more efficient Twin Peaks implementation at NASA.
@InProceedings{TwinPeaks14p9,
author = {Neha Rungta and Oksana Tkachuk and Suzette Person and Jason Biatek and Michael W. Whalen and Joseph Castle and Karen Gundy-Burlet},
title = {Helping System Engineers Bridge the Peaks},
booktitle = {Proc.\ TwinPeaks},
publisher = {ACM},
pages = {9--13},
doi = {},
year = {2014},
}
A Knowledge-Assisted Framework to Bridge Functional and Architecturally Significant Requirements
Preethu Rose Anish and Balaji Balasubramaniam
(Tata Consultancy Services, India)
The disciplines of requirements engineering (RE) and software architecture (SA) are fundamental to the success of software projects. The synergistic relationship between these two disciplines has long been acknowledged by both academicians and practitioners alike. To build successful and cost-effective software systems, we must understand and leverage the linkages between functional and architectural requirements. We discuss a knowledge-assisted approach that establishes traceability between functional and architectural requirements. The approach classifies requirements into the problem context (functional) and a solution (architectural) context. The functional context is called Functional Requirement Viewpoint (FRV). The architectural context is further categorized into three sub-contexts namely the Functional Architecture Viewpoint (FAV), the Technical Architecture Viewpoint (TAV) and the Deployment Architecture Viewpoint (DAV). Though the approach separates the problem domain and the solution domain explicitly; it facilitates development of requirements and architectural specifications concurrently; appreciating the necessary interplay between the two.
@InProceedings{TwinPeaks14p14,
author = {Preethu Rose Anish and Balaji Balasubramaniam},
title = {A Knowledge-Assisted Framework to Bridge Functional and Architecturally Significant Requirements},
booktitle = {Proc.\ TwinPeaks},
publisher = {ACM},
pages = {14--17},
doi = {},
year = {2014},
}
Exploring the Twin Peaks using Probabilistic Verification Techniques
Anitha Murugesan, Lu Feng, Mats P. E. Heimdahl, Sanjai Rayadurgam, Michael W. Whalen, and Insup Lee
(University of Minnesota, USA; University of Pennsylvania, USA)
System requirements and system architecture/design co-evolve as the understanding of both the problem at hand as well as the solution to be deployed evolve---the Twin Peaks concept. Modeling of requirements and solution is a promising approach for exploring the Twin Peaks. Commonly, such models are deterministic because of the choice of modeling notation and available analysis tools. Unfortunately, most systems operate in an uncertain environment and contain physical components whose behaviors are stochastic. Although much can be learned from modeling and analysis with commonly used tools, e.g., Simulink/Stateflow and the Simulink Design Verifier, the SCADE toolset, etc., the results from the exploration of the Twin Peaks will---by necessity---be inaccurate and can be misleading; inclusion of the probabilistic behavior of the physical world provides crucial additional insight into the system's required behavior, its operational environment, and the solution proposed for its software. Here, we share our initial experiences with model-based deterministic and probabilistic verification approaches while exploring the Twin Peaks. The intent of this paper is to demonstrate how probabilistic reasoning helps illuminate weaknesses in system requirements, environmental assumptions, and the intended software solution, that could not be identified when using deterministic techniques. We illustrate our experience through a medical device subsystem, modeled and analyzed using the Simulink/Stateflow (deterministic) and PRISM (probabilistic) tools.
@InProceedings{TwinPeaks14p18,
author = {Anitha Murugesan and Lu Feng and Mats P. E. Heimdahl and Sanjai Rayadurgam and Michael W. Whalen and Insup Lee},
title = {Exploring the Twin Peaks using Probabilistic Verification Techniques},
booktitle = {Proc.\ TwinPeaks},
publisher = {ACM},
pages = {18--23},
doi = {},
year = {2014},
}
An Ontological Framework for Architecture Model Integration
Arvind W. Kiwelekar and Rushikesh K. Joshi
(IIT Bombay, India)
Architecture Model Integration is a process of defining correspondences
between high-level architecture elements and other software elements from
artifacts developed during various phases of product life cycle.
A primary purpose of this process of integration is to address the challenges of the
semantic gap that results due to scattering of concerns into multiple representations of application domain entities throughout a series of models.
An ontological approach aimed to address the semantic gap is presented in this paper.
A reference architecture ontology and an architecture knowledge base are the central components
of the proposed framework. Around these components, three framework processes
namely interpretation, representation, and refinement are integrated.
The framework processes are uniformly applied to derive architecture models from artifacts developed during requirements, low-level design, and implementation.
@InProceedings{TwinPeaks14p24,
author = {Arvind W. Kiwelekar and Rushikesh K. Joshi},
title = {An Ontological Framework for Architecture Model Integration},
booktitle = {Proc.\ TwinPeaks},
publisher = {ACM},
pages = {24--27},
doi = {},
year = {2014},
}
proc time: 0.64