Abstract
Models are good at expressing information that is known but do not typically have support for representing what information a modeler does not know at a particular phase in the software development process. Partial models address this by being able to precisely represent uncertainty about model content. In previous work, we developed a general approach for defining partial models and using them to reason about design models containing uncertainty. In this paper, we show how to apply our approach to managing uncertainty in requirements by providing support for uncertainty capture, elaboration, and change. In particular, we address the problem of specifying uncertainty within a requirements model, refining a model as uncertainty reduces, providing meaning to traceability relations between models containing uncertainty, and propagating uncertainty-reducing changes between related models. We describe the implementation of uncertainty management within the Model Management Tool Framework and illustrate our approach using two examples.
Similar content being viewed by others
Notes
In this paper, when we say “refinement,” we always mean “uncertainty-reducing refinement.”
Note that here we are propagating a refinement of P1 to P2, whereas earlier we gave an example of propagating a refinement of P2 to P1 . Thus, the propagation rules can be used in either direction.
References
Assawamekin N (2010) An ontology-based approach for multiperspective requirements traceability between analysis models. In: Proceedings of ACIS’10, pp 673–678
Blanc X, Mougenot A, Mounier I, Mens T (2009) Incremental detection of model inconsistencies based on model operations. In: Advanced information systems engineering, vol 5565. Springer, Berlin, pp. 32–46
Cysneiros G, Zisman A, Spanoudakis G (2003) A traceability approach from i* and UML models. In: Proceedings of SELMAS’03, LNCS
Ebert C, De Man J (2005) Requirements uncertainty: Influencing factors and concrete improvements. In: Proceedings of ICSE’05, pp 553–560
Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE TSE 29(2):116–132
Famelis M, Chechik M, Salay R (2012) Partial models: Towards modeling and reasoning with uncertainty. In: Proceedings of ICSE’12
Famelis M, Salay R, Chechik M (2012) The semantics of partial model transformations. In: Proceedings of MiSE’12
Famelis M, Santosa S (2013) MAV-Vis: a notation for model uncertainty. In: Proceedings of MiSE’13. To appear
Gilson F, Englebert V (2011) Rationale, Decisions and alternatives—traceability for architecture design. In: Proceedings of ECSA’11, companion vol, pp 4:1–4:9
Goknil A, Kurtev I, van den Berg K (2010) Tool support for generation and validation of traces between requirements and architecture. In: Proceedings of ECMFA-TW’10, pp 39–46
Gordijn J, Petit M, Wieringa R (2006) Understanding business strategies of networked value constellations using goal- and value modeling. In: Proceedings of ICRE’06, pp 126–135
Herrmann T (2009) Systems design with the socio-technical walkthrough. In: Handbook of research on socio-technical design and social networking systems, pp 336–351
Horkoff J, Yu E (2010) Interactive goal model analysis applied—systematic procedures versus ad hoc analysis. In: The practice of enterprise modeling, 3rd IFIP WG8.1 (PoEM’10)
Ibrahim H, Far BH, Eberlein A, Daradkeh Y (2009) Uncertainty management in software engineering: Past, present, and future. In: Proceedings of CCECE’09, pp 7–12
Islam S, Houmb SH (2010) Integrating risk management activities into requirements engineering. In: Proceedings of RCIS’10, pp 299–310
Jirapanthong W (2009) Analysis of relationships among software models through traceability activity. In: Advances in information technology, communications in computer and information science vol 55, pp 71–80
Kaiya H, Horai H, Saeki M (2002) AGORA: attributed goal-oriented requirements analysis method. In: Proceedings of RE’02, pp 13–22
Kolovos D, Paige R, Polack F (2008) Detecting and repairing inconsistencies across heterogeneous models. In: Proceedings of ICSTVV’08, pp 356–364
Laplante PA, Neill CJ (2005) Modeling uncertainty in software engineering using rough sets. J Innov Syst Soft Eng 1:71–78
Lapouchnian A, Liaskos S, Mylopoulos J, Yu Y (2005) Towards requirements-driven autonomic systems design. ACM SIGSOFT SEN 30(4):1
Larsen KG, Thomsen B (1988) A Modal process logic. In: Proceedings of LICS’88, pp 203–210
Larsen P (1991) The expressive power of implicit specifications. In: Proceedings of ICALP’91, LNCS, vol 510, pp 204–216
Lin L, Zhi J (2006) Integrating goals and problem frames in requirements analysis. In: Proceedings of RE’06, pp 349–350
Lung J, Easterbrook SM (2012) Inflo: collaborative reasoning via open calculation graphs. In: Proceedings of CSCW’12, pp 1199–1202
Mader P, Gotel O, Philippow I (2008) Enabling automated traceability maintenance by recognizing development activities applied to models. In: Proceedings of ASE’08, pp 49–58
Maiden N, Jones S, Manning S, Greenwood J, Renou L (2004) Model-driven requirements engineering: synchronising models in an air traffic management case study. In: Proceedings of CAiSE’04, LNCS, vol 3084, pp 3–21
Maiden N, Lockerbie J, Randall D, Jones S, Bush D (2007) Using satisfaction arguments to enhance i* modelling of an air traffic management system. In: Proceedings of RE’07, pp 49–52
Mens T (2008) Introduction and roadmap: history and challenges of software evolution. In: Software evolution, pp 1–11
Mens T, Straeten RVD (2007) Incremental resolution of model inconsistencies. In: Proc. of WADT’06, pp 111–126. Springer, Berlin
Moisiadis F (2000) Prioritising scenario evolution. In: Proceedimgs of RE’00, pp 85–94
Morin B, Perrouin G, Lahire P, Barais O, Vanwormhoudt G, Jézéquel J (2009) Weaving variability into domain metamodels. In: Model driven engineering languages and systems pp 690–705
Nentwich C, Emmerich W, Finkelstein A (2003) Consistency management with repair actions. In: Proceedimgs of ICSE’03, ACM Press, New York, pp 455–464.
Noppen J, van den Broek P, Aksit M (2008) Software development with imperfect information. J Soft Comput 12(1):3–28
OMG: Meta Object Facility (MOF) Core Specification Version 2.0 (2006). http://www.omg.org/cgi-bin/doc?formal/2006-01-01
Pohl K, Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, New York
Potts C, Bruns G (1988) Recording the reasons for design decisions. In: Proceedings of ICSE’88, pp 418–427
Reder A, Egyed A (2012) Computing Repair trees for resolving inconsistencies in design models. In: Proceedings of ASE’12, pp 220–229
Saadatpanah P, Famelis M, Gorzny J, Robinson N, Chechik M, Salay R (2012) Comparing the effectiveness of reasoning formalisms for partial models. In: Proceedings of MoDeVVa’12
Salay R, Chechik M, Easterbrook S, Diskin Z, McCormick P, Nejati S, Sabetzadeh M, Viriyakattiyaporn P (2007) An eclipse-based tool framework for software model management. In: Proceedings of OOPSLA eclipse workshop, pp 55–59
Salay R, Chechik M, Gorzny J (2012) Towards a methodology for verifying partial model refinements. In: Proceedings of VOLT’12
Salay R, Chechik M, Gorzny J (2013) Change propagation due to uncertainty change. In: Proceedings of FASE’13. LNCS, vol 7793, pp 21–36
Salay R, Chechik M, Horkoff J (2012) Managing requirements uncertainty with partial models. In: Proceedings of RE’12
Salay R, Famelis M, Chechik M (2012) Language independent refinement using partial modeling. In: Proceedings of FASE’12, LNCS, vol 7212, pp 224–239
Sawyer P, Bencomo N, Whittle J, Letier E, Finkelstein A (2010) Requirements-aware systems: a research agenda for RE for self-adaptive systems. In: Proceedings of RE’10, pp 95–103
Spanoudakis G, Zisman A (2005) Software traceability: a roadmap. J Softw Eng Knowl III:1–35
Tanabe D, Uno K, Akemine K, Yoshikawa T, Kaiya H, Saeki M (2008) Supporting requirements change management in goal oriented analysis. In: Proceedings of RE’08, pp 3–12
Uchitel S, Chechik M (2004) Merging Partial behavioural models. In: Proceedings of SIGSOFT FSE’04, pp 43–52
van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, New York
Xiong Y, Hu Z, Zhao H, Song H, Takeichi M, Mei H (2009) Supporting automatic model inconsistency fixing. In: Proceedings of ESEC/FSE’09, pp 315–324
Yrjönen A, Merilinna J (2010) Tooling for the full traceability of non-functional requirements within model-driven development. In: Proceedings of ECMFA-TW’10, pp 15–22
Yu E (1997) Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of RE’97, pp 226–235
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Salay, R., Chechik, M., Horkoff, J. et al. Managing requirements uncertainty with partial models. Requirements Eng 18, 107–128 (2013). https://doi.org/10.1007/s00766-013-0170-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-013-0170-y