Advertisement

An Arithmetic Semantics for GRL Goal Models with Function Generation

  • Yuxuan Fan
  • Amal Ahmed Anda
  • Daniel AmyotEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11150)

Abstract

Goal models are used to support early requirements engineering activities by capturing system and stakeholder objectives and their links, and by enabling what-if and trade-off analysis in a decision-making context. They are also increasingly used in system monitoring and self-adaptation contexts. Yet, automatically converting goal models to code for supporting analysis and adaptation activities remains an issue. This paper presents a new arithmetic semantics for the standard Goal-oriented Requirement Language (GRL), supported by a transformation to functions in multiple programming languages. Such code allows for quantitative GRL model evaluations to be performed outside of modeling tools, including in running systems. The transformation makes use of a Python-based intermediate representation (SymPy), with function generation in Java, JavaScript, C, C++, Python, R, and Matlab. The semantics and transformation, implemented in the jUCMNav plug-in for Eclipse, entirely cover GRL, including goals, indicators, actors, and any combination of links.

Keywords

GRL model Self-adaptation Mathematical analysis 

Notes

Acknowledgment

A. Anda thanks the Libyan Ministry of Education for its financial support. This work was also supported by D. Amyot’s Discovery Grant from NSERC.

References

  1. 1.
    Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., Yu, E.: Evaluating goal models within the goal-oriented requirement language. Int. J. Intel. Syst. 25(8), 841–877 (2010)CrossRefGoogle Scholar
  2. 2.
    Amyot, D., Mussbacher, G.: User requirements notation: the first ten years, the next ten years. JSW 6(5), 747–768 (2011)CrossRefGoogle Scholar
  3. 3.
    Amyot, D., et al.: Towards advanced goal model analysis with jUCMNav. In: Castano, S., Vassiliadis, P., Lakshmanan, L.V., Lee, M.L. (eds.) ER 2012. LNCS, vol. 7518, pp. 201–210. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33999-8_25CrossRefGoogle Scholar
  4. 4.
    Anda, A.A., Amyot, D.: Self-adaptation driven by SysML and goal models: a literature review. Syst. Eng. (2018), (submitted)Google Scholar
  5. 5.
    Baslyman, M., Amyot, D.: A distance-based GRL approach to goal model refinement and alternative selection. In: 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), pp. 16–20. IEEE (2017)Google Scholar
  6. 6.
    Bocanegra, J., Pavlich-Mariscal, J., Carrillo-Ramos, A.: On the role of model-driven engineering in adaptive systems. In: Computing Conference (CCC), 2016 IEEE 11th Colombian, pp. 1–8. IEEE (2016)Google Scholar
  7. 7.
    Ceballos, B., Lamata, M.T., Pelta, D.A.: A comparative analysis of multi-criteria decision-making methods. Prog. AI 5(4), 315–322 (2016).  https://doi.org/10.1007/s13748-016-0093-1CrossRefGoogle Scholar
  8. 8.
    Chatzikonstantinou, G., Kontogiannis, K.: Run-time requirements verification for reconfigurable systems. Inf. Softw. Technol. 75, 105–121 (2016)CrossRefGoogle Scholar
  9. 9.
    Chitra, Subramanian, M., Krishna, A., Kaur, A.: Optimal goal programming of softgoals in goal-oriented requirements engineering. In: PACIS 2016 Proceedings, p. 202. AISEL (2016)Google Scholar
  10. 10.
    Chitra, S., Krishna, A., Kaur, A.: Optimal reasoning of goals in the i* framework. In: Asia-Pacific Software Engineering Conference, APSEC, pp. 346–353 (2015)Google Scholar
  11. 11.
    Fan, Y.: GRLToMath plugin for jUCMNav (2018). https://github.com/AAmberFan/GRLToMath
  12. 12.
    Horkoff, J., Aydemir, F.B., Cardoso, E., Li, T., Maté, A., Paja, E., Salnitri, M., Piras, L., Mylopoulos, J., Giorgini, P.: Goal-oriented requirements engineering: an extended systematic mapping study. Requir. Eng., Sep 2017.  https://doi.org/10.1007/s00766-017-0280-z
  13. 13.
    Horkoff, J., Yu, E.: Comparison and evaluation of goal-oriented satisfaction analysis techniques. Requir. Eng. 18(3), 199–222 (2013).  https://doi.org/10.1007/s00766-011-0143-yCrossRefGoogle Scholar
  14. 14.
    International Telecommunication Union: Recommendation Z.151 (10/12) User Requirements Notation (URN)—Language definition (2012). https://www.itu.int/rec/T-REC-Z.151/en
  15. 15.
    Ito, Y., Tomura, S., Moriya, K.: Vibration-reducing motor control for hybrid vehicles. R&D Rev. Toyota CRDL 40(2), 37–43 (2005)Google Scholar
  16. 16.
    Luo, H., Amyot, D.: Towards a declarative, constraint-oriented semantics with a generic evaluation algorithm for GRL. In: 5th International i* Workshop (iStar 2011). CEUR-WS, vol. 766, pp. 26–31 (2011)Google Scholar
  17. 17.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Multi-objective reasoning with constrained goal models. Requir. Eng. 23(2), 189–225 (2018)CrossRefGoogle Scholar
  18. 18.
    Noorian, M., Bagheri, E., Du, W.: Toward automated qualitycentric product line configuration using intentional variability. J. Softw. Evoluti. Process 29(9), e1870 (2017)CrossRefGoogle Scholar
  19. 19.
    Object Management Group: Systems Modeling Language (SysML) v2 Request For Proposal (RFP). OMG Document Number: ad/17-12-02 (2017). http://www.omg.org/cgi-bin/doc.cgi?ad/2017-12-2
  20. 20.
    Object Management Group: Systems Modeling Language (SysML). Version 1.5. OMG Document Number: formal-17-05-01. (2017). https://www.omg.org/spec/SysML/1.5/
  21. 21.
    Pourshahid, A., Johari, I., Richards, G., Amyot, D., Akhigbe, O.S.: A goal-oriented, business intelligence-supported decision-making methodology. Decis. Anal. 1, 9 (2014)CrossRefGoogle Scholar
  22. 22.
    Ramirez, A.J., Cheng, B.H.C.: Automatic derivation of utility functions for monitoring software requirements. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 501–516. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-24485-8_37CrossRefGoogle Scholar
  23. 23.
    SymPy Development Team: SymPy (2018). http://www.sympy.org/
  24. 24.
    Van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software, vol. 10. Wiley, Chichester, UK (2009)Google Scholar
  25. 25.
    Vrbaski, M., Mussbacher, G., Petriu, D., Amyot, D.: Goal models as run-time entities in context-aware systems. In: Proceedings of the 7th Workshop on Models@Run.Time, pp. 3–8. MRT 2012. ACM (2012).  https://doi.org/10.1145/2422518.2422520
  26. 26.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.M.: RELAX: a language to address uncertainty in self-adaptive systems requirement. Requir. Eng. 15(2), 177–196 (2010)CrossRefGoogle Scholar
  27. 27.
    Yang, Z., Li, Z., Jin, Z., Chen, Y.: A systematic literature review of requirements modeling and analysis for self-adaptive systems. In: Salinesi, C., van de Weerd, I. (eds.) REFSQ 2014. LNCS, vol. 8396, pp. 55–71. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-05843-6_5CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.EECS University of OttawaOttawaCanada

Personalised recommendations