Skip to main content

AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications

  • Conference paper
Book cover Software Language Engineering (SLE 2014)

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

Included in the following conference series:

Abstract

We present AIOCJ, a framework for programming distributed adaptive applications. Applications are programmed using AIOC, a choreographic language suited for expressing patterns of interaction from a global point of view. AIOC allows the programmer to specify which parts of the application can be adapted. Adaptation takes place at runtime by means of rules, which can change during the execution to tackle possibly unforeseen adaptation needs. AIOCJ relies on a solid theory that ensures applications to be deadlock-free by construction also after adaptation. We describe the architecture of AIOCJ, the design of the AIOC language, and an empirical validation of the framework.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In: ASPLOS, pp. 329–339. ACM (2008)

    Google Scholar 

  2. Carbone, M., Montesi, F.: Deadlock-Freedom-by-Design: Multiparty Asynchronous Global Programming. In: POPL, pp. 263–274. ACM (2013)

    Google Scholar 

  3. Gößler, G., Sifakis, J.: Component-Based Construction of Deadlock-Free Systems. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 420–433. Springer, Heidelberg (2003)

    Google Scholar 

  4. Naik, M., Park, C.-S., Sen, K., Gay, D.: Effective static deadlock detection. In: ICSE, pp. 386–396. IEEE (2009)

    Google Scholar 

  5. Lanese, I., Bucchiarone, A., Montesi, F.: A Framework for Rule-Based Dynamic Adaptation. In: Wirsing, M., Hofmann, M., Rauschmayer, A. (eds.) TGC 2010, LNCS, vol. 6084, pp. 284–300. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. Bucchiarone, A., Marconi, A., Pistore, M., Raik, H.: Dynamic Adaptation of Fragment-Based and Context-Aware Business Processes. In: ICWS, pp. 33–41. IEEE Press (2012)

    Google Scholar 

  7. Chen, W.-K., Hiltunen, M.A., Schlichting, R.D.: Constructing Adaptive Software in Distributed Systems. In: ICDCS. LNCS, vol. 6084, pp. 635–643. Springer (2001)

    Google Scholar 

  8. Zhang, J., Goldsby, H., Cheng, B.H.C.: Modular Verification of Dynamically Adaptive Systems. In: AOSD, pp. 161–172. ACM (2009)

    Google Scholar 

  9. Dalla Preda, M., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Deadlock Freedom by Construction for Distributed Adaptative Applications. Technical Report, http://arxiv.org/pdf/1407.0970v1.pdf

  10. Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)

    Google Scholar 

  11. Scribble website, http://www.jboss.org/scribble

  12. Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the Gap between Interaction- and Process-Oriented Choreographies. In: SEFM, pp. 323–332. IEEE Press (2008)

    Google Scholar 

  13. World Wide Web Consortium, Web Services Choreography Description Language Version 1.0 (2005), http://www.w3.org/TR/ws-cdl-10/

  14. Jolie website, http://www.jolie-lang.org/

  15. Montesi, F., Guidi, C., Zavattaro, G.: Composing services with JOLIE. In: Proc. of ECOWS 2007, pp. 13–22. IEEE Press (2007)

    Google Scholar 

  16. Dalla Preda, M., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications. Technical Report, http://arxiv.org/pdf/1407.0975.pdf

  17. Lanese, I., Montesi, F., Zavattaro, G.: Amending choreographies. In: WWV, vol. 123, pp. 34–48. EPTCS (2013)

    Google Scholar 

  18. Eclipse website, http://www.eclipse.org/

  19. Xtext website, http://www.eclipse.org/Xtext/

  20. Ghezzi, C., Pradella, M., Salvaneschi, G.: An evaluation of the adaptation capabilities in programming languages. In: SEAMS, pp. 50–59. ACM (2011)

    Google Scholar 

  21. Leite, L.A.F., et al.: A systematic literature review of service choreography adaptation. Service Oriented Computing and Applications 7(3), 199–216 (2013)

    Article  Google Scholar 

  22. Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Self-adaptive monitors for multiparty sessions. In: PDP, pp. 688–696. IEEE (2014)

    Google Scholar 

  23. Rinderle, S., Wombacher, A., Reichert, M.: Evolution of Process Choreographies in DYCHOR. In: Meersman, R., Tari, Z. (eds.) OTM 2006. LNCS, vol. 4275, pp. 273–290. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  24. Wombacher, A.: Alignment of choreography changes in BPEL processes. In: IEEE SCC, pp. 1–8. IEEE Press (2009)

    Google Scholar 

  25. Cugola, G., Ghezzi, C., Pinto, L.S.: DSOL: a declarative approach to self-adaptive service orchestrations. Computing 94(7), 579–617 (2012)

    Article  MATH  Google Scholar 

  26. Baresi, L., Marconi, A., Pistore, M., Sirbu, A.: Corrective Evolution of Adaptable Process Models. In: Nurcan, S., Proper, H.A., Soffer, P., Krogstie, J., Schmidt, R., Halpin, T., Bider, I. (eds.) RIMS 1982. LNBIP, vol. 147, pp. 214–229. Springer, Heidelberg (2013)

    Google Scholar 

  27. Bucchiarone, A., Marconi, A., Mezzina, C.A., Pistore, M., Raik, H.: On-the-Fly Adaptation of Dynamic Service-Based Systems: Incrementality, Reduction and Reuse. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 146–161. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  28. AIOCJ website, http://www.cs.unibo.it/projects/jolie/aiocj.html

  29. Pawlak, R., et al.: JAC: an aspect-based distributed dynamic framework. SPE 34(12), 1119–1148 (2004)

    Google Scholar 

  30. Yang, Z., Cheng, B.H.C., Stirewalt, R.E.K., Sowell, J., Sadjadi, S.M., McKinley, P.K.: An aspect-oriented approach to dynamic adaptation. In: WOSS, pp. 85–92. ACM (2002)

    Google Scholar 

  31. Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented Programming. Journal of Object Technology 7(3), 125–151 (2008)

    Article  Google Scholar 

  32. Weber, B., Rinderle, S., Reichert, M.: Change Patterns and Change Support Features in Process-Aware Information Systems. In: Krogstie, J., Opdahl, A.L., Sindre, G. (eds.) CAiSE 2007 and WES 2007. LNCS, vol. 4495, pp. 574–588. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  33. Casati, F., Ceri, S., Pernici, B., Pozzi, G.: Workflow Evolution. Data Knowl. Eng. 24(3), 211–238 (1998)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Dalla Preda, M., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M. (2014). AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds) Software Language Engineering. SLE 2014. Lecture Notes in Computer Science, vol 8706. Springer, Cham. https://doi.org/10.1007/978-3-319-11245-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11245-9_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11244-2

  • Online ISBN: 978-3-319-11245-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics