Configuration-level programming of distributed applications using implicit invocation

Concerns the technology and methods for integrating an application that is event-based, whether that application is being constructed from scratch or is a synthesis of existing event-based systems. Developing an event-based application is a complex task for programmers, who must address several issues not found in traditional systems, and, currently, must do so without much assistance. In this paper, we broaden the technology for integration to encompass event-based programming. A method is presented for separating event-based interaction properties from the implementation of the application modules, so that system integration can be performed using only the abstractions. Then, based upon the abstract aggregate, all interface software needed to validly implement the system is generated automatically. A software bus model is enhanced to accommodate the models which drive event-based distributed applications. In this way, designers may define complex event-based interaction abstractly, making it easier to integrate and experiment with event-based distributed applications.<<ETX>>

[1]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[2]  Lori A. Clarke,et al.  An Event-Based Software Integration Framework , 1995 .

[3]  James M. Purtilo,et al.  Module reuse by interface adaptation , 1991, Softw. Pract. Exp..

[4]  Brian N. Bershad,et al.  A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems , 1987, IEEE Transactions on Software Engineering.

[5]  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.

[6]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.

[7]  Bernard P. Zeigler,et al.  A Simulation Environment for Intelligent Machine Architectures , 1993, J. Parallel Distributed Comput..

[8]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.

[9]  Michael B. Jones,et al.  Matchmaker: an interface specification language for distributed processing , 1985, POPL.

[10]  Steven P. Rei Connecting Tools Using Message Passing in the Field Environment , 1990 .

[11]  David Garlan,et al.  Formalizing Design Spaces: Implicit Invocation Mechanisms , 1991, VDM Europe.

[12]  William G. Griswold,et al.  Adding Implicit Invocation to Languages: Three Approaches , 1993, ISOTAS.

[13]  Eric C. Cooper Programming language support for multicast communication in distributed systems , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[14]  Vern Paxson,et al.  Glish: A User-Level Software Bus for Loosely-Coupled Distributed Systems , 1993, USENIX Winter.

[15]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[16]  James M. Purtilo,et al.  Surgeon: a packager for dynamically reconfigurable distributed applications , 1992, Softw. Eng. J..

[17]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

[18]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[19]  David C. Luckham,et al.  Event-Based Concepts and Language for System , 1993 .

[20]  James M. Purtilo,et al.  Writing distributed programs in Polylith , 1990 .

[21]  Thomas J. Schriber,et al.  Simulation Using GPSS , 1974 .

[22]  Joshua J. Bloch The Camelot library: A C language extension for programming a general purpose distributed transaction system , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[23]  A. Alan B. Pritsker,et al.  Gasp iv simulation language , 1974 .

[24]  William G. Griswold,et al.  Automated assistance for program restructuring , 1993, TSEM.

[25]  Daniel M. Yellin,et al.  Interfaces, protocols, and the semi-automatic construction of software adaptors , 1994, OOPSLA '94.

[26]  Richard E. Nanoe Model development revisited , 1984, WSC '84.

[27]  James M. Purtilo,et al.  Tool support for tailored software prototyping , 1994, Proceedings of 3rd Symposium on Assessments of Quality Software Development Tools.

[28]  James M. Purtilo,et al.  A Packaging System For Heterogeneous Execution Environments , 1991, IEEE Trans. Software Eng..

[29]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[30]  James M. Purtilo,et al.  Event Adaption for Integrating Distributed Applications , 1995, International Conference on Software Engineering and Knowledge Engineering.

[31]  GarlanDavid,et al.  Low-cost, adaptable tool integration policies for integrated environments , 1990 .

[32]  James M. Purtilo,et al.  A Packager for Multicast Software in Distributed Systems , 1993, SEKE.

[33]  Lissa F. Pollacia,et al.  A survey of discrete event simulation and state-of-the-art discrete event languages , 1989, SIML.

[34]  David Garlan,et al.  Adding implicit invocation to traditional programming languages , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[35]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[36]  David Garlan,et al.  Low-cost, adaptable tool integration policies for integrated environments , 1990, SDE 4.