Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
ACM Transactions on Programming Languages and Systems (TOPLAS)
ToolTalk and open protocols: inter-application communication
ToolTalk and open protocols: inter-application communication
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Correct Architecture Refinement
IEEE Transactions on Software Engineering - Special issue on software architecture
The essential distributed objects survival guide
The essential distributed objects survival guide
Multilanguage interoperability in distributed systems
Proceedings of the 18th international conference on Software engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Understanding ActiveX and OLE: a guide for developers and managers
Understanding ActiveX and OLE: a guide for developers and managers
Reuse of off-the-shelf components in C2-style architectures
ICSE '97 Proceedings of the 19th international conference on Software engineering
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
COM and DCOM: Microsoft's vision for distributed objects
COM and DCOM: Microsoft's vision for distributed objects
Towards a taxonomy of architecture integration strategies
ISAW '98 Proceedings of the third international workshop on Software architecture
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Exploiting an event-based infrastructure to develop complex distributed systems
Proceedings of the 20th international conference on Software engineering
Exploiting ADLs to specify architectural styles induced by middleware infrastructures
Proceedings of the 21st international conference on Software engineering
A language and environment for architecture-based software development and evolution
Proceedings of the 21st international conference on Software engineering
Software architecture classification for estimating the cost of COTS integration
Proceedings of the 21st international conference on Software engineering
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Towards a taxonomy of software connectors
Proceedings of the 22nd international conference on Software engineering
Design and evaluation of a wide-area event notification service
ACM Transactions on Computer Systems (TOCS)
Modeling software architectures in the Unified Modeling Language
ACM Transactions on Software Engineering and Methodology (TOSEM)
An Event-Based Architecture Definition Language
IEEE Transactions on Software Engineering
A Family of Software Architecture Implementation Frameworks
WICSA 3 Proceedings of the IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance
Analysing Dynamic Change in Software Architectures: A Case Study
CDS '98 Proceedings of the International Conference on Configurable Distributed Systems
Enabling the refinement of a software architecture into a design
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
A component model for internet-scale applications
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Patterns of conflict among software components
Journal of Systems and Software
Taxonomy of architectural style usage
Proceedings of the 2006 conference on Pattern languages of programs
Using software architecture to facilitate reuse in a product family
SpringSim '09 Proceedings of the 2009 Spring Simulation Multiconference
A Software Architecture-Based Approach for Formalising Middleware Behaviour
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Software architectures promote development focused on modular functional building blocks (components), their interconnections (configurations), and their interactions (connectors). Since architecture-level components often contain complex functionality, it is reasonable to expect that their interactions will be complex as well. Middleware technologies such as CORBA, COM, and RMI, provide a set of predefined services for enabling component composition and interaction. However, the potential role of such services in the implementations of software architectures is not well understood. Furthermore, components adhering to one middleware standard cannot readily interact with those adhering to another. In order to understand the role and tradeoffs among middleware technologies in implementing architectures and enable component interoperability across middleware platforms, we have investigated a set of techniques and conducted preliminary case studies involving a particular architectural style, C2, and its implementation infrastructure. In particular, by encapsulating middleware functionality within C2's explicit software connectors, we have been able to couple C2's existing benefits such as component interchangeability, substrate independence, and structural guidance with new capabilities of multi-lingual, multi-process, and distributed application development in a manner that is transparent to architects. Furthermore, we have demonstrated the utility of our connector-based approach in enabling components implemented on top of different middleware platforms to interoperate. Though several details of our approach derive from the characteristics of the C2 style, we believe that a number of lessons learned are more generally applicable. We argue that these lessons can help form a broader research agenda for coupling the modeling power of software architectures with the implementation support provided by middleware.