Skip to main content

Transformation of State Machines for a Microservice-Based Event-Driven Architecture: A Proof-of-Concept

  • Conference paper
  • First Online:

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 769))

Abstract

The implementation of a state machine for a system or a subsystem in the form of an event-driven architecture (EDA) in a microservice environment requires model transformations. This paper presents a model-to-model transformation for this case based on UML state machines, UML class diagrams for the microservice architecture, a mathematical specification of the transformations and the implementation of the transformation with QVTo. A run-time state or workflow engine as a single-point-of-failure can be avoided with the choreographic and event-driven approach persevering the ability to generate a state machine as an additional system component that provides the advantages of a state or workflow engine features like monitoring, and visualization.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. IBM: Rational Statemate. https://www-03.ibm.com/software/products/en/ratistatt

  2. Visial Paradigm: How to generate code from state machine diagram. https://www.visual-paradigm.com/tutorials/how-to-generate-code-from-state-machine-diagram.jsp

  3. Krause, L.: Microservices: Patterns and Applications: Designing Fine-Grained Services by Applying Patterns (2015)

    Google Scholar 

  4. Richardson, C.: Refactoring a Monolith into Microservices. https://www.nginx.com/blog/refactoring-a-monolith-into-microservices/

  5. Alagarasan, V.: Seven Microservices Anti-patterns. https://www.infoq.com/articles/seven-uservices-antipatterns

  6. Gill, A.: Finite State Machines. Introduction to the Theory of Finite-State Machines. McGraw-Hill, New York (1962)

    Google Scholar 

  7. Harel, D.: A visual formalism for complex systems. Sci. Comput. Program. 231–274 (1987)

    Google Scholar 

  8. Object Management Group (OMG): OMG Unified Modeling Language (OMG UML), version 2.5, document formal/2015-03-01 (2015)

    Google Scholar 

  9. Liu, S., et al.: A formal semantics for complete UML state machines with communications. In: Johnsen, E.B., Petre, L. (eds.) Integrated Formal Methods, IFM 2013. Lecture Notes in Computer Science, vol. 7940. Springer, Heidelberg (2013)

    Google Scholar 

  10. Microsoft Developer Network: State Machine Workflows. https://msdn.microsoft.com/en-us/library/ms735945(v=vs.90).aspx

  11. Rozenburg, G., Engelfriet, J.: Elementary net systems. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models – Advances in Petri Nets. Lecture Notes in Computer Science, vol. 1491, pp. 12–121. Springer (1998)

    Google Scholar 

  12. Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly Media, Sebastopol (2015)

    Google Scholar 

  13. Richardson, C.: http://microservices.io

  14. Amundsen, M., McLarty, M., Mitra, R., Nadareishvili, I.: Microservice Architecture - Aligning Principles, Practices, and Culture. O’Reilly Media, Sebastopol (2016)

    Google Scholar 

  15. Lewis, J., Fowler, M.: Microservices - a definition of this new architectural term. https://martinfowler.com/articles/microservices.html

  16. Morris, B.: How big is a microservice? http://www.ben-morris.com/how-big-is-a-microservice

  17. Wolf, O.: Introduction into Microservices. https://specify.io/concepts/microservices#choreography

  18. Bruns, R., Dunkel, J.: Event-Driven Architecture - Softwarearchitektur für ereignisgesteuerte Geschäftsprozesse. Xpert.press, Sringer (2010)

    Google Scholar 

  19. Fowler, M.: Event logs, State Flows, Microservices…. How do these relate? https://garysmicroservices.wordpress.com/2016/01/06/event-logs-state-flows-microservices-how-do-these-relate

  20. Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, 1st edn. Addison-Wesley, Boston (2003)

    Google Scholar 

  21. Tikhonova, T., Willemse, T.: Documenting and designing QVTo model transformations through mathematics. In: Lorenz, P., Cardoso, J., Maciaszek, L., van Sinderen, M. (eds.) Software Technologies ICSOFT 2015, pp. 344–359. Springer (2015)

    Google Scholar 

  22. OMG (Object Management Group): MOF Query/View/Transformation (QVT). Vers. 1.3, doc. formal/16-06-03 (2016)

    Google Scholar 

  23. OMG (Object Management Group): MOF Model to Text Transformation Language (MOFM2T). Vers. 1.0, doc. formal/2008-01-16 (2008)

    Google Scholar 

  24. Fowler, M.: CQRS. https://martinfowler.com/bliki/CQRS.html

  25. Netflix Conductor: A microservices orchestrator. https://medium.com/netflix-techblog/netflix-conductor-a-microservices-orchestrator-2e8d4771bf40

  26. Rücker, B.: Why service collaboration needs choreography AND orchestration. https://blog.bernd-ruecker.com/why-service-collaboration-needs-choreography-and-orchestration-239c4f9700fa

  27. Webster, C.: From APIs to Microservices: Workflow Orchestration and Choreography Across Healthcare Organizations (2016)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roland Petrasch .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Petrasch, R. (2019). Transformation of State Machines for a Microservice-Based Event-Driven Architecture: A Proof-of-Concept. In: Unger, H., Sodsee, S., Meesad, P. (eds) Recent Advances in Information and Communication Technology 2018. IC2IT 2018. Advances in Intelligent Systems and Computing, vol 769. Springer, Cham. https://doi.org/10.1007/978-3-319-93692-5_32

Download citation

Publish with us

Policies and ethics