Conference Paper

Linguistic Patterns and Styles for Requirements Specification: The RSL/Business-Level Language

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

System requirements specification (SRS) describes technical concerns of a system and is used throughout the project life-cycle. SRS helps sharing the system vision among its stakeholders, as well facilitating the communication, project management and system development processes. For an effective communication, everyone communicates by means of a common language, and natural language provides the foundations for such language. However, although natural language is the most common and preferred form of requirements representation, it also exhibits intrinsic characteristics that often present themselves as the root cause of many requirements quality problems, such as incorrectness, inconsistency, incompleteness and ambiguousness. This paper presents the RSL (short name for " Requirements Specification Language ") which is a language to improve the production of SRSs in a more systematic, rigorous and consistent way. RSL includes constructs logically arranged into views according to the specific Requirement Engineering (RE) concerns they address. These constructs are defined as linguistic patterns for RE and are represented textually by multiple linguistic styles. Due to space constraints, this paper focuses only on its business level constructs and views, namely on glossary terms, stakeholders, business goals, processes, events and flows. RSL can be used and applied by different types of users such as requirement engineers, business analysts, or domain experts. They can produce SRSs with RSL at different level of detail, considering different writing styles and different types of requirements (e.g., business goals, system goals, functional requirements, quality requirements, constraints, user stories, and use cases). In addition, they can use other types of constructs (e.g., terms, stakeholders, actors, data entities) that, in spite of not being requirements, are important to complement and enrich the specification of such requirements. Based on a simple running example, we also show how these users can produce SRSs in a more systematic and rigorous way .

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... In the past years there has been an increasing number of proposals with approaches to help and improve the threat elicitation and modelling of such situations [4,5] and that also included models and frameworks to support security specifications [6,7,8]. But still there was not a consensus on which method provides the best results. ...
... In this research we use and extend the RSLingo RSL language [8,11,12] to include security-specific concerns. RSL is a controlled natural language designed to help the production of requirements specifications in a systematic and rigorous way. ...
... RSLingo has been a long-term research initiative in the requirement engineering (RE) area that recognizes that natural languages, although being the most common and preferred form of representation used within requirements documents, are prone to produce ambiguous and inconsistent documents that are hard to automatically validate or transform [7]. Recently, we propose a broader and consistent language, called "RSLingo RSL" (or just "RSL" for brevity), based on the design of former languages [8]. RSL is a controlled natural language designed to help the production of requirements specifications in a systematic, rigorous and consistent way [8,12]. ...
... Recently we designed a broader and more consistent language called RSLingo's RSL 1 " (or just "RSL" for brevity) [10]. RSL is based on the design of the former languages, i.e., Pro-jectIT-RSL [11], RSL-IL [8], RSL-PL [7], but also others such as Pohl [12], XIS* [13,14,15] and SilabREQ [16]. ...
... RSL is a language that includes a rich set of constructs logically arranged into views according to multiple RE-specific concerns that exist at business and system abstraction levels. These constructs are defined as linguistic patterns and represented textually by mandatory and optional fragments (text snippets) [10]. ...
Chapter
Full-text available
Companies have been struggling to manage and maintain their legacy information systems because upgrading said systems has been a complex challenge. Many times, requirements changes are difficult to be properly managed, leading to legacy information system requirements deterioration. To overcome or reduce such problems we propose the XIS-Reverse, a software reverse engineering approach. XIS-Reverse is a model-driven reverse engineering approach that takes database artefacts and user preferences as input, and generates high-level models and specifications of these legacy information systems. This paper presents the evaluation of XIS-Reverse using two real-world information systems, provides an assessment of its interoperability with an existent framework and discusses its main challenges and benefits.
Conference Paper
Full-text available
Requirements specifications describe multiple technical concerns of a system and are used throughout the project life-cycle to help sharing a system’s common understanding among multiple stakeholders. The interest to support the definition and the management of system requirements specifications (SRSs) is evident by the diversity of many generic and RE-specific tools. However, little work has been done in what concerns the quality of SRSs. Indeed, most recommended practices are mainly focused on human-intensive tasks, mainly dependent on domain experts, and so, these practices tend to be time-consuming, error-prone and unproductive. This paper proposes and discusses an innovative approach to mitigate this status, and defends that with proper tool support – such as the SpecQua framework discussed in the paper –, we can increase the overall quality of SRSs as well as we can increase the productivity associated to traditional tasks of RE such as documentation and validation.
Conference Paper
Full-text available
This paper introduces the problem of combinatorial effects based on the evidence of many dependencies that explicitly or implicitly exist among the elements commonly used on system requirements specification (SRS). We start from the analysis and comparison of three popular SRS templates (namely IEEE 830-1998, RUP and with all templates), mainly from the perspective of the constructs and models involved. Then we propose and discuss a set of practical recommendations to help defining a SRS template that may better prevent (to some extent) the referred problem.
Conference Paper
Full-text available
Use cases describe a set of interactions between actors/users and the system under study. These interactions should be described textually according to some style and template to be simultaneously readable, consistent and verifiable. The main reason for these qualities is that use cases specification should be used both by business analysts and requirements engineers, when specifying functional requirements, as well as by software developers, when designing and implementing the involved system functionality. In spite of the popularity of use cases, there are not many patterns and guidance to help produce use cases specifications in a systematic and high-quality way. Furthermore, in the context of Model Driven Development (MDD) approaches, use cases specifications can be also considered models with precise syntax and semantics to be automatically validated or used in model-to-model or model-to-text transformations. In this paper we propose a pattern language to improve the quality of use cases specifications. These patterns are concrete guidelines that have emerged from the research and industrial experience of the authors throughout the years, particularly in the designing of MDD languages and approaches and in applying them in concrete applications. These patterns are interconnected among themselves and are the following: (P1) DEFINE USE CASE TYPES, (P2) KEEP USE CASE CONSISTENT WITH THE DOMAIN MODEL, (P3) DEFINE USE CASE WITH DIFFERENT SCENARIO AND INTERACTION BLOCK TYPES, and (P4) DEFINE USE CASE WITH DIFFERENT ACTION TYPES.
Article
Full-text available
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems starting from those models. These proposals have been classified generically as Model-Driven Engineering (MDE) and share common concepts and terms that need to be abstracted, discussed and understood. This paper presents a survey on MDE based on a unified conceptual model that clearly identifies and relates these essential concepts, namely the concepts of system, model, metamodel, modeling language, transformations, software platform, and software product. In addition, this paper discusses the terminologies relating MDE, MDD, MDA and others. This survey is based on earlier work, however, contrary to those, it intends to give a simple, broader and integrated view of the essential concepts and respective terminology commonly involved in the MDE, answering to key questions such as: What is a model?, What is the relation between a model and a metamodel?, What are the key facets of a modeling language?, How can I use models in the context of a software development process?, What are the relations between models and source code artefacts and software platforms?, and What are the relations between MDE, MDD, MDA and other MD approaches?
Conference Paper
Full-text available
Model-Driven Development is a software development paradigm that emphasizes the importance of models during the entire software development process. The aim of Model-Driven Development is to use models throughout the software development process at different levels of abstraction. In our SilabMDD approach use cases present a model of user and software requirements. The model of requirements is specified using SilabReqDSL language. SilabReqDSL language is implemented inside JetBrains Meta Programming System and can be used in it as plugin or plugin inside IntelliJ IDEA.
Article
Full-text available
The great evolution of the mobile market during the last years caused some fragmentation of the mobile platforms namely through the existence of different programming languages and software development tools for each platform. This fact can be an obstacle and increases the development complexity and costs when we want to develop mobile applications for multiple platforms. The XIS-Mobile domain specific language (defined as a UML profile) and its MDD-based framework address this problem by proposing platform-independent models to describe mobile applications and from them automatically generate the application’s source code. Many issues arose during an iterative process of evaluation which originated changes and the evolution of XIS-Mobile. This paper presents the results of the evaluation of XIS-Mobile (both the language and the companion framework) obtained through the implementation of a case study and by conducting a user session, and discusses its benefits and challenges.
Conference Paper
Full-text available
Despite being the most suitable language to communicate requirements, the intrinsic ambiguity of natural language often undermines requirements quality criteria, specially clearness and consistency. Several proposals have been made to increase the rigor of requirements representations through conceptual models, which encompass different perspectives to completely describe the system. However, this multi-representation strategy warrants significant human effort to produce and reuse such models, as well as to enforce their consistency. This paper presents RSL-IL, a Requirements Specification Language that tackles the requirements formalization problem by providing a minimal set of constructs. To cope with the most typical Requirements Engineering concerns, RSL-IL constructs are internally organized into viewpoints. Since these constructs are tightly integrated, RSL-IL enables the representation of requirements in a way that makes them formal enough for being tractable by a computer. Given that RSL-IL provides a stable intermediate representation that can improve the quality and enables requirements reuse, it can be regarded as a requirements interlingua. Also, RSL-IL can be used as a source language within the context of model-to-model transformations to produce specific conceptual models. To illustrate how RSL-IL can be applied in a real project, this paper provides a running example based on a case study.
Conference Paper
Full-text available
Mobile applications are becoming increasingly more present in our daily life, allowing people to perform several tasks through the use of smartphones or tablets. Despite fostering the innovation, the rapid growth of the mobile market resulted in some fragmentation of the mobile platforms. The existence of different mobile operating systems with different programming languages and tools can be a problem when someone wants to release an application in multiple platforms. Rewriting the application for each platform is usually impracticable either in terms of budget or time, requiring a great effort. Therefore, a solution that could generate cross-platform applications without compromising the quality, would decrease the time to market and increase the number of potential users. This paper presents the XIS-Mobile language, defined as a UML profile in the context of the Sparx Systems Enterprise Architect, and discusses its main challenges and benefits in the context of the cross-platform mobile application development.
Conference Paper
Full-text available
Software requirements are traditionally documented in natural language (NL). However, despite being easy to understand and having high expressivity, this approach often leads to well-known requirements quality problems. In turn, dealing with these problems warrants a significant amount of human effort, causing requirements development activities to be error-prone and time-consuming. This paper introduces RSL-PL, a language that enables the definition of linguistic patterns typically found in well-formed individual NL requirements, according to the field's best practices. The linguistic features encoded within RSL-PL patterns enable the usage of information extraction techniques to automatically perform the linguistic analysis of NL requirements. Thus, in this paper we argue that RSL-PL can improve the quality of requirements specifications, as well as the productivity of requirements engineers, by mitigating the continuous effort that is often required to ensure requirements quality criteria, such as clearness, consistency, and completeness.
Conference Paper
Full-text available
There are several best practices and proposals that help to design and develop software systems immune (to some extent) to combinatorial effects as these systems evolve. Normalized Systems theory, considered at the software architecture level, is one of such proposals. However, at the requirements engineering (RE)-level, little research has been done regarding this issue. This paper discusses examples related with this problem considering two distinct RE abstract levels, namely at the business and system levels. The examples provided follow the notations and techniques typical used to model the software system at such levels, namely DEMO/EO, BPMN, and UML (Use Cases and Class diagrams). The analysis of these examples suggests that combinatorial effects can be easily found at these different levels. This paper also proposes a research agenda to further investigate this matter in terms of the effects of combinatorial effects, and envisions the mechanisms and solutions for dealing with them. It is suggested that an artifact-based, domain-specific approach is best suited to achieve highly agile enterprises and RE-processes in the future.
Conference Paper
Full-text available
Despite the efforts made to overcome the problems associated with the development of information systems, we must consider that it is still an immature activity, with negative consequences in time, budget and quality. One of the root causes for this situation is the fact that many projects do not follow a structured, standard and systematic approach, like the methodologies and best practices proposed by software engineering. In this paper, we present a requirements specification language, called ProjectIT-RSL, based on the identification of the most frequently used linguistic patterns in requirements documents, written in natural language. To guarantee the consistency of the written requirements and the integration with generative programming tools, the requirements are analyzed by parsing tools, and immediately validated according with the syntactic and semantic rules of the language
Conference Paper
Full-text available
Software requirements engineering is an essential activity for the suc- cessful development of information systems. Requirements can be specified us- ing different techniques, but taking into account the different stakeholders that have to deal with requirements information, a successful approach has to bal- ance the need to use a widely understood requirements notation, with the im- portance of eliminating the frequent ambiguity and imprecision, by adding rigor to the specification. In this paper we present the metamodel of a controlled natural language for interactive systems requirements specification, called Pro- jectIT-RSL, based on the identification of the linguistic patterns that are most frequently used in requirements documents written in natural language.
Article
Full-text available
The suggestion that in software development projects the emphasis must be on the project management (RE), requirements engineering, and design activities, and consequently efforts in production activities - such as traditional software programming and testing - should be minimised and performed as automatically as possible is discussed. The Project IT approach that integrates contributions from the RE and model-driven engineering communities is also discussed. The goal with requirement specification is not just in managing textual specifications, but also to obtain a consistent requirements document that is in conformance with a domain-specific language, and that can be re-used to increase the design and development activities in the context of model driven and code generation techniques. Furthermore, the feasibility and benefits of this approach by presenting a proof-of-concept case study are discussed, in which the orchestration of the concepts and concrete components related with the Project IT approach, the PIT-RSL, XIS and PIT-TSL languages and the Project lT-Studio CASE tool is emphasised. A practical demonstration of the approach including the description of the system requirements, the design of the system, the use of code generation techniques, and how they integrate to improve and accelerate the software engineering lifecycle is presented.
Book
The purpose of Grammar for Teachers is to encourage readers to develop a solid understanding of the use and function of grammatical structures in American English. It approaches grammar from a descriptive rather than a prescriptive approach; however, throughout Grammar for Teachers differences between formal and informal language, and spoken and written English are discussed. Grammar for Teachers avoids jargon or excessive use of technical terminology and reviews essential grammar structures clearly and concisely. The text encourages users to tap into their own, often subconscious, knowledge of the grammar of English and to make it a conscious knowledge they can apply to their own varied teaching settings. Grammar for Teachers emphasizes looking at grammar from the perspective of learners of English, an approach that allows teachers to better appreciate the language difficulties learners of English face in ESL or mainstream classrooms. Discussions of areas of difficulties for learners of English are included throughout the text. Grammar for Teachers makes the study of grammar interesting and relevant by presenting grammar in context and by using authentic material from a wide variety of sources, including magazines, newspapers, children's books, bestsellers, works of literature, and academic prose. In each chapter, the numerous Discovery Activities engage users in exploring the different elements of grammar and in considering how these elements work together to form meaningful units. The subsequent discussion of each Discovery Activity allows users to explore specific elements of grammar on their own. At the end of each chapter, additional Practice Activities ask users to apply the grammar concepts presented in each chapter. Included in the Practice Activities are samples of relevant learner errors and error analysis exercises. © 2008 Springer Science+Business Media, LLC. All rights reserved.
Article
In this paper we discussed the project success figures reported on by Standish Group. In 1994 Standish published the Chaos report that showed a shocking 16% project success. This and renewed figures by Standish are often used to indicate information technology is in a troublesome state. However, some authors have raised questions about the validity of these figures. In this paper we showed that Standish’s successful and challenged project results are indeed meaningless for benchmarking. Our research on 12187 forecasts of 1741 real-world projects of in total 1059 million euro showed that IT forecasts have political biases. Yet, Standish’s numbers, which depend on IT forecasts, do not account for these biases. Therefore, these figures have very limited use for benchmarking as we demonstrated using our real-world data.
Conference Paper
Engineers have little time for requirements elicitation and their validation, because they still have to make a great effort to write down concrete use cases. Although concrete use cases are important for deriving test cases, it is possible to free engineers from the routine work of defining similar use cases repeatedly and at the same time keeping consistency in requirements elicitation. We propose one solution concerning these difficulties. The requirements description metamodel called RD-metamodel integrates the activity graph metamodel and use case metamodel. It supplies a mechanism of use case writing with multiple perspectives: resource-reference, resource-structure, activity-sequence, process, and the actor's perspective.
Conference Paper
The Jakarta Tool Suite (JTS) aims to reduce substantially the cost of generator development by providing domain-independent tools for creating domain-specific languages and component-based generators called GenVoca generators. JTS is a set of precompiler-compiler tools for extending industrial programming languages (e.g., Java) with domain-specific constructs. JTS is itself a GenVoca generator where precompilers for JTS-extended languages are constructed from components
Expressing customer requirements using natural language requirements templates and patterns
  • A Durán
  • B Bernárdez
  • M Toro
  • R Corchuelo
  • A Ruiz
  • J Pérez
Durán, A., Bernárdez, B., Toro, M., Corchuelo, R., Ruiz, A., & Pérez, J., 1999. Expressing customer requirements using natural language requirements templates and patterns. In IMACS/IEEE CSCC'99 Proceedings.
RSLingo: An information extraction approach toward formal requirements specifications
  • D Ferreira
  • A R Silva
Ferreira, D., Silva, A. R., 2012. RSLingo: An information extraction approach toward formal requirements specifications, Proceedings of MoDRE'2012, IEEE CS.
IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications
IEEE 1998. IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications.
Requirements Engineering: Fundamentals, Principles, and Techniques, Springer. Linguistic Patterns and Styles for Requirements Specification: The RSL/Business-Level Language @BULLET 27
  • K Pohl
Pohl, K., 2010. Requirements Engineering: Fundamentals, Principles, and Techniques, Springer. Linguistic Patterns and Styles for Requirements Specification: The RSL/Business-Level Language @BULLET 27
Software Requirements Patterns
  • S Withall
Withall, S., 2007. Software Requirements Patterns, Microsoft Press.