Skip to main content
Log in

Deriving event-based transition systems from goal-oriented requirements models

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Goal-oriented methods are increasingly popular for elaborating software requirements. They offer systematic support for incrementally building intentional, structural, and operational models of the software and its environment. Event-based transition systems on the other hand are convenient formalisms for reasoning about software behaviour at the architectural level.

The paper relates these two worlds by presenting a technique for translating formal specification of software operations built according to the KAOS goal-oriented method into event-based transition systems analysable by the LTSA toolset. The translation involves moving from a declarative, state-based, timed, synchronous formalism typical of requirements modelling languages to an operational, event-based, untimed, asynchronous one typical of architecture description languages. The derived model can be used for the formal analysis and animation of KAOS operation models in LTSA.

The paper also provides insights into the two complementary formalisms, and shows that the use of synchronous temporal logic for requirements specification hinders a smooth transition from requirements to software architecture models.

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.

Similar content being viewed by others

References

  • Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

  • Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)

    Article  Google Scholar 

  • Alrajeh, D., Russo, A., Uchitel, S.: Deriving non-zeno behavior models from goal models using ILP. In: Proceedings of the Fundamental Approaches to Software Engineering Conference (2008)

  • Brandozzi, M., Perry, D.E.: Transforming goal oriented requirement specifications into architectural prescriptions. In: Castro, Kramer (eds.) STRAW 2001: from Software Requirements to Architectures. pp. 54–60 (2001)

  • Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting software systems with process algebras. University of Bologna, UBLCS-2201-7, July 2001

  • Berry, D.M., Kazman, R., Wieringa, R. (eds.) The Second International Software Requirements to Architectures Workshop (STRAW’03) at ICSE’03 (2003)

  • Borgida, A., Mylopoulos, J.: Reiter R., On the frame problem in procedure specifications. IEEE Trans. Softw. Eng., October 1995

  • Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., Mylopoulos, J.: Tropos: an agent-oriented software development methodology. Auton. Agents Multi-Agent Syst. 8(3), 203–236 (2004)

    Article  Google Scholar 

  • Castro, J., Kramer, J. (eds.): The First International Workshop on From Software Requirements to Architectures (STRAW’01). At ICSE’01

  • Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: the Tropos project. Inf. Syst. 27(6), 365–389 (2002)

    Article  MATH  Google Scholar 

  • Cheung, S.-C., Kramer, J.: Checking safety properties using compositional reachability analysis. ACM Trans. Softw. Eng. Methodol. 8(1), 49–78 (1999)

    Article  Google Scholar 

  • Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic, Dordrecht (2000)

    MATH  Google Scholar 

  • Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: Nusmv version 2: an opensource tool for symbolic model checking. In: Int. Conf. on Computer-Aided Verification (CAV02), Denmark, July 2002. Lecture Notes in Computer Science, vol. 2404, Springer, Berlin (2002)

    Google Scholar 

  • Courtois, P.-J., Parnas, D.L.: Documentation for safety critical software. In: Proc. ICSE’93: 15th Intl. Conf. on Software Engineering (1993)

  • Damas, C., Lambeau, B., van Lamsweerde, A.: Scenarios, goals, and state machines: a win-win partnership for model synthesis. In: SIGSOFT FSE, pp. 197–207 (2006)

  • Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993). doi:10.1016/0167-6423(93)90021-G

    Article  MATH  Google Scholar 

  • Darimont, R., van Lamsweerde, A.: Formal refinement patterns for goal-driven requirements elaboration. In: Proc. FSE’4: 4th ACM Symp. on Foundations of Software Engineering, October 1996

  • De Landtsheer, R., Letier, E., van Lamsweerde, A.: Deriving tabular event-based specifications from goal-oriented requirements models. Requirements Eng. J. 9(2), 104–120 (2004)

    Article  Google Scholar 

  • Fuxman, A., Liu, L., Mylopoulos, J., Roveri, M., Traverso, P.: Specifying and analyzing early requirements in Tropos. Requir. Eng. 9(2), 132–150 (2004)

    Article  Google Scholar 

  • Giannakopoulou, D., Magee, J., Kramer, J.: Checking progress with action priority: is it fair? In: ESEC/SIGSOFT FSE 1999, pp. 511–527 (1999a)

  • Giannakopoulou, D., Kramer, J., Cheung, S.-C.: Behaviour analysis of distributed systems using the tracta approach. Autom. Softw. Eng. 6(1), 7–35 (1999b)

    Article  Google Scholar 

  • Giannakopoulou, D., Magee, J.: Fluent model checking for event-based systems. In: Proc. ESEC/FSE 2003, Helsinki, Finland, September 2003

  • Giannakopoulou, D., Pasareanu, C.S., Cobleigh, J.M.: Assume-guarantee verification of source code with design-level assumptions. In: ICSE 2004, pp. 211–220 (2004)

  • Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Component verification with automatically generated assumptions. Autom. Softw. Eng. 12(3), 297–320 (2005)

    Article  Google Scholar 

  • Gross, D., Yu, E.S.K.: From non-functional requirements to design through patterns. Requir. Eng. J. 6(1), 18–36 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  • Heitmeyer, C., Jeffords, R.D., Labaw, B.G.: Automated consistency checking of requirements specifications. ACM Trans. Softw. Eng. Methodol. 5(3), 231–260 (1996)

    Article  Google Scholar 

  • Heitmeyer, C., Kirkby, J., Labaw, B., Bharadwaj, R.: SCR*: a toolset for specifying and analyzing software requirements. In: Proc. CAV’98—10th Annual Conference on Computer-Aided Verification, Vancouver, pp. 526–531 (1998)

  • Henzinger, T.A.: It’s about time: real-time logics reviewed. In: Proc. 9th International Conference on Concurrency Theory (CONCUR). Lecture Notes in Computer Science, vol. 1466, pp. 439–454. Springer, Berlin (1998)

    Google Scholar 

  • Knight, J.C.: Safety-critical systems: challenges and directions (invited mini-tutorial). In: Proc. ICSE’2002: 24th International Conference on Software Engineering, pp. 547–550. ACM, New York (2002)

    Google Scholar 

  • Jackson, M.: The world and the machine. In: Proceedings of the 17th international Conference on Software Engineering, ICSE ’95, Seattle, Washington, United States, 24–28 April 1995, pp. 283–292. ACM, New York (1995). doi:10.1145/225014.225041

    Google Scholar 

  • Jackson, D.: Automating first-order relational logic. In: ACM SIGSOFT, Proc. Conf. Foundations of Software Engineering, November 2000

  • Jani, D., Vanderveken, D., Perry, D.E.: Deriving architecture specifications from KAOS specifications: a research case study. In: Proc. EWSA 2005, 2nd European Workshop on Software Architecture. Lecture Notes in Computer Science, vol. 3527, pp. 185–202. Springer, Berlin (2005)

    Google Scholar 

  • Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall International Series in Computer Science. Englewood Cliffs, Prentice Hall International (1986)

    Google Scholar 

  • Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976). doi:10.1145/360248.360251

    Article  MATH  Google Scholar 

  • Kramer, J., Magee, J., Sloman, M., et al.: CONIC: an integrated approach to distributed computer control systems. IEE Proc. Part E 130(1), 1–10 (1983)

    Google Scholar 

  • Letier, E.: Reasoning about agents in goal-oriented requirements engineering. Phd thesis, Université Catholique de Louvain, Dépt. Ingénierie Informatique, Louvain-la-Neuve, Belgium, May 2001

  • Letier, E., van Lamsweerde, A.: Agent-based tactics for goal-oriented requirements elaboration. In: Proc. ICSE’02: 24th Intl. Conf. on Software Engineering. IEEE Press, Orlando (2002a)

    Google Scholar 

  • Letier, E., van Lamsweerde, A.: Deriving operational software specifications from system goals. In: FSE’10: 10th ACM Symp. Foundations of Software Engineering, Charleston, November 2002b

  • Letier, E., van Lamsweerde, A.: Reasoning about partial goal satisfaction for requirements and design engineering. In: Proceedings FSE 2004—12th International Symposium on the Foundation of Software Engineering, pp. 53–62. ACM, Newport Beach (2004)

    Google Scholar 

  • Letier, E., Kramer, J., Magee, J., Uchitel, S.: Fluent temporal logic for discrete-time event-based models. In: Proc. ESEC/FSE 2005, Lisbon, September 2005

  • Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley, Reading (1995)

    Google Scholar 

  • Liu, L., Yu, E.: From requirements to architectural design: using goals and scenarios. In: The First International Workshop From Software Requirements to Architectures (STRAW 01) at ICSE 2001, Toronto, Canada, 14 May 2001

  • Magee, J., Kramer, J.: Concurrency—State Models & Java Programs. Chichester, Wiley (1999)

    MATH  Google Scholar 

  • Magee, J., Pryce, N., Giannakopoulou, D., Kramer, J.: Graphical animation of behavior models. In: Proc. of the 22d International Conference on Software Engineering (ICSE’ 2000), Limerick, Ireland, June 2000

  • Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: 5th European Software Engineering Conference (ESEC’95), Sitges, Spain, September 1995, pp. 137–153 (1995)

  • Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, Berlin (1992)

    Google Scholar 

  • Mylopoulos, J.: Goal-oriented requirements engineering, Part II. In: Proceedings of RE’06, 14th IEEE Joint International Requirements Engineering Conference, Minneapolis, September 2006, p. 4 (Invited Keynote Paper)

  • Ng, K., Kramer, J., Magee, J.: A CASE tool for software architecture design. Autom. Softw. Eng. 3(34), 261–284 (1996)

    Google Scholar 

  • Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(2), 115–117 (2001)

    Google Scholar 

  • Ponsard, C., Massonet, P., Rifaut, A., Molderez, J.F., van Lamsweerde, A., Tran Van, H.: Early verification and validation of mission-critical system. In: Proc. FMICS’04, 9th International Workshop on Formal Methods for Industrial Critical Systems, Linz, Austria, September 2004

  • Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall Series in Computer Science. Prentice Hall, London (1998)

    Google Scholar 

  • Tran Van, H., van Lamsweerde, A., Massonet, P., Ponsard, C.: Goal-oriented requirements animation. In: Proc. 12th IEEE Joint International Requirements Engineering Conference, Kyoto, September 2004

  • van Lamsweerde, A.: Requirements engineering in the year 00: a research perspective. In: 22nd International Conference on Software Engineering. ACM, Limerick (2000)

    Google Scholar 

  • van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour (invited minitutorial). In: Proc. RE’01—5th Intl. Symp. Requirements Engineering, Toronto, August 2001, pp. 249–263 (2001)

  • van Lamsweerde, A.: From system goals to software architecture. In: Bernardo, M., Inverardi, P. (eds.) Formal Methods for Software Architectures. Lecture Notes in Computer Science, vol. 2804, pp. 25–43. Springer, Berlin (2003)

    Google Scholar 

  • van Lamsweerde, A.: Goal-oriented requirements engineering: a roundtrip from research to practice. In: Proceedings of RE’04, 12th IEEE Joint International Requirements Engineering Conference, Kyoto, 4–8 September 2004

  • van Lamsweerde, A., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng., Special Issue on Exception Handling, October 2000

  • van Lamsweerde, A., Letier, E.: From object orientation to goal orientation: a paradigm shift for requirements engineering. In: Wirswing, M. (ed.) Radical Innovations of Software and Systems Engineering in the Future. Lecture Notes in Computer Science, vol. 2941, pp. 325–340. Springer, Berlin (2002)

    Google Scholar 

  • van Lamsweerde, A., Darimont, R., Letier, E.: Managing conflicts in goal-driven requirements engineering. In: IEEE Transactions Software Engineering, Special Issue on Managing Inconsistency in Software Development, November 1998a

  • van Lamsweerde, A., Willemet, L.: Inferring declarative requirements specifications from operational scenarios. IEEE Trans. Softw. Eng. 24(12), 1089–1114 (1998b)

    Article  Google Scholar 

  • Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall International Series in Computer Science. Prentice Hall, London (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emmanuel Letier.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Letier, E., Kramer, J., Magee, J. et al. Deriving event-based transition systems from goal-oriented requirements models. Autom Softw Eng 15, 175–206 (2008). https://doi.org/10.1007/s10515-008-0027-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-008-0027-7

Keywords

Navigation