Abstract
With the increase of automatically sensed and generated data in distributed software systems, the publish/subscribe paradigm gains importance. Automatically generated notifications are pushed from their publishers to interested subscribers. Interoperability is a core issue in such federated networked distributed applications. However, the problems of heterogeneity must be reconsidered in the light of tougher conditions than previously: low latency delivery in addition to expressiveness and extensibility.
To aid in engineering federated distributed systems, this paper proposes a framework for object transformations. Components can operate in individual, semantic contexts, which include local type declarations, fine-grained transformation rules (t-rules), and type mappings that express the programmer’s intent at a high level. Our generic approach supports transformations at any granularity using clear priorities to select among complementary t-rules.
We present empirical evidence of the efficiency of our approach and of the benefits to the programmer in terms of code quality.
Funded in part by US NSF grants # 0644013 and # 0834529, DARPA grant # N11AP20014, Alexander von Humboldt foundation, and the German Federal Ministry of Education and Research (BMBF) grants # 01IC10S01 and # 01IS12054. This work was performed within the LOEWE Priority Program Dynamo PLV (http://www.dynamo-plv.de) supported by the LOEWE research initiative of the state of Hesse/Germany. The authors assume responsibility for the content.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Amazon Simple Notification Service, http://aws.amazon.com/sns/
Apache Camel Type Convert, http://camel.apache.org/type-converter.html
Dozer, http://dozer.sourceforge.net
Java Internationaliation, http://java.sun.com/javase/technologies/core/basic/intl/
Java Remote Method Invocation, http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html
.NET Internationalization, http://msdn.microsoft.com/en-us/goglobal/bb688096.aspx
Project Kafka, http://engineering.linkedin.com/tags/kafka
Java Message Service - Specification, version 1.1. Tech. rep., Oracle Co. (2008), http://www.oracle.com/technetwork/java/jms/index.html
Adair, J., Coyle Jr, D., Grafe, R., Lindsay, B., Reinsch, R., Resch, R., Selinger, P., Zimowski, M.: Heterogenous Database Communication System in Which Communicating Systems Identify Themselves and Convert any Requests/Responses Into Their own Data Format. US Patent Number 5,416,917 (1995)
Allen, E., Hilburn, J., Kilpatrick, S., Luchangco, V., Ryu, S., Chase, D., Steele, G.: Type Checking Modular Multiple Dispatch With Parametric Polymorphism and Multiple Inheritance. In: OOPSLA 2011 (2011)
Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services. Springer (2003)
Büchi, M., Weck, W.: Compound Types for Java. In: OOPSLA 1998 (1998)
Buchmann, A., Pfohl, H.C., Appel, S., Freudenreich, T., Frischbier, S., Petrov, I., Zuber, C.: Event-Driven Services: Integrating Production, Logistics and Transportation. In: SOC-LOG 2010 (2010)
Chung, C.W.: DATAPLEX: An Access to Heterogeneous Distributed Databases. CACM 33, 70–80 (1990)
Cilia, M., Antollini, M., Bornhövd, C., Buchmann, A.: Dealing with Heterogeneous Data in Pub/Sub Systems: The Concept-Based Approach. In: DEBS 2004 (2004)
Cluet, S., Delobel, C., Siméon, J., Smaga, K.: Your Mediators Need Data Conversion! In: SIGMOD 1998 (1998)
Eugster, P., Freudenreich, T., Frischbier, S., Appel, S., Buchmann, A.: Sound Transformations for Message Passing Systems. Tech. rep. (2012), http://www.dvs.tu-darmstadt.de/publications/pdf/transsem.pdf
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for Bi-directional Tree Transformations: A Linguistic Approach to the View Update Problem. In: POPL 2005 (2005)
Freudenreich, T., Frischbier, S., Appel, S., Buchmann, A.: ACTrESS - Automatic Context Transformation in Event-Based Software Systems. In: DEBS 2012 (2012)
Frischbier, S., Michael, G., Mayer, D., Roth, A., Webel, C.: Emergence as Competitive Advantage - Engineering Tomorrowś Enterprise Software Systems. In: ICEIS 2012 (2012)
Gil, J., Maman, I.: Whiteoak: Introducing Structural Typing Into Java. In: OOPSLA 2008 (2008)
Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional (2004)
Kemerer, C.: Software Complexity and Software Maintenance: A Survey of Empirical Research. Annals of Software Engineering 1, 1–22 (1995)
Lee, K., LaMarca, A., Chambers, C.: HydroJ: Object-oriented Pattern Matching for Evolvable Distributed Systems. In: OOPSLA 2003 (2003)
Medvidovic, N., Dashofy, E., Taylor, R.: The Role of Middleware in Architecture-based Software Development. International Journal of Software Engineering and Knowledge Engineering 13(4), 367–393 (2003)
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a Taxonomy of Software Connectors. In: ICSE 2000 (2000)
Muckelbauer, P.A., Russo, V.F.: Lingua Franca: An IDL for Structural Subtyping Distributed Object Systems. In: COOTS 1995 (1995)
Object Management Group: CORBA, http://www.corba.org
Oki, B., Pfluegl, M., Siegel, A., Skeen, D.: The Information Bus - An Architecture for Extensible Distributed Systems. In: SOSP 1993 (1993)
Parent, C., Spaccapietra, S.: Issues and Approaches of Database Integration. Commun. ACM 41, 166–178 (1998)
Popescu, D., Garcia, J., Bierhoff, K., Medvidovic, N.: Impact Analysis for Distributed Event-based Systems. In: DEBS 2012 (2012)
Reiss, S.P.: Connecting Tools Using Message Passing in the Field Environment. IEEE Software 7(4), 57–66 (1990)
Rosanova, D.: Microsoft BizTalk Server 2010 Patterns. Packt. Pub. Limited (2011)
Schneider, S.: DDS and the Future of Complex, Distributed Data-Centric Embedded Systems (2006), http://www.eetimes.com/design/embedded/4025967/DDS-and-the-future-of-complex-distributed-data-centric-embedded-systems
Sachs, K., Kounev, S., Bacon, J., Buchmann, A.: Performance Evaluation of Message-oriented Middleware using the SPECjms2007 Benchmark. Performance Evaluation 66(8), 410–434 (2009)
Sewell, P., Leifer, J.J., Wansbrough, K., Nardelli, F.Z., Allen-Williams, M., Habouzit, P., Vafeiadis, V.: Acute: High-level Programming Language Design for Distributed Computation. J. Funct. Program. 17(4-5), 547–612 (2007)
Snyder, B., Bosanac, D., Davies, R.: ActiveMQ in Action. Manning Publications Co. (2011)
Srinivasan, R.: RPC: Remote Procedure Call Protocol Specification Version 2 (1995)
Sullivan, K., Notkin, D.: Reconciling Environment Integration and Software Evolution. ACM Trans. Softw. Eng. Methodol. 1(3), 229–268 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Freudenreich, T., Eugster, P., Frischbier, S., Appel, S., Buchmann, A. (2013). Implementing Federated Object Systems. In: Castagna, G. (eds) ECOOP 2013 – Object-Oriented Programming. ECOOP 2013. Lecture Notes in Computer Science, vol 7920. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39038-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-39038-8_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39037-1
Online ISBN: 978-3-642-39038-8
eBook Packages: Computer ScienceComputer Science (R0)