Abstract
Modern distributed systems and Systems of Systems (SoS) are built as a composition of existing components and services. As a result, systems communicate (either internally, locally or over networks) using protocol stacks of ever-increasing complexity whose messages need to be translated (i.e., interpreted, generated, analyzed and transformed) by third-party systems such as services dedicated to security or interoperability. We observe that current approaches in software engineering are unable to provide an efficient solution towards reusing message translators associated with the message formats composed in protocol stacks. Instead, developers must write ad hoc “glue-code” whenever composing two or more message translators. In addition, the data structures of the output must be integrated/harmonized with the target system.
In this paper we propose a solution to the above that enables the composition of message translators according to a high-level user-provided query. While the composition scheme we propose is simple, the inference of the resulting data structures is a problem that has not been solved up to now. This leads us to contribute with a novel data type inference mechanism, which generates a data-schema using tree automata, based on the aforementioned user query.
Chapter PDF
References
Basten, H.: Ambiguity detection methods for context-free grammars. Master’s thesis, Universiteit van Amsterdam (2007)
Benzaken, V., Castagna, G., Frisch, A.: Cduce: An xml-centric general-purpose language. In: Proc. of ACM SIGPLAN ICFP 2003 (2003)
Blair, G.S., Bennaceur, A., Georgantas, N., Grace, P., Issarny, V., Nundloll, V., Paolucci, M.: The role of ontologies in emergent middleware: Supporting interoperability in complex distributed systems. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 410–430. Springer, Heidelberg (2011)
Cardelli, L., Matthes, F., Abadi, M.: Extensible grammars for language specialization. In: DBPL (1994)
Castagna, G., Im, H., Nguyen, K., Benzaken, V.: A core calculus for XQuery 3.0 (2013), http://www.pps.univ-paris-diderot.fr/~gc/papers/xqueryduce.pdf
Chappell, D.: Enterprise service bus. O’reilly Media (2004)
Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree Automata Techniques and Applications (2007), http://tata.gforge.inria.fr/ (release October 12, 2007)
DeRose, S., Clark, J.: XML Path Language (XPath) Version 1.0. W3C recommendation, W3C (1999)
Gallaher, M., O’Connor, A., Dettbarn, J., Gilday, L.: Cost Analysis of Inadequate Interoperability in the U.S. Capital Facilities Industry. U.S. Department of Commerce, Technology Administration, NIST (2004)
Joachims, T.: Text categorization with suport vector machines: Learning with many relevant features. In: Nédellec, C., Rouveirol, C. (eds.) ECML 1998. LNCS, vol. 1398, pp. 137–142. Springer, Heidelberg (1998)
Merten, M., Steffen, B., Howar, F., Margaria, T.: Next Generation LearnLib. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 220–223. Springer, Heidelberg (2011)
Milo, T., Suciu, D.: Type inference for queries on semistructured data. In: PODS (1999)
Moors, A., Piessens, F., Odersky, M.: Parser combinators in Scala. KU Leuven, CW Reports vol:CW491 (2008)
Murata, M.: Hedge automata: a formal model for XML schemata (1999), http://www.xml.gr.jp/relax/hedge_nice.html
Murata, M., Lee, D., Mani, M., Kawaguchi, K.: Taxonomy of XML schema languages using formal language theory. In: ACM TOIT (2005)
Narayanan, V.: Why I quit writing internet standards (2014), http://gigaom.com/2014/04/12/why-i-quit-writing-internet-standards/
Papakonstantinou, Y., Vianu, V.: DTD Inference for Views of XML Data. In: PODS (2000)
Schwentick, T.: Automata for XML—A Survey. JCSS (2007)
Schwerdfeger, A.C., Van Wyk, E.R.: Verifiable Composition of Deterministic Grammars. In: PLDI (2009)
Schwerdfeger, A.C., Van Wyk, E.R.: Verifiable Parse Table Composition for Deterministic Parsing. In: SLE (2010)
Shaw, M.: Architectural issues in software reuse: It’s not just the functionality, it’s the packaging. ACM SIGSOFT Software Engineering Notes (1995)
Swierstra, S.D.: Combinator parsers - from toys to tools. ENTCS 41 (2000)
Tozawa, A.: Towards Static Type Checking for XSLT. In: ACM DocEng (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Andriescu, E., Martinez, T., Issarny, V. (2015). Composing Message Translators and Inferring Their Data Types Using Tree Automata. In: Egyed, A., Schaefer, I. (eds) Fundamental Approaches to Software Engineering. FASE 2015. Lecture Notes in Computer Science(), vol 9033. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46675-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-662-46675-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46674-2
Online ISBN: 978-3-662-46675-9
eBook Packages: Computer ScienceComputer Science (R0)