Automated Software Integration Dmitriy Bespalov Department of Computer Science College of Engineering Drexel University 3141 Chestnut Street Philadelphia, PA 19104
Overview Introduction of automated software integration Related work Challenges of Automated Integration Testing Future work Conclusions
What is automated software integration? System A System B Information Flow
Why is it important? Complex Time consuming VERY Expensive Manual software integration: Complex Time consuming VERY Expensive
Related Work Automated Methods for Integrating Systems (AMIS) Investigate whether we now have the technology to perform automated software integration Identify integration activities that may benefit from automation Identify methods and technology to be used in the process Characterize common problems that could be solved by automation
AMIS An algorithm for finding optimal solution for information flow between applications Given rules for one-to-one, one-to-many and many-to-many information type transformation Cost is associated with each rule Probabilities may be associated with multiple outcomes rules Algorithm returns optimal (based on the cost) path from initial input to required outcome
AMIS Input: A Outcome: D Rule 1 Input: A Output: B Cost: c1 Rule 3 Output: C Cost: c2 Rule 3 Input: B,C Output: D Cost: c3 Input: A Outcome: D
AMIS Algorithm is an example of semi-automatic integration Complexity of the algorithm is NP-Hard (very slow) Approximation can not be used
Related Work The Stanford-IBM Manager of Multiple Information Sources (TSIMMIS) Develop tools that facilitate integration of information Extract properties from unstructured objects Transform information into a common object model Combine information from several sources [http://www-db.stanford.edu/tsimmis/]
Related Work Contivo’s Analyst Performs data transformation between applications Oriented to business applications Partly human-interactive, uses visual maps Partly self-learning [http://www.contivo.com]
Challenges of Automated Integration Standards Multiple versions Conflicting standards Rapid standards development Ontologies (one type of standard) No universal ontology Translations between ontologies can be very hard Legacy Systems Source code may be unavailable for integration Legacy systems are poorly supported
Challenges of Automated Integration Consider color. Color can be represented: Red, Green, Blue Cyan, Magenta, Yellow Hue, Saturation, Brightness Words, semantics, number of components match Although, semantics of the components are not the same
Automated Testbeds Testbed – environment used to test software Poorly studied problem A number of projects exist B2B Interoperability Testbed – tests interaction of business applications [http://www.mel.nist.gov/msid/oagnisttestbed] Z-Interop – testbed for vendors and consumers of Z39.50 products [http://www.unt.edu/zinterop]
What will happen in the future? Global ontologies might be constructed Given complete logical relationships, map-making may be used for integration Map-making may be partially automated Automated model recreation from legacy software
Conclusions A lot of research to be done Currently, automated integration is performed for primitive examples It is difficult to envision whether automation of software integration process will be performed for general case
Thank you Donald Libes Lisa Fronczek and all of you!
Any questions?