ChIP: A Choreographic Integration Process

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.

[1]  Hassan Abolhassani,et al.  A survey of dynamic software updating , 2013, J. Softw. Evol. Process..

[2]  Marlon Dumas,et al.  Let's Dance: A Language for Service Behavior Modeling , 2006, OTM Conferences.

[3]  Shan Lu,et al.  TaxDC: A Taxonomy of Non-Deterministic Concurrency Bugs in Datacenter Distributed Systems , 2016, ASPLOS.

[4]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[5]  Fabrizio Montesi,et al.  Kickstarting Choreographic Programming , 2014, WS-FM.

[6]  Cédric Fournet,et al.  Cryptographic Protocol Synthesis and Verification for Multiparty Sessions , 2009, 2009 22nd IEEE Computer Security Foundations Symposium.

[7]  Mathias Weske,et al.  The P2P Approach to Interorganizational Workflows , 2001, International Conference on Advanced Information Systems Engineering.

[8]  Nobuko Yoshida,et al.  Compositional Choreographies , 2013, CONCUR.

[9]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[10]  Paolo Ciancarini,et al.  Software Quality Concerns in the Italian Bank Sector: The Emergence of a Meta-Quality Dimension , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP).

[11]  Thomas Allweyer,et al.  BPMN 2.0 : introduction to the standard for business process modeling , 2016 .

[12]  Maurizio Gabbrielli,et al.  Smart mobility for all: A global federated market for mobility-as-a-service operators , 2017, 2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC).

[13]  Ivan Lanese,et al.  AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications , 2014, SLE.

[14]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[15]  Paola Inverardi,et al.  CHOREOS: Large scale choreographies for the future internet , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[16]  Wilhelm Hasselbring Information System Integration: Introduction. , 2000 .

[17]  Ivan Lanese,et al.  Dynamic Choreographies: Theory And Implementation , 2017, Log. Methods Comput. Sci..

[18]  Rahul C. Basole,et al.  Revealing the API ecosystem and enterprise strategy via visual analytics , 2016, Commun. ACM.

[19]  Laura Bocchi,et al.  Monitoring Networks through Multiparty Session Types , 2013, FMOODS/FORTE.

[20]  Wu He,et al.  Integration of Distributed Enterprise Applications: A Survey , 2014, IEEE Transactions on Industrial Informatics.

[21]  Chao Cai,et al.  Towards the theoretical foundation of choreography , 2007, WWW '07.

[22]  Ivan Lanese,et al.  Amending Choreographies , 2013, WWV.

[23]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[24]  Pasi Kuvaja,et al.  Continuous deployment of software intensive products and services: A systematic mapping study , 2017, J. Syst. Softw..

[25]  Farhad Arbab,et al.  Global consensus through local synchronization: A formal basis for partially-distributed coordination , 2016, Sci. Comput. Program..

[26]  Moe Thandar Wynn,et al.  Synthesis of Orchestrators from Service Choreographies , 2009, APCCM.

[27]  Ivan Lanese,et al.  Foundations of Session Types and Behavioural Contracts , 2016, ACM Comput. Surv..

[28]  Marlon Dumas,et al.  Execution Semantics for Service Choreographies , 2006, WS-FM.

[29]  Raghava Rao Mukkamala,et al.  Nested Dynamic Condition Response Graphs , 2011, FSEN.

[30]  Samik Basu,et al.  Deciding choreography realizability , 2012, POPL '12.

[31]  Fabrizio Montesi,et al.  Deadlock-freedom-by-design: multiparty asynchronous global programming , 2013, POPL.

[32]  Gianluigi Zavattaro,et al.  Service-Oriented Programming with Jolie , 2014, Web Services Foundations.

[33]  D. J. Wu,et al.  Investment in Enterprise Resource Planning: Business Impact and Productivity Measures , 2002, J. Manag. Inf. Syst..

[34]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[35]  Wilhelm Hasselbring,et al.  Information system integration , 2000, CACM.

[36]  Samik Basu,et al.  Automated Choreography Repair , 2016, FASE.

[37]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[38]  Ekkart Rudolph,et al.  Message Sequence Chart (MSC) - A Survey of the new CCITT Language for the Description to Traces within Communications Systems , 1992, FBT.

[39]  Paola Inverardi,et al.  A Model-Based Synthesis Process for Choreography Realizability Enforcement , 2013, FASE.

[40]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.