Skip to main content
Log in

Methodologies to evolve formal specifications through refinement and retrenchment in an analysis–revision cycle

Requirements Engineering Aims and scope Submit manuscript

Abstract

The development of requirement specifications is done by accumulating knowledge about the desired systems in a progressive manner. This process can be supported by an analysis–revision cycle, in which the analysis phase checks the correctness of a given specification, and the revision phase modifies it, in case some problems are detected. To date, the analysis and revision activities have been typically considered in isolation, resulting in ineffective support to the stakeholders’ work. In response to that, this article introduces methodologies to conduct an interactive and integrated approach, grounded on the formalization of two basic types of evolutions (refinements and retrenchments) over multi-valued specification and modeling formalisms. Evaluation results are included to show that this approach can indeed help the stakeholders identify and clarify requirements through different stages of development.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24

Similar content being viewed by others

Notes

  1. Obviously, no suggestion is made if \({{\mathcal{D}}}_{\rm entry}={{\mathcal{D}}}\) (first recursion).

  2. Admittedly, the intentional simplicity will make the expression of certain requirements somewhat artificial in later sections. A complete definition of SCTL, including real-time and fixpoint operators, macros and other artifacts that would make the notation more straightforward can be found in [14].

  3. This fact was proved in [7] without introducing the notion of MUS refinement.

  4. These systems are actually components of more complex ones, since they define the behavior of individual parties in multiuser interactive systems. The parallel composition of those behaviors (representing the concurrence of multiple users) yields MUS models whose state spaces are several degrees of magnitude bigger.

  5. The systems are sequential by nature, because their outputs depend on the history of events occurred from the initial state. Therefore, there is no direct relation between the number of states of the MUS models and the number/type of variables considered.

