Automated glue/wrapper code generation in integration of distributed and heterogeneous software components

UniFrame is a framework to help organizations to build interoperable distributed computing systems. Using UniFrame, a new system is built by assembling predeveloped heterogeneous and distributed software components. UniFrame solves the heterogeneity problem by explicitly modeling the domain knowledge of various technology domains (component model domains, programming language domains, operating system platform domains, etc.), from which the interoperation generative domain model (IGDM) straddling the technology domains can be constructed. The glue/wrapper code that realizes the interoperation among the distributed and heterogeneous software components can be generated from the IGDM. An informal implementation in Java of glue/wrapper code generator is given, followed by a discussion on a formalization of IGDM. The formalism comes from the fact that if the family of glue/wrapper code can be modeled formally, an instance glue/wrapper code can be generated automatically. In this formalization, the IGDM is formally modeled as a language definition using a grammar; the code that realizes the interoperation is a valid sentence derivable from the grammar, and will be generated automatically from the IGDM during the assembly time.

[1]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[2]  Diomidis Spinellis,et al.  Multi-technology distributed objects and their integration , 2001, Comput. Stand. Interfaces.

[3]  Beum-Seuk Lee,et al.  Automation of Software System Development Using Natural Language Processing and Two-Level Grammar , 2002, RISSEF.

[4]  Rajeev R. Raje,et al.  An Architecture for the UniFrame Resource Discovery Service , 2002, SEM.

[5]  Walt Scacchi,et al.  Understanding Software Maintenance Work , 1987, IEEE Transactions on Software Engineering.

[6]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[7]  Rajeev R. Raje,et al.  A Unified Approach for the Integration of Distributed Heterogeneous Software Components , 2001 .

[8]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[9]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[10]  Fei Cao,et al.  Automating Feature-Oriented Domain Analysis , 2003, Software Engineering Research and Practice.

[11]  Beum-Seuk Lee,et al.  Automated conversion from requirements documentation to an object-oriented formal specification language , 2002, SAC '02.

[12]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[15]  Rajeev R. Raje UMM: Unified Meta-object Model for Open Distributed Systems , 2000 .

[16]  Roger Sessions COM and DCOM - Microsoft's vision for distributed objects , 1997 .

[17]  Rajeev R. Raje,et al.  A quality‐of‐service‐based framework for creating distributed heterogeneous software components , 2002, Concurr. Comput. Pract. Exp..

[18]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[19]  Eelco Visser,et al.  A Survey of Strategies in Program Transformation Systems , 2001, WRS.

[20]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[21]  I.D. Baxter,et al.  DMS/spl reg/: program transformations for practical scalable software evolution , 2004, Proceedings. 26th International Conference on Software Engineering.

[22]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[23]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[24]  Fei Cao,et al.  Grammatically Interpreting Feature Compositions , 2004, SEKE.

[25]  Christopher W. Pidgeon,et al.  DMS®: Program Transformations for Practical Scalable Software Evolution , 2002, IWPSE '02.

[26]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[27]  Jeffrey G. Gray,et al.  From Natural Language Requirements to Executable Models of Software Components , 2003 .

[28]  Rajeev R. Raje,et al.  A Quality of Service Catalog for Software Components , 2002 .

[29]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .