25th International Conference on Software Engineering, 2003. Proceedings. · 2003 · 21 citations · 20 references
ComputingComputer ScienceComputer SystemsDistributed SystemsHeterogeneous ComputingProgramming LanguagesApplication Programming InterfacesInteroperabilityCross-cuttingHeterogeneous Distributed SystemsHeterogeneous Runtime SystemsMiddlewareMiddleware ArchitecturesMiddleware CompatibilityMiddleware DesignMiddleware Platforms
Some "non-" or "extra-functional" features, such as reliability, security, and tracing, defy modularization mechanisms in programming languages. This makes such features hard to design, implement, and maintain. Implementing such features within a single platform, using a single language, is hard enough With distributed, heterogeneous (DH) systems, these features induce complex implementations which cross-cut different languages, OSs, and hardware platforms, while still needing to share data and events. Worse still, the precise requirements for such features are often locality-dependent and discovered late (e.g., security policies). The DADO/sup 1/ approach helps program cross-cutting features by improving DH middleware. A DADO service comprises pairs of adaplets which are explicitly modeled in IDL. Adaplets may be implemented in any language compatible with the target application, and attached to stubs and skeletons of application objects in a variety of ways. DADO supports flexible and type-checked interactions (using generated stubs and skeletons) between adaplets and between objects and adaplets. Adaplets can be attached at run-time to an application object. We describe the approach and illustrate its use for several cross-cutting features, including performance monitoring, caching, and security. We also discuss software engineering process, as well as run-time performance implications.
20
Monad transformers and modular interpreters
Sheng Liang, Paul Hudak, Mark P. Jones · 1995 · 504 citations · Full text
Towards a taxonomy of software connectors
Nikunj Mehta, Nenad Medvidović, Sandeep Phadke · 2000 · 388 citations