Abstract
[Context/ Motivation] A smart device is a software-intensive system that operates autonomously and interacts to some degree with other systems over wireless connections. Such systems are often faced with uncertainty in the environment. Runtime representations of requirements have recently gained more interested to deal with this challenge and the term requirements at runtime has been established. Runtime representations of requirements support reasoning about the requirements at runtime and adapting the configuration of a system according to changes in the environment. [Questions/Problems] The research question is how the results of runtime monitoring of requirements and the system’s decisions about changes in the configuration are communicated back to the requirements engineer to better understand the environment. There is a gap between the written requirements document and the dynamic requirements model inside the system. This problem is exacerbated by the fact that a requirements document are mostly informal while the dynamic requirements model is formal. [Principal ideas/results] This paper introduces an approach to bridge the gap between development time and runtime representations of requirements in order to keep them consistent and to facilitate better understanding. We propose to weave the feedback from the runtime system into requirements documents using a domain-specific language that largely retain the informal nature of requirements. An annotated requirements document helps get a better understanding of the system’s actual behavior in a given environment. The approach is implemented using mbeddr, a novel set of domain-specific languages for developing embedded systems, and illustrated using a running example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bencomo, N., Whittle, J., Sawyer, P., Finkelstein, A., Letier, E.: Requirements reflection: requirements as runtime entities. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 2, pp. 199–202 (2010)
Voelter, M., Ratiu, D., Kolb, B., Schaetz, B.: Journal of Automated Software Engineering (2013)
Voelter, M., Ratiu, D., Schaetz, B., Kolb, B.: mbeddr: an extensible c-based programming language and ide for embedded systems. In: Proc. of the 3rd Conf. on Systems, Programming, and Applications: Software for Humanity, SPLASH 2012, pp. 121–140. ACM, New York (2012)
Voelter, M.: Language and IDE Development, Modularization and Composition with MPS. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 383–430. Springer, Heidelberg (2013)
Ratiu, D., Voelter, M., Schaetz, B., Kolb, B.: Language Engineering as Enabler for Incrementally Defined Formal Analyses. In: FORMSERA 2012 (2012)
Wang, Y., McIlraith, S., Yu, Y., Mylopoulos, J.: Automated Software Engineering 16, 3 (2009)
Bencomo, N., Belaggoun, A.: Supporting decision-making for self-adaptive systems: From goal models to dynamic decision networks. In: Doerr, J., Opdahl, A.L. (eds.) REFSQ 2013. LNCS, vol. 7830, pp. 221–236. Springer, Heidelberg (2013)
Voelter, M.: Integrating prose as a first-class citizen with models and code. In: 7th Workshop on Multi-Paradigm Modelling (2013)
Qureshi, N.A., Jureta, I.J., Perini, A.: Towards a requirements modeling language for self-adaptive systems. In: Regnell, B., Damian, D. (eds.) REFSQ 2011. LNCS, vol. 7195, pp. 263–279. Springer, Heidelberg (2012)
Oriol, M., Qureshi, N.A., Franch, X., Perini, A., Marco, J.: Requirements monitoring for adaptive service-based applications. In: Regnell, B., Damian, D. (eds.) REFSQ 2011. LNCS, vol. 7195, pp. 280–287. Springer, Heidelberg (2012)
Sawyer, P., Bencomo, N., Whittle, J., Letier, E., Finkelstein, A.: Requirements-aware systems: A research agenda for re for self-adaptive systems, in. In: 2010 18th IEEE International Requirements Engineering Conference (RE), pp. 95–103 (2010)
Welsh, K., Sawyer, P., Bencomo, N.: Towards requirements aware systems: Run-time resolution of design-time assumptions, in. In: 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 560–563 (2011)
Feather, M., Fickas, S., Van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proceedings of the Ninth International Workshop on Software Specification and Design, pp. 50–59 (1998)
van Lamsweerde, A.: Requirements Engineering - From System Goals to UML Models to Software Specifications. Wiley (2009)
Brinkkemper, J., Mylopoulos, J., Solvberg, A., Yu, E.: Tropos: A framework for requirements-driven software development (2000)
Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Proceedings of the Second IEEE International Symposium on Requirements Engineering, pp. 140–147 (1995)
Robinson, W.: Implementing rule-based monitors within a framework for continuous requirements monitoring. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences, HICSS 2005, p. 188a (2005)
Oriol, M., Marco, J., Franch, X., Ameller, D.: Monitoring adaptable soa-systems using salmon. In: Workshop on Service Monitoring, Adaptation and Beyond (Mona+), pp. 19–28 (2008)
Robinson, W.: Requirements Engineering 11, 17 (2006)
Baresi, L., Pasquale, L.: Live goals for adaptive service compositions. In: Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2010, pp. 114–123. ACM, New York (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Kamsties, E., Kneer, F., Voelter, M., Igel, B., Kolb, B. (2014). Feedback-Aware Requirements Documents for Smart Devices. In: Salinesi, C., van de Weerd, I. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2014. Lecture Notes in Computer Science, vol 8396. Springer, Cham. https://doi.org/10.1007/978-3-319-05843-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-05843-6_10
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-05842-9
Online ISBN: 978-3-319-05843-6
eBook Packages: Computer ScienceComputer Science (R0)