Communications in the mercury system
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Language constructs for managing change in process-centered environments
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
OSF DCE application development reference, revision 1.0
OSF DCE application development reference, revision 1.0
User interface development and software environments: the Chiron-1 system
ICSE '91 Proceedings of the 13th international conference on Software engineering
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Common Object Services Specification: Atandt/NCR, Bnr Europe Limited, Digital Equipment Corporation ..
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)
Automated support for seamless interoperability in polylingual software systems
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Reuse of off-the-shelf components in C2-style architectures
ICSE '97 Proceedings of the 19th international conference on Software engineering
Reuse of off-the-shelf components in C2-style architectures
Proceedings of the 1997 symposium on Software reusability
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
An adaptable generation approach to agenda management
Proceedings of the 20th international conference on Software engineering
Using off-the-shelf middleware to implement connectors in distributed software architectures
Proceedings of the 21st international conference on Software engineering
Chimera: hypermedia for heterogeneous software development enviroments
ACM Transactions on Information Systems (TOIS)
An architecture for flexible, evolvable process-driven user-guidance environments
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
On the role of middleware in architecture-based software development
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Understanding process and the quest for deeper questions in software engineering research
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Hi-index | 0.00 |
The Q system provides interoperability support for multilingual, heterogeneous component-based software systems. Initial development of Q began in 1988, and was driven by the very pragmatic need for a communication mechanism between a client program written in Ada and a server written in C. The initial design was driven by language features present in C, but not in Ada, or vice-versa. In time our needs and aspirations grew and Q evolved to support other languages, such as C++, Lisp, Prolog, Java, and Tcl. As a result of pervasive usage by the Arcadia SDE research project, usage levels and modes of the Q system grew and so more emphasis was placed upon portability, reliability, and performance. In that context we identified specific ways in which programming language support systems can directly impede effective interoperability. This necessitated extensive changes to both our conceptual model and our implementation of the Q system. We also discovered the need to support modes of interoperability far more complex than the usual client-server. The continued evolution of Q has allowed the architecture of Arcadia software to become highly distributed and component-based, exploiting components written in a variety of languages. In addition to becoming an Arcadia project mainstay, and has also been made available to over 100 other sites, and it is currently in use in a variety of other projects. This paper summarizes key points that have been learned from this considerable base of experience.