Skip to main content

Dynamic Service Composition and Deployment with OpenRichServices

  • Chapter
Software Service and Application Engineering

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7365))

Abstract

We present OpenRichServices (ORS) as an Architecture Definition Language (ADL) for the compositional specification, deployment, and reconfiguration of systems of services. Key distinguishing features of ORS are its treatment of services as first-class citizens of the language, a clean separation between application and infrastructure flows to address cross-cutting concerns at the architectural level, and dynamic service binding to facilitate service instantiation, distributed deployment and reconfiguration. ORS specifications are executable – they can be deployed together with an ORS runtime system, and then coordinate the interactions between subsystems. To evaluate ORS, we developed an implementation of our ADL as a Domain Specific Language (DSL) using the JVM-based Clojure programming language; this allows us to leverage Clojure’s lock-free concurrency, high-performance immutable data structures, and dynamic binding capabilities. We compare the ORS ADL and its capabilities with Darwin, Wright, Rapide and SADL using a case study drawn from a mobile sensing platform.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Department of Defense, DoD Architecture Framework (DoDAF) v2.0, May 28 (2009), http://cio-nii.defense.gov/sites/dodaf20/archives.html (accessed August 19 2010)

  2. Demchak, B., Ermagan, V., Farcas, E., Huang, T.-J., Krüger, I., Menarini, M.: A Rich Services Approach to CoCoME. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) Common Component Modeling Example. LNCS, vol. 5153, pp. 85–115. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Hickey, R.: Clojure, http://clojure.org/ (accessed August 18, 2010)

  4. Halloway, S.: Programming Clojure, Pragmatic Bookshelf, p. 304 (2009)

    Google Scholar 

  5. Noël, C.: Extensible software transactional memory. In: Proceedings of the Third C* Conference on Computer Science and Software Engineering, Montréal, Quebec, Canada (2010)

    Google Scholar 

  6. Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engeneering 26(1), 70–93 (2000)

    Article  Google Scholar 

  7. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Transactions on Software Engineering and Methodology (TOSEM) 14(2), 199–245 (2005)

    Article  Google Scholar 

  8. Magee, J., Dulay, N., Kramer, J.: Structuring parallel and distributed programs. IEEE Software Engineering Journal 8(2), 73–82 (1993)

    Article  Google Scholar 

  9. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component- and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22, 390–406 (1996)

    Article  Google Scholar 

  10. Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A language and environment for architecture-based software development and evolution. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, CA (1999)

    Google Scholar 

  11. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: Towards Architecture-Based Self-Healing Systems. In: Proceedings of the First Workshop on Self-Healing Systems, WOSS 2002, New York, NY (2002)

    Google Scholar 

  12. Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering 21(4), 314–335 (1995)

    Article  Google Scholar 

  13. Shaw, M., DeLine, R., Zelesnik, G.: Abstractions and implementations for architectural connections. In: Proceedings of the Third International Conference on Configurable Distributed Systems, Annapolis, MD, USA (1996)

    Google Scholar 

  14. Tajalli, H., Garcia, J., Edwards, G., Medvidovic, N.: PLASMA: A Plan-based Layered Architecture for Software Model-driven Adaptation. In: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), Antwerp, Belgium (2010)

    Google Scholar 

  15. OMG, UML Version 2.3 (May 2010), http://www.omg.org/spec/UML/2.3/ (accessed August 19, 2010)

  16. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: Getting started with ASPECTJ. Communications of the ACM 44(10), 59–65 (2001)

    Article  MATH  Google Scholar 

  17. Mule ESB, http://www.mulesoft.org/ (accessed August 20, 2010)

  18. Krüger, I.H.: Distributed System Design with Message Sequence Charts, Technische Universität München. Ph.D. Thesis, p. 386 (2000)

    Google Scholar 

  19. Broy, M., Krüger, I.H., Meisinger, M.: A Formal Model of Service. ACM Transactions on Software Engineering and Methodology (TOSEM) 16(1), 5 (2007)

    Article  Google Scholar 

  20. Allen, R.J.: A Formal Approach to Software Architecture (May 1997)

    Google Scholar 

  21. Vestal, S.: MetaH support for real-time multi-processor avionics. In: Proceedings of the Joint Workshop on Parallel and Distributed Real-Time Systems, Geneva, Switzerland (1997)

    Google Scholar 

  22. SAE International, Architecture Analysis & Design Language (AADL) (January 20, 2009), http://standards.sae.org/as5506a/ (accessed August 18, 2010)

  23. Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)

    Google Scholar 

  24. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. John Wiley and Sons (2009)

    Google Scholar 

  25. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-based Architecture Description Languages. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), Orlando, Florida (2002)

    Google Scholar 

  26. Taylor, R.N., Medvidovic, N., Oreizy, P.: Architectural Styles for Runtime Software Adaptation. In: Joint Working IEEE/IFIP Conference on Software Architecture 2009 and European Conference on Software Architecture 2009, Cambridge, UK (2009)

    Google Scholar 

  27. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), Orlando, Florida (2002)

    Google Scholar 

  28. Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. John Wiley & Sons (1994)

    Google Scholar 

  29. Faugere, M., Bourbeau, T., De Simone, R., Gerard, S.: MARTE: Also an UML Profile for Modeling AADL Applications. In: IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2007), Auckland, New Zealand (2007)

    Google Scholar 

  30. Krüger, I.H.: Specifying Services with UML and UML-RT: Foundation, Challenges and Limitations. In: Validation and Implementation of Scenario-based Specifications, VISS 2002 (Satellite Event of ETAPS 2002), Grenoble, France (2002)

    Google Scholar 

  31. Garlan, D., Monroe, R.T., Wile, D.: Acme: An Architecture Description Interchange Language. In: CASCON 1997, Toronto, Ontario (1997)

    Google Scholar 

  32. OSGi Alliance, OSGi Service Platform Core Specification (June 2009), http://www.osgi.org/download/r4v42/r4.core.pdf (accessed August 18, 2010)

  33. ServiceMix 4, http://servicemix.apache.org/ (accessed August 20, 2010)

    Google Scholar 

  34. OASIS Web Services Business Process Execution Lang, Web Services Business Process Execution Language Version 2.0 (April 11, 2007), http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (accessed August 20, 2010)

  35. Kitchin, D., Quark, A., Cook, W., Misra, J.: The Orc Programming Language. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS/FORTE 2009. LNCS, vol. 5522, pp. 1–25. Springer, Heidelberg (2009)

    Google Scholar 

  36. Harel, D., Marell, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine, p. 382. Springer, Berlin (2003)

    Book  Google Scholar 

  37. Mellor, S.J., Balcer, M.J.: Executable UML, p. 423. Addison-Wesley Pearson Education, Indianapolis (2002)

    Google Scholar 

  38. Jackson, M., Zave, P.: Distributed feature composition: A virtual architecture for telecommunications services. IEEE Transactions on Software Engineering 24(10), 831–847 (1998)

    Article  Google Scholar 

  39. Trujillo, S., Batory, D., Diaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets. In: Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Krüger, I., Demchak, B., Menarini, M. (2012). Dynamic Service Composition and Deployment with OpenRichServices. In: Heisel, M. (eds) Software Service and Application Engineering. Lecture Notes in Computer Science, vol 7365. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30835-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30835-2_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30834-5

  • Online ISBN: 978-3-642-30835-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics