Requirements-Level Language and Tools for Capturing Software System Essence

Wiktor Nowakowski1, Michał Smiałek1, Albert Ambroziewicz1, 2 and Tomasz Straszak1

  1. Warsaw University of Technology
    pl. Politechniki 1, 00-661 Warsaw, Poland
    {nowakoww, smialek, ambrozia, straszat}
  2. Infovide-Matrix S.A.
    ul. Gottlieba Daimlera 2, 02-460 Warsaw, Poland


Creation of an unambiguous requirements specification with precise domain vocabulary is crucial for capturing the essence of any software system, either when developing a new system or when recovering knowledge from a legacy one. Software specifications usually maintain noun notions and include them in central vocabularies. Verb or adjective phrases are easily forgotten and their definitions buried inside imprecise paragraphs of text. This paper proposes a model-based language for comprehensive treatment of domain knowledge, expressed through constrained natural language phrases that are grouped by nouns and include verbs, adjectives and prepositions. In this language, vocabularies can be formulated to describe behavioural characteristics of a given problem domain. What is important, these characteristics can be linked from within other specifications similarly to a wiki. The application logic can be formulated through sequences of imperative subject-predicate sentences containing only links to the phrases in the vocabulary. The paper presents an advanced tooling framework to capture application logic specifications making them available for automated transformations down to code. The tools were validated through a controlled experiment.

Key words

requirements engineering, use cases, domain engineering, model-driven software development, model transformation, application logic, metamodel, formal languages

Digital Object Identifier (DOI)

Publication information

Volume 10, Issue 4 (October 2013)
Special Issue on Advances in Model Driven Engineering, Languages and Agents
Year of Publication: 2013
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Nowakowski, W., Smiałek, M., Ambroziewicz, A., Straszak, T.: Requirements-Level Language and Tools for Capturing Software System Essence. Computer Science and Information Systems, Vol. 10, No. 4, 1499-1524. (2013),