skip to main content
10.1145/3379177.3388896acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Process Implications of Executable Domain Models for Microservices Development

Published: 16 September 2020 Publication History

Abstract

Microservice architecture has been recognized as an important enabler for continuous development of many cloud-based systems. Code generation has been tried in the tool chain of building microservices. However, most existing tools generally do not consider the risks from continuous development.
We have been developing a toolkit which generates microservices from application domain models. Our approach aligns development process to this toolkit and coordinates domain modeling activity over project life cycles. In this paper, we describe its framework and corresponding development process which eliminates delays brought by the uncertainty of a project at a relatively early stage. Several minimum viable products have been built upon the proposed approach during the past years, including automated generation of code from domain decomposition. Our result shows 10% saving of effort and fewer issues. Effort saving increases to 30% under an extreme condition with high-rate personnel turnover. We also discuss our findings on running these projects and raise discussion and questions for future enhancement.

References

[1]
Andy Singleton. Unblock! A Guide to the New Continuous Agile. Assembla, Inc., 2014.
[2]
Rory V. O'Connor, Peter Elger, and Paul M. Clarke. Continuous software engineering--A microservices architecture perspective. Journal of Software: Evolution and Process, 29(11):1--12, 2017.
[3]
Barry W. Boehm, Jo A. Lane, Supannika Koolmanojwong, and Richard Turner. The incremental commitment spiral model: principles and practices for successful systems and software. Addison-Wesley, Upper Saddle River, NJ, 2014.
[4]
Barry W. Boehm. Requirements that handle IKIWISI, COTS, and rapid change. Computer, 33(7):99--102, Jul 2000.
[5]
Barry W. Boehm. Software cost estimation with Cocomo II. Prentice Hall, Upper Saddle River, NJ, 2000.
[6]
Alexandros Dallas. RESTful Web Services with Dropwizard. Packt Publishing Ltd, 2014.
[7]
Spring Boot. http://spring.io/projects/spring-boot, 2002-2019. Accessed: Mar. 2019.
[8]
Expressjs. https://expressjs.com/, 2010-2019. Accessed: Mar. 2019.
[9]
Apache Isis. Domain driven applications, quickly. https://isis.apache.org/, 2010-2018. Accessed: Mar. 2019.
[10]
Richard Pawson. Naked Objects. PhD thesis, Trinity College, Dublin, 2004.
[11]
Openxava. Ajax java framework for rapid application development. http://www.openxava.org/, 2005-2019. Accessed: Mar. 2019.
[12]
Roma framework. The new way to conceive web applications. http://www.romaframework.org/, 2009. Accessed: Mar. 2019.
[13]
Trails. A Modern Web Application Framework for Nodejs. https://trailsjs.io/, 2014-2017. Accessed: Mar. 2019.
[14]
JMatter. http://jmatter.org/, 2008-2019. Accessed: Mar. 2019.
[15]
Benjamin Klatt. Xpand: A closer look at the model2text transformation language. Language, 10(16):2008, 2007.
[16]
Acceleo. https://www.eclipse.org/acceleo/, 2006-2019. Accessed: Mar. 2019.
[17]
Actifsource. http://www.actifsource.com/, 2016-2019. Accessed: Mar. 2019.
[18]
Attila Adamko. Modeling data-oriented web applications using uml. In EUROCON 2005-The International Conference on "Computer as a Tool", volume 1, pages 752--755. IEEE, 2005.
[19]
Jet. https://www.eclipse.org/modeling/m2t/?project=jet, 2007-2010. Accessed: Mar. 2019.
[20]
Eugene Syriani, Lechanceux Luhunu, and Houari Sahraoui. Systematic mapping study of template-based code generation. Computer Languages, Systems & Structures, 52:43--62, 2018.
[21]
Swagger. https://swagger.io/, 2011-2019. Accessed: Mar. 2019.
[22]
Apimatic. https://apimatic.io/, 2010-2019. Accessed: Mar. 2019.
[23]
Jurgen Munch and Klaus Schmid. Domain Modeling and Domain Engineering: Key Tasks in Requirements Engineering. Perspectives on the Future of Software Engineering: Essays in Honor of Dieter Rombach, 9783642373, 2013.
[24]
D. Rosenberg and M. Stephens. Use Case Driven Object Modeling with UML: Theory and Practice. ITPro collection. Apress, 2007.
[25]
K. Czarnecki and S. Helsen. Feature-based survey of model transformation approaches. IBM Systems Journal, 45(3):621--645, 2006.
[26]
James Clark. Xsl transformations (xslt). World Wide Web Consortium (W3C). URL http://www.w3.org/TR/xslt, page 103, 1999.
[27]
Hypertext Transfer Protocol (HTTP/1.1). Semantics and Content". IETF. Retrieved 16, December 2017.
[28]
OpenAPI Specification. https://www.openapis.org/, 2019. Accessed: 2019, Jun.
[29]
Christopher D. Manning, Mihai Surdeanu, John Bauer, Jenny Finkel, Steven J. Bethard, and David McClosky. The Stanford CoreNLP natural language processing toolkit. In Association for Computational Linguistics (ACL) System Demonstrations, pages 55--60, 2014.
[30]
Doug Rosenberg, Barry W Boehm, Bo Wang, and Kan Qi. The parallel agile process: Applying parallel processing techniques to software engineering. Journal of Software: Evolution and Process, page e2144, 2018.
[31]
Doug Rosenberg, Barry Boehm, Bo Wang, and Kan Qi. Rapid, evolutionary, reliable, scalable system and software development: The resilient agile process. In Proceedings of the 2017 International Conference on Software and System Process, pages 60--69. ACM, 2017.
[32]
B. Curtis, H. Krasner, and N. Iscoe. A field study of the software design process for large systems. In Communications of the ACM, pages 1268 --1287, 1988. 31(11).
[33]
Jitendra Singh Thakur and Atul Gupta. Identifying domain elements from textual specifications. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, pages 566--577. ACM, 2016.
[34]
Garm Lucassen, Marcel Robeer, Fabiano Dalpiaz, Jan Martijn EM van der Werf, and Sjaak Brinkkemper. Extracting conceptual models from user stories with visual narrator. Requirements Engineering, 22(3):339--358, 2017.
[35]
Marcel Robeer, Garm Lucassen, Jan Martijn EM van der Werf, Fabiano Dalpiaz, and Sjaak Brinkkemper. Automated extraction of conceptual models from user stories via nlp. In 2016 IEEE 24th International Requirements Engineering Conference (RE), pages 196--205. IEEE, 2016.
[36]
Pavel Shvaiko and Jérôme Euzenat. A survey of schema-based matching approaches. In Journal on data semantics IV, pages 146--171. Springer, 2005.
[37]
Ali A Alwan, Azlin Nordin, Mogahed Alzeber, and Abedallah Zaid Abualkishik. A survey of schema matching research using database schemas and instances. International Journal Of Advanced Computer Science And Applications, 8(10), 2017.
[38]
Bo Wang, Doug Rosenberg, and Barry W Boehm. Rapid realization of executable domain models via automatic code generation. In 2017 IEEE 28th Annual Software Technology Conference (STC), pages 1--6. IEEE, 2017.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSSP '20: Proceedings of the International Conference on Software and System Processes
June 2020
208 pages
ISBN:9781450375122
DOI:10.1145/3379177
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. agile
  2. code generation
  3. continuous development
  4. domain modeling
  5. microservices

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICSSP '20
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media