Advertisement

ChIP: A Choreographic Integration Process

  • Saverio Giallorenzo
  • Ivan Lanese
  • Daniel Russo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11230)

Abstract

Over the years, organizations acquired disparate software systems, each answering one specific need. Currently, the desirable outcomes of integrating these systems (higher degrees of automation and better system consistency) are often outbalanced by the complexity of mitigating their discrepancies. These problems are magnified in the decentralized setting (e.g., cross-organizational cases) where the integration is usually dealt with ad-hoc “glue” connectors, each integrating two or more systems. Since the overall logic of the integration is spread among many glue connectors, these solutions are difficult to program correctly (making them prone to misbehaviors and system blocks), maintain, and evolve. In response to these problems, we propose ChIP, an integration process advocating choreographic programs as intermediate artifacts to refine high-level global specifications (e.g., UML Sequence Diagrams), defined by the domain experts of each partner, into concrete, distributed implementations. In ChIP, once the stakeholders agree upon a choreographic integration design, they can automatically generate the respective local connectors, which are guaranteed to faithfully implement the described distributed logic. In the paper, we illustrate ChIP with a pilot from the EU EIT Digital project SMAll, aimed at integrating pre-existing systems from government, university, and transport industry.

Notes

Acknowledgements

This work was partially supported by the Independent Research Fund Denmark, grant no. DFF-7014-00041.