References

  1. Letier E, van Lamsweerde A (2002) Deriving operational software specifications from system goals. In: Proceedings of 10th ACM SIGSOFT symposium on the foundations of software engineering, Charleston, USA, pp 119–128

  2. Liu S (2002) Capturing complete and accurate requirements by refinement. In: Proceedings of 8th IEEE international conference on engineering of complex computer systems. Greenbelt, USA, pp 57–67

  3. d’Avila Garcez A, Russo A, Nuseibeh B, Kramer J (2001) An analysis–revision cycle to evolve requirements specifications. In: Proceedings of 16th IEEE international conference on automated software engineering. San Diego, USA, pp 354–358

  4. d’Avila Garcez A, Russo A, Nuseibeh B, Kramer J (2003) Combining abductive reasoning and inductive learning to evolve requirements specifications. IEE Proc Softw 150(1):25–38

    Article  Google Scholar 

  5. Kakas A, Kowalski R, Toni F (1998) Handbook of logic in artificial intelligence and logic programming, vol 5. The role of abduction in logic programming. Oxford University Press, New York, pp 235–324

  6. Mitchell T (1997) Machine learning. McGraw Hill, NY

  7. Pazos-Arias JJ, García-Duque J (2001) SCTL-MUS: a formal methodology for software development of distributed systems: a case study. Formal Aspects Comput 13:50–91

    Article  Google Scholar 

  8. Kleene S (1952) Introduction to metamathematics, vol 1 of Bibliotheca mathematica. North-Holland

  9. Huth MRA, Jagadeesan R, Schmidt DA (2001) Modal transition systems: a foundation for three-valued program analysis. In: Proceedings of European Symposium on programming, in conjunction with ETAPS. Genoa, Italy, pp 155–169

  10. Fitting M (1991) Kleene’s logic, generalized. J Logic Comput 1(6):797–810

    Article  MATH  MathSciNet  Google Scholar 

  11. Uchitel S, Kramer J (2001) A workbench for synthesising behaviour models from scenarios. In: Proceedings of 23rd international conference on software engineering. Toronto, Canada, pp 188–197

  12. Whittle J, Schumann J (2000) Generating statechart designs from scenarios. In: Proceedings of 22nd international conference on software engineering. Limerick, Ireland, pp 314–323

  13. García-Duque J, López-Nores M, Pazos-Arias JJ, Fernández-Vilas A, Díaz-Redondo RP, Gil-Solla A, Blanco-Fernández Y, Ramos-Cabrer M (2006) A six-valued logic to reason about uncertainty and inconsistency in requirements specifications. J Logic Comput 16(2):227–255

    Article  MATH  MathSciNet  Google Scholar 

  14. Fernández-Vilas A, Pazos-Arias JJ, Gil-Solla A, Díaz-Redondo RP, García-Duque J, Barragáns-Martínez AB (2004) Incremental specification with SCTL/MUS-T: a case study. J Syst Softw 70(2):189–208

    Article  Google Scholar 

  15. Huth MRA, Jagadeesan R, Schmidt DA (2004) A domain equation for refinement of partial systems. Math Struct Comput Sci 14:469–505

    Article  MATH  MathSciNet  Google Scholar 

  16. Belnap ND (1977) Modern uses of multiple-valued logic, chapter a useful four-valued logic. Reidel, pp 7–37

  17. Morgan C (1990) Programing from specifications. Prentice Hall, Englewood cliffs

  18. García-Duque J, Pazos-Arias JJ, Barragáns-Martínez AB (2002) An analysis–revision cycle to evolve requirements specifications by using the SCTL-MUS methodology. In: Proceedings of 10th IEEE international conference on requirements engineering. Essen, Germany, pp 282–288

  19. Shaw M (1995) Comparing architectural design styles. IEEE Softw 12(6):27–41

    Article  Google Scholar 

  20. López-Nores M, Pazos-Arias JJ, García-Duque J, Blanco-Fernández Y, Ramos-Cabrer M, Gil-Solla A, Fernández-Vilas A, Díaz-Redondo RP (2006) Formal specification applied to distributed multiuser services: experiences in collaborative t-learning. J Syst Softw 79(8):1141–1155

    Article  Google Scholar 

  21. Pazos-Arias JJ, López-Nores M, García-Duque J, Gil-Solla A, Ramos-Cabrer M, Blanco-Fernández Y, Díaz-Redondo RP, Fernández-Vilas A (2006) ATLAS: a framework to provide multiuser and distributed t-learning services over MHP. Softw Prac Exp 36(8):845–869

    Article  Google Scholar 

  22. Swamy G (1996) Incremental methods for formal verification and logic synthesis. PhD thesis, University of California at Berkeley

  23. Díaz-Redondo RP, Pazos-Arias JJ, Fernández-Vilas A, García-Duque J, Gil-Solla A (2005) ARIFS methodology: reusing incomplete models at the requirements specification stage. Int J Softw Eng Knowl Eng 15(4):607–645

    Article  Google Scholar 

  24. López-Nores M, Díaz-Redondo RP, Pazos-Arias JJ, García-Duque J (2004) An improved repository system for effective and efficient reuse of formal verification efforts. In: Proceedings of 11th Asia-Pacific software engineering conference Busan, South Korea, pp 38–45

  25. Fickas S, Helm BR (1992) Knowledge representation and reasoning in the design of composite systems. IEEE Trans Softw Eng 18(6):470–482

    Article  Google Scholar 

  26. Easterbrook S (1993) Social and technological issues in requirements engineering, chapter Resolving requirements conflicts with computer-supported negotiation. Academic Press, Dublin, pp 41–65

  27. Owre S, Rushby J, Shankar N, von Henke F (1995) Formal verification for fault-tolerant architecture: prolegomena to the design of PVS. IEEE Trans Softw Eng 21(2):107–125

    Article  Google Scholar 

  28. Clarke E, Grumberg O, Peled D (2000) Model checking. The MIT Press, Cambridge

  29. Tran Van H, van Lamsweerde A, Massonet P, Ponsard C (2004) Goal-oriented requirements animation. In: 12th IEEE Intl. Conf. on Requirements Engineering. Kyoto, Japan, pp 218–228

  30. Zowghi D, Gervasi V (2003) On the interplay between consistency, completeness and correctness in requirements evolution. Inf Softw Technol 45:993–1009

    Article  Google Scholar 

  31. Satoh K (2003) Computing minimal revised specifications by default logic. In: Proceedings of workshop on intelligent technologies in software engineering, in conjunction with ESEC/FSE. Helsinki, Finland, pp 7–12

  32. van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005

    Article  Google Scholar 

  33. Mäkinen E, Systä T (2001) MAS—an interactive synthesizer to support behavioral modelling in UML. In: Proceedings of 23rd international conference on software engineering. Toronto, Canada, pp 15–24

  34. Uchitel S, Kramer J, Magee J (2003) Behaviour model elaboration using partial labelled transition systems. In: Proceedngs of 4th joint ESEC/FSE meeting. Helsinki, Finland, pp 19–27

  35. van Lamsweerde A (2004) Goal-oriented requirements engineering: a roundtrip from research to practice. In: Proceedings of 12th IEEE international conference on requirements engineering. Kyoto, Japan, pp 4–8

  36. Back R, Akademi A, von Wright J, Schneider F, Gries D (1998) Refinement calculus: a systematic introduction. Springer, Berlin

  37. Banach R, Poppleton M, Jeske C, Stepney S (2007) Engineering and theoretical underpinnings of retrenchment. Sci Comput Program 67:301–329

    Article  MATH  MathSciNet  Google Scholar 

  38. Sannella D (1999) Algebraic specification and program development by stepwise refinement. In: Proceedings of 9th international workshop on logic programming synthesis and transformation. Venice, Italy, pp 1–9

  39. Pons C (2006) Heuristics on the definition of UML refinement patterns. In: Proceedings of 32nd International conference on current trends in theory and practice of computer science, Merin, Czech Republic, pp 461–470

  40. Letier E, van Lamsweerde A (2002) Agent-based tactics for goal-oriented requirements elaboration. In: Proceedings of 24th international conference on software engineering. Orlando, USA, pp 83–93

  41. Jureta IJ, Faulkner S, Schobbens P-Y (2008) Clear justification of modeling decisions for goal-oriented requirements engineering. Requir Eng 13(2):87–115

    Article  Google Scholar 

  42. Balzer R (1991) Tolerating inconsistency. In: Proceedings of 13th international conference on software engineering. Austin, USA, pp 158–165

  43. Nuseibeh B, Easterbrook S, Russo A (2001) Making inconsistency respectable in software development. J Syst Softw 58(2):171–180

    Article  Google Scholar 

  44. Arieli O, Avron A (1994) Logical bilattices and inconsistent data. In: Proceedings of 9th IEEE annual symposium on logic in computer science. Paris, France, pp 468–476

  45. Easterbrook S, Chechik M (2001) A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of 23rd international conference on software engineering. Toronto, Canada, pp 411–420

  46. Konieczny S, Marquis P (2002) Three-valued logics for inconsistency handling. In: Proceedings of European Conference on logics in artificial intelligence. Cosenza, Italy, pp 322–344

  47. Barragáns-Martínez AB, Pazos-Arias JJ, Fernández-Vilas A, García-Duque J, López-Nores M, Díaz-Redondo RP, Blanco-Fernández Y (2008) On the interplay between inconsistency and incompleteness in multi-perspective requirements specifications. Inf Softw Technol 50(4):296–321

    Article  Google Scholar 

  48. Barragáns-Martínez AB, Pazos-Arias JJ, Fernández-Vilas A, García-Duque J, López-Nores M, Díaz-Redondo RP, Blanco-Fernández Y (2008) Composing requirements specifications from multiple prioritized sources. Requir Eng 13(3):187–206

    Article  Google Scholar 

Download references

Acknowledgments

This work has been partially supported by the Xunta de Galicia research project PGIDIT04PXIB32201PR.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martín López-Nores.

Rights and permissions

Reprints and permissions

About this article

Cite this article

García-Duque, J., Pazos-Arias, J.J., López-Nores, M. et al. Methodologies to evolve formal specifications through refinement and retrenchment in an analysis–revision cycle. Requirements Eng 14, 129–153 (2009). https://doi.org/10.1007/s00766-009-0074-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-009-0074-z

Keywords

Navigation