Adaptive object-oriented programming using graph-based customization
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
Pattern languages of program design 2
Dynamic structure in software architectures
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Formalizing architectural connection
ICSE '94 Proceedings of the 16th international conference on Software engineering
Algorithma 99: an experiment in reusability & component based software engineering
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Interaction-oriented programming
First international workshop, AOSE 2000 on Agent-oriented software engineering
The distributed mission training integrated threat environment system architecture and design
ACM Transactions on Modeling and Computer Simulation (TOMACS)
A Method to Reduce Risks in Building Distributed Enterprise Systems
EDOC '01 Proceedings of the 5th IEEE International Conference on Enterprise Distributed Object Computing
Integration in Component-Based Software Development Using Design Patterns
COMPSAC '00 24th International Computer Software and Applications Conference
Co-ordination adaptors: the evolution of component-based distributed systems
Systems engineering for business process change
Embracing Dynamic Evolution in Distributed Systems
IEEE Software
Ranking and Selecting Services
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Hi-index | 4.10 |
Software development that assembles prefabricated components faces different challenges than development that starts from scratch with programming constructs. For example, it is often impossible, or at least not economical, to change the source code of components from independent suppliers. But how do you assemble the components without doing that? How do you link them with the services they require? And how do you build a distributed system and ensure system-wide security, performance, and fault tolerance without breaking the system? These are just some of the issues that designers face when using prefabricated components in a distributed system. Object-oriented distributed systems pose some specific problems. Objects communicate by invoking methods on other objects, so they must maintain static information, such as class or interface names. Thus, objects may have strong dependencies, not only on each other but also on outside services. Distributed systems built from prefabricated components require an assembly approach that separates architecture, component, and distributed object infra-structure concerns.