Abstract
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.
Similar content being viewed by others
References
Park JS, Jacobson I, Myburgh B, Johnson P, McMahon PE (2014) SEMAT yesterday, today and tomorrow. In: SEMAT. http://semat.org/news
Object Management Group (2015) Essence—kernel and language for software engineering methods, version 1.1. http://www.omg.org/spec/Essence/1.1/
Osterweil LJ (1987) Software processes are software too. In: IEEE international conference on software engineering
Humphrey WS, Kellner MI (1989) Software process modeling: principles of entity process models. Software Engineering Institute, Carnegie Mellon University, Pittsburgh
Ovio M, Basili VR (1992) Representing software engineering models: the TAME goal oriented approach. IEEE Trans Softw Eng 18(10):886–898
Bhuta J, Boehm B, Meyers S (2005) Process elements: components of software process architectures. In: International conference on unifying the software process spectrum
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–90
ISO/IEC 24744 (2007) Software engineering-metamodel for development methodologies. ISO/IEC JTC 1/SC 7
Gonzalez-Perez C, Henderson-Sellers B (2008) Metamodeling for software engineering. Wiley, New York
Object Management Group (2008) Software & systems process engineering meta-model specification (SPEM) version 2.0. http://www.omg.org/spec/SPEM/2.0/
Sutherland J, Schwaber K (2014) The scrum guide. http://www.scrumguides.org/
Flowler M (2005) The new methodology. http://martinfowler.com/articles/newMethodology.html
Highsmith JA (2000) Adaptive software development: a collaborative approach to managing complex systems. Dorset House, New York
Poppendieck M, Poppendieck T (2003) Lean software development: an agile toolkit. Addison-Wesley, London
Henderson-Sellers B, Ralyté J (2010) Situational method engineering: state-of-the-art review. J Univ Comput Sci 16(3):424–478
Harman M, Burke E, Clark JA, Yao X (2012) Dynamic adaptive search based software engineering. In: International symposium on empirical software engineering and measurement
Jacobson I, Ng P, McMahon PE, Spence I, Lidman S (2012) The essence of software engineering: the SEMAT kernel. Commun ACM 55(12):42–49
Jacobson I, Ng P, McMahon PE, Spence I, Lidman S (2013) The essence of software engineering: applying the SEMAT kernel. Addison-Wesley, London
Jacobson I, Spence I, Ng P (2013) Agile and SEMAT-perfect partners. Commun ACM 56(11):53–59
Jacobson I, Ng P, Spence I, McMahon PE (2014) Major-league SEMAT—why should an executive care? Commun ACM 57(4):44–50
Jacobson I, Seidewitz E (2014) A new software engineering. Commun ACM 57(12):36–41
McMahon PE (2014) 15 Fundamentals for higher performance in software development. Leanpub, Vancouver
Park JS, McMahon PE, Myburgh B (2016) Scrum powered by essence. ACM SIGSOFT Softw Eng Note 41(1):1–8. http://dl.acm.org/citation.cfm?id=2853088
Park JS (2013) Essence kernel-based enterprise method architecture. In: Essence information day. OMG, Berlin. http://www.omg.org/news/meetings/tc/berlin-13/special-events/essence-pdfs/S5-Park.pdf
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, India
Park JS (2015) Essence-powered scrum: a generic approach to describing practices using essence kernel and language. In: Essence-in-practice conference. OMG, Berlin. http://www.omg.org/news/meetings/tc/berlin-15/special-events/essence-presentations/park.pdf
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-6
Wikipedia (2014) Set cover problem
Chvatal V (1979) A greedy heuristic for the set covering problem. Math Oper Res 4:233–235
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. http://dl.acm.org/citation.cfm?id=2820176
Knox ST (1993) Modeling the cost of software quality. Digital Equipment Corporation, Acton
Perkins-Golomb B (2013) Applying SEMAT concepts at Munich Re: perspective reflections. In: Essence information day. OMG, Berlin. http://www.omg.org/news/meetings/tc/berlin-13/special-events/essence-pdfs/S6_Burkhard.pdf
Pike J (2014) Munich Re and Essence—kernel and language for software engineering methods: a case study. OMG. http://www.omg.org/news/whitepapers/
Cunningham D (2013) Enabling Fujitsu’s industrialized delivery of application services. In: Essence information day. OMG, Berlin. http://www.omg.org/news/meetings/tc/berlin-13/special-events/essence-pdfs/S7-Cunningham.pdf
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, France
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, 2014
Ivar Jacobson International (2014) Asian telecommunications equipment vendor successfully achieves rapid and sustainable agile transformation. http://www.ivarjacobson.com/
SEMAT (2014) Google Switzerland explored Essence. http://semat.org/news
Jang J (2015) Essencia—an open source Essence-support tool. In: 23rd IFIP World Computer Congress SEMAT Essence conference, Daejeon, Korea. http://www.wcc-2015.org/SEMAT_Essence_Conference.php
Essencia open source project. https://github.com/TheOpenCloudEngine/essencia
Acknowledgements
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).
Author information
Authors and Affiliations
Corresponding author
Additional information
Dr. Park serves as President of SEMAT, Inc. (http://semat.org), and Chair of Essence 1.2 Revision Task Force in OMG.
Rights and permissions
About this article
Cite this article
Park, J.S., Jang, J. & Lee, E. Theoretical and empirical studies on essence-based adaptive software engineering. Inf Technol Manag 19, 37–49 (2018). https://doi.org/10.1007/s10799-016-0273-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10799-016-0273-5