Customizable middleware for modular distributed software

Mark Astley, Daniel Sturman, Gul Agha · Communications of the ACM · 2001

This article presents certain ways to simplify the development and maintenance of complex distributed software. Software executing on distributed systems represents a unique synthesis of application code and code for managing requirements such as heterogeneity, scalability, security, and availability. Separating policies and protocols provides an abstraction boundary in the spirit of abstract data types. In particular, protocols required for interactions need not be hard-coded in application code. This allows objects and protocols to be independently developed and later composed into runnable systems. Modularity and customizability are important techniques for software development. Modularity is one attraction of toolkits for distributed programming. Although both the computational power of individual processors and their interconnectivity have increased by orders of magnitude, methods for developing and maintaining distributed software have not. The increasing complexity of distributed software systems in the absence of corresponding advances in software technology fuel a perennial crisis in software. INSETS: Object-based Middleware; Actors; Reflection.

Read the paper · More papers on PaperTik