References

  1. 1.
    van der Aalst, W.M.P., Weske, M.: The P2P approach to interorganizational workflows. In: Dittrich, K.R., Geppert, A., Norrie, M.C. (eds.) CAiSE 2001. LNCS, vol. 2068, pp. 140–156. Springer, Heidelberg (2001).  https://doi.org/10.1007/3-540-45341-5_10CrossRefGoogle Scholar
  2. 2.
  3. 3.
    Allweyer, T.: BPMN 2.0: introduction to the standard for business process modeling. BoD-Books on Demand (2016)Google Scholar
  4. 4.
    Arbab, F.: Reo: a channel-based coordination model for component composition. MSCS 14(3), 329–366 (2004)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Autili, M., Inverardi, P., Tivoli, M.: CHOREOS: large scale choreographies for the future Internet. In: CSMR-WCRE, pp. 391–394. IEEE (2014)Google Scholar
  6. 6.
    Autili, M., Di Ruscio, D., Di Salle, A., Inverardi, P., Tivoli, M.: A model-based synthesis process for choreography realizability enforcement. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 37–52. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37057-1_4CrossRefGoogle Scholar
  7. 7.
    Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)CrossRefGoogle Scholar
  8. 8.
    Basu, S., Bultan, T.: Automated choreography repair. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 13–30. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49665-7_2CrossRefGoogle Scholar
  9. 9.
    Basu, S., Bultan, T., Ouederni, M.: Deciding choreography realizability. In: POPL, pp. 191–202. ACM (2012)Google Scholar
  10. 10.
    Bhargavan, K., et al.: Cryptographic protocol synthesis and verification for multiparty sessions. In: CSF, pp. 124–140. IEEE Computer Society (2009)Google Scholar
  11. 11.
    Bocchi, L., et al.: Monitoring networks through multiparty session types. Theor. Comput. Sci. 669, 33–58 (2017)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Booch, G.: The Unified Modeling Language User Guide. Pearson Education, New Delhi (2005)Google Scholar
  13. 13.
    Callegati, F., et al.: Smart mobility for all: a global federated market for mobility-as-a-service operators. In: ITSC, pp. 1–8. IEEE (2017)Google Scholar
  14. 14.
    Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: POPL, pp. 263–274. ACM (2013)CrossRefGoogle Scholar
  15. 15.
    Dalla Preda, M., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: a choreographic framework for safe adaptive distributed applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 161–170. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11245-9_9CrossRefGoogle Scholar
  16. 16.
    Dalla Preda, M., et al.: Dynamic choreographies: theory and implementation. Log. Methods Comput. Sci. 13(2) (2017)Google Scholar
  17. 17.
    Decker, G., Zaha, J.M., Dumas, M.: Execution semantics for service choreographies. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 163–177. Springer, Heidelberg (2006).  https://doi.org/10.1007/11841197_11CrossRefGoogle Scholar
  18. 18.
    Endres, A., Rombach, H.D.: A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories. Pearson Education, London (2003)Google Scholar
  19. 19.
    Evans, P.C., Basole, R.C.: Revealing the API ecosystem and enterprise strategy via visual analytics. Commun. ACM 59(2), 26–28 (2016)CrossRefGoogle Scholar
  20. 20.
    Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch or why it’s hard to build systems out of existing parts. In: ICSE, pp. 179–185. ACM/IEEE (1995)Google Scholar
  21. 21.
    Hasselbring, W.: Information system integration: introduction. Commun. ACM 43(6), 32–38 (2000)CrossRefGoogle Scholar
  22. 22.
    He, W., Da Xu, L.: Integration of distributed enterprise applications: a survey. IEEE Trans. Ind. Informat. 10(1), 35–42 (2014)CrossRefGoogle Scholar
  23. 23.
    Hildebrandt, T., Mukkamala, R.R., Slaats, T.: Nested dynamic condition response graphs. In: Arbab, F., Sirjani, M. (eds.) FSEN 2011. LNCS, vol. 7141, pp. 343–350. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-29320-7_23CrossRefGoogle Scholar
  24. 24.
    Hitt, L.M., Wu, D., Zhou, X.: Investment in enterprise resource planning: business impact and productivity measures. JMIS 19(1), 71–98 (2002)Google Scholar
  25. 25.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1–9:67 (2016)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Pearson Education, London (2010)Google Scholar
  27. 27.
    Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3 (2016)CrossRefGoogle Scholar
  28. 28.
    International Telecommunication Union: Message Sequence Chart (MSC). Series Z: Languages and General Software Aspects for Telecommunication Systems (2011)Google Scholar
  29. 29.
  30. 30.
    Jongmans, S., Arbab, F.: Global consensus through local synchronization: a formal basis for partially-distributed coordination. SCP 115, 199–224 (2016)Google Scholar
  31. 31.
    Lanese, I., Montesi, F., Zavattaro, G.: Amending choreographies. In: WWV. EPTCS, vol. 123, pp. 34–48 (2013)CrossRefGoogle Scholar
  32. 32.
    Leesatapornwongsa, T., et al.: TaxDC: a taxonomy of non-deterministic concurrency bugs in datacenter distributed systems. ACM SIGPLAN Not. 51(4), 517–530 (2016)CrossRefGoogle Scholar
  33. 33.
    McIlvenna, S., Dumas, M., Wynn, M.T.: Synthesis of orchestrators from service choreographies. In: APCCM. CRPIT, vol. 96, pp. 129–138. Australian Computer Society (2009)Google Scholar
  34. 34.
    Montesi, F.: Kickstarting choreographic programming. In: Hildebrandt, T., Ravara, A., van der Werf, J.M., Weidlich, M. (eds.) WS-FM 2014-2015. LNCS, vol. 9421, pp. 3–10. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33612-1_1CrossRefGoogle Scholar
  35. 35.
    Montesi, F., Guidi, C., Zavattaro, G.: Service-oriented programming with Jolie. In: Bouguettaya, A., Sheng, Q., Daniel, F. (eds.) Web Services Foundations, pp. 81–107. Springer, New York (2014).  https://doi.org/10.1007/978-1-4614-7518-7_4CrossRefGoogle Scholar
  36. 36.
    Montesi, F., Yoshida, N.: Compositional choreographies. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 425–439. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40184-8_30CrossRefGoogle Scholar
  37. 37.
    Peterson, D., et al.: W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. W3C (2012)Google Scholar
  38. 38.
    Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the theoretical foundation of choreography. In: WWW, pp. 973–982. ACM (2007)Google Scholar
  39. 39.
    Rodríguez, P., et al.: Continuous deployment of software intensive products and services: a systematic mapping study. JSS 123, 263–291 (2017)Google Scholar
  40. 40.
    Russo, D., et al.: Software quality concerns in the Italian bank sector: the emergence of a meta-quality dimension. In: ICSE, pp. 63–72. ACM/IEEE (2017)Google Scholar
  41. 41.
  42. 42.
    Seiifzadeh, H., et al.: A survey of dynamic software updating. J. Softw.: Evol. Process 25(5), 535–568 (2013)Google Scholar
  43. 43.
    Zaha, J.M., Barros, A., Dumas, M., ter Hofstede, A.: Let’s dance: a language for service behavior modeling. In: Meersman, R., Tari, Z. (eds.) OTM 2006. LNCS, vol. 4275, pp. 145–162. Springer, Heidelberg (2006).  https://doi.org/10.1007/11914853_10CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Saverio Giallorenzo
    • 1
  • Ivan Lanese
    • 2
    • 3
  • Daniel Russo
    • 3
  1. 1.University of Southern DenmarkOdenseDenmark
  2. 2.Focus Team, InriaSophia AntipolisFrance
  3. 3.University of BolognaBolognaItaly

Personalised recommendations