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.
Similar content being viewed by others
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)
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)
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)
Cheung, S.-C., Kramer, J.: Checking safety properties using compositional reachability analysis. ACM Trans. Softw. Eng. Methodol. 8(1), 49–78 (1999)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic, Dordrecht (2000)
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)
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
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)
Fuxman, A., Liu, L., Mylopoulos, J., Roveri, M., Traverso, P.: Specifying and analyzing early requirements in Tropos. Requir. Eng. 9(2), 132–150 (2004)
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)
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)
Gross, D., Yu, E.S.K.: From non-functional requirements to design through patterns. Requir. Eng. J. 6(1), 18–36 (2001)
Heitmeyer, C., Jeffords, R.D., Labaw, B.G.: Automated consistency checking of requirements specifications. ACM Trans. Softw. Eng. Methodol. 5(3), 231–260 (1996)
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)
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)
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
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)
Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall International Series in Computer Science. Englewood Cliffs, Prentice Hall International (1986)
Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976). doi:10.1145/360248.360251
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)
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)
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)
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)
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)
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)
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)
Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(2), 115–117 (2001)
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)
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)
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)
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)
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)
Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall International Series in Computer Science. Prentice Hall, London (1999)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-008-0027-7