Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Object-oriented modeling and design
Object-oriented modeling and design
Multimedia programming: objects, environments and frameworks
Multimedia programming: objects, environments and frameworks
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Communications of the ACM
Lessons learned building reusable OO frameworks for distributed software
Communications of the ACM
A framework for classifying and comparing architecture description languages
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Unifying heterogeneous information models
Communications of the ACM
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
Architectural Styles, Design Patterns, and Objects
IEEE Software
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
Formal Specification of Evolving Distributed Software Architectures
DEXA '98 Proceedings of the 9th International Workshop on Database and Expert Systems Applications
Distributed application configuration
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
A formal approach to software architecture
A formal approach to software architecture
Hi-index | 0.01 |
There are compelling reasons to combine the concepts of an architecture description language with those of an object-oriented framework to provide support for the development of reusable and extensible software architectures. This paper presents C++CL, an object-oriented framework for developing reconfigurable distributed software architectures, which follows that approach. The reconfigurability of C++CL enables us to develop distributed systems, which require changes to take place during run time without having to shut the system down. Examples of systems of this kind are evident in banking, industrial control and telecommunications and are becoming more common in many other areas. The main focus of the paper is to show how C++CL supports re-usability and the evolution of distributed systems through the use of inheritance and the modelling of architectural styles. Inheritance can be applied not ony to the components of an architecture but to the description of the architectural configuration itself. An architectural style, similarly to a pattern, defines an architecture-based solution to a family of problems. The combination of those two concepts provides powerful support for re-usability of architecture descriptions.