Information Technology and Management

, Volume 19, Issue 1, pp 37–49 | Cite as

Theoretical and empirical studies on essence-based adaptive software engineering



The OMG Essence standard was published as the kernel for software engineering methods in 2014. We show that the Essence view of software engineering is reminiscent of a nondeterministic, multidimensional finite state machine, and that the Essence lends support to a semi-Markov decision process model of software engineering which, in practice, facilitates a goal-driven adaptive software engineering. We develop an activity-state mapping algorithm and a goal-activity cover algorithm based on the Essence, which can help automate the health monitoring of project states and the adaptive planning of project activities in a software engineering project. Practical applications of the model and algorithms are illustrated. Benefits to software practitioners of the proposed approach are measured through statistical experiments.


Essence kernel Adaptive software engineering Software engineering method Stochastic decision process Set cover problem Software engineering metrics Software engineering experiment design 



This work was supported by the Institute for Information & Communications Technology Promotion (IITP) grant funded by the Korea government (MSIP) (No. B0101-16-1272, Development of Device Collaborative Giga-Level Smart Cloudlet Technology).


  1. 1.
    Park JS, Jacobson I, Myburgh B, Johnson P, McMahon PE (2014) SEMAT yesterday, today and tomorrow. In: SEMAT.
  2. 2.
    Object Management Group (2015) Essence—kernel and language for software engineering methods, version 1.1.
  3. 3.
    Osterweil LJ (1987) Software processes are software too. In: IEEE international conference on software engineeringGoogle Scholar
  4. 4.
    Humphrey WS, Kellner MI (1989) Software process modeling: principles of entity process models. Software Engineering Institute, Carnegie Mellon University, PittsburghCrossRefGoogle Scholar
  5. 5.
    Ovio M, Basili VR (1992) Representing software engineering models: the TAME goal oriented approach. IEEE Trans Softw Eng 18(10):886–898CrossRefGoogle Scholar
  6. 6.
    Bhuta J, Boehm B, Meyers S (2005) Process elements: components of software process architectures. In: International conference on unifying the software process spectrumGoogle Scholar
  7. 7.
    Rombach D (2006) Integrated software process and product lines. In: Unifying the software process spectrum. Lecture notes in computer science, vol 3840. Springer, pp 83–90Google Scholar
  8. 8.
    ISO/IEC 24744 (2007) Software engineering-metamodel for development methodologies. ISO/IEC JTC 1/SC 7Google Scholar
  9. 9.
    Gonzalez-Perez C, Henderson-Sellers B (2008) Metamodeling for software engineering. Wiley, New YorkGoogle Scholar
  10. 10.
    Object Management Group (2008) Software & systems process engineering meta-model specification (SPEM) version 2.0.
  11. 11.
    Sutherland J, Schwaber K (2014) The scrum guide.
  12. 12.
    Flowler M (2005) The new methodology.
  13. 13.
    Highsmith JA (2000) Adaptive software development: a collaborative approach to managing complex systems. Dorset House, New YorkGoogle Scholar
  14. 14.
    Poppendieck M, Poppendieck T (2003) Lean software development: an agile toolkit. Addison-Wesley, LondonGoogle Scholar
  15. 15.
    Henderson-Sellers B, Ralyté J (2010) Situational method engineering: state-of-the-art review. J Univ Comput Sci 16(3):424–478Google Scholar
  16. 16.
    Harman M, Burke E, Clark JA, Yao X (2012) Dynamic adaptive search based software engineering. In: International symposium on empirical software engineering and measurementGoogle Scholar
  17. 17.
    Jacobson I, Ng P, McMahon PE, Spence I, Lidman S (2012) The essence of software engineering: the SEMAT kernel. Commun ACM 55(12):42–49CrossRefGoogle Scholar
  18. 18.
    Jacobson I, Ng P, McMahon PE, Spence I, Lidman S (2013) The essence of software engineering: applying the SEMAT kernel. Addison-Wesley, LondonGoogle Scholar
  19. 19.
    Jacobson I, Spence I, Ng P (2013) Agile and SEMAT-perfect partners. Commun ACM 56(11):53–59CrossRefGoogle Scholar
  20. 20.
    Jacobson I, Ng P, Spence I, McMahon PE (2014) Major-league SEMAT—why should an executive care? Commun ACM 57(4):44–50CrossRefGoogle Scholar
  21. 21.
    Jacobson I, Seidewitz E (2014) A new software engineering. Commun ACM 57(12):36–41CrossRefGoogle Scholar
  22. 22.
    McMahon PE (2014) 15 Fundamentals for higher performance in software development. Leanpub, VancouverGoogle Scholar
  23. 23.
    Park JS, McMahon PE, Myburgh B (2016) Scrum powered by essence. ACM SIGSOFT Softw Eng Note 41(1):1–8.
  24. 24.
    Park JS (2013) Essence kernel-based enterprise method architecture. In: Essence information day. OMG, Berlin.
  25. 25.
    Park JS (2014) Essence-based adaptive software engineering, pre-conference tutorial. In: 4th international conference on emerging applications of information technology (EAIT). Indian Statistical Institute, Kolkata, IndiaGoogle Scholar
  26. 26.
    Park JS (2015) Essence-powered scrum: a generic approach to describing practices using essence kernel and language. In: Essence-in-practice conference. OMG, Berlin.
  27. 27.
    Park JS (2015) Software engineering in the context of business systems. In: Jacobson I, Lawson H (eds) Software engineering in the systems context. College Publications, London. ISBN 978-1-84890-176-6Google Scholar
  28. 28.
    Wikipedia (2014) Set cover problemGoogle Scholar
  29. 29.
    Chvatal V (1979) A greedy heuristic for the set covering problem. Math Oper Res 4:233–235CrossRefGoogle Scholar
  30. 30.
    Park JS (2015) Essence-based goal-driven adaptive software engineering. In: IEEE/ACM 4th SEMAT workshop on general theory of software engineering (GTSE), international conference on software engineering, Florence, Italy, pp 33–38.
  31. 31.
    Knox ST (1993) Modeling the cost of software quality. Digital Equipment Corporation, ActonGoogle Scholar
  32. 32.
    Perkins-Golomb B (2013) Applying SEMAT concepts at Munich Re: perspective reflections. In: Essence information day. OMG, Berlin.
  33. 33.
    Pike J (2014) Munich Re and Essence—kernel and language for software engineering methods: a case study. OMG.
  34. 34.
    Cunningham D (2013) Enabling Fujitsu’s industrialized delivery of application services. In: Essence information day. OMG, Berlin.
  35. 35.
    Elvesæter B, Benguria G, Ilieva S (2013) A comparison of the essence 1.0 and SPEM 2.0 specifications for software engineering methods. In: Workshop on process-based approaches to model-driven engineering, Montpellier, FranceGoogle Scholar
  36. 36.
    Péraire C, Sedano T (2014) State-based monitoring and goal-driven project steering: field study of the SEMAT Essence framework. In: International conference on software engineering, Hyderabad, India, 2014Google Scholar
  37. 37.
    Ivar Jacobson International (2014) Asian telecommunications equipment vendor successfully achieves rapid and sustainable agile transformation.
  38. 38.
    SEMAT (2014) Google Switzerland explored Essence.
  39. 39.
    Jang J (2015) Essencia—an open source Essence-support tool. In: 23rd IFIP World Computer Congress SEMAT Essence conference, Daejeon, Korea.
  40. 40.
    Essencia open source project.

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Industrial and Systems Engineering DepartmentKorea Advanced Institute of Science and TechnologyDaejeonKorea
  2. 2.Computer Science DepartmentKorea Advanced Institute of Science and TechnologyDaejeonKorea
  3. 3.uEngine SolutionsSeoulKorea
  4. 4.2e ConsultingSeoulKorea

Personalised recommendations