Abstract: While implicit invocation (publish-subscribe) systems have good engineering properties, they are difficult to reason about and to test. Model checking such systems is an attractive alternative. However, it is not clear what kinds of state models are best suited for this. In this paper we propose a structural approach, which factors the model checking problem into two parts: behavior specific to a particular implicit invocation system, and reusable runtime infrastructure that handles event-based communication and delivery policies. The reusable portion is itself structured so that alternative runtime mechanisms may be experimented with.
Abstract: The use of largely isolated workstations and laptops as the primary carrier of personal computing is giving way to a world of pervasive computing populated by ubiquitous networks of heterogeneous computing and information facilities. In such a world the boundaries between a user’s personal computation space and other people’s is no longer well defined. As a result, collaboration becomes the dominant mode of computing – in essence, all systems become the basis for on-going computer-supported cooperative work.
Abstract: Complex software systems require expressive notations for representing their software architectures. Two competing paths have emerged. One is to use a specialized notation for architecture -- or architecture description language (ADL). The other is to adapt a general-purpose modeling notation, such as UML. The latter has a number of benefits including familiarity to developers, close mapping to implementations, and commercial tool support. However, it remains an open question as to how best to use object-oriented notations for architectural description, and, indeed, whether they are sufficiently expressive, as currently defined. In this paper we take a systematic look at these questions, examining the space of possible mappings from ADLs into object notations. Specifically, we describe (a) the principle strategies for representing architectural structure in UML; (b) the benefits and limitations of each strategy; and (c) aspects of architectural description that are intrinsically difficult to model in UML using the strategies.
Jack Wileden, Krishnan Sridar,
Bradley Schmerl, John Ridgeway and Alan Kaplan. Toward Pure Polylingual Persistence. In Ninth International Workshop on Persistent Object Systems: Design, Implementation and Use (POS9), Lillehammer, Norway. September, 2000.
https://doi.org/10.1007/3-540-45498-5_7.
🔗
Abstract: A heterogeneous persistent object system provides multiple programming language interfaces. This gives rise to the polylingual inter- operability problem, namely, how can an application uniformly process data objects that have been defined, created and persistently stored us- ing distinct programming language type models. At POS-7, we reported on the PolySPIN approach (polylingual support for persistence, interoperability and naming). A prototype based on PolySPIN, which was built as an extension to the TI/Darpa Open Object-Oriented Database, supports transparent polylingual access for persistent C++ and CLOS objects. The approach, however, assumes that objects in the persistent store are monolingual structures. That is, while a C++ application using the PolySPIN approach may access and manipulate a persistent CLOS object as if it were implemented in C++, that CLOS object must be entirely implemented in CLOS. In this paper, we report on our recent efforts toward extending PolySPIN with pure polylingual persistence capabilities. Our new approach supports transparent construction and ma- nipulation of heterolingual persistent data objects. This means that a persistent object may have in its closure objects that are defined using different languages. The pure polylingual persistence mechanism trans- parently manages heterolingual persistent objects. We illustrate the pure polylingual approach by applying it to a Java-C++ realization of the 007 benchmark as implemented using the TI/Darpa Open Object-Oriented Database.
David Garlan. Software Architecture and Object-Oriented Systems. In Proceedings of the IPSJ Object-Oriented Symposium 2000. August, 2000.
Abstract: Over the past decade software architecture has emerged as an important subfield of software engineering. During that time there has been considerable progress in developing the technological and methodological base for treating architectural design as an engineering discipline, including specialized architectural description languages, tools, analytic techniques, handbooks, and methods. In this paper I survey the main features of the field, and then compare software architecture with object-oriented systems to illustrate some of the important similarities and differences between the two fields.
Abstract: Over the past decade software architecture has received increasing attention as an important subfield of software engineering. During that time there has been considerable progress in developing the technological and methodologi-cal base for treating architectural design as an engineering discipline. However, much remains to be done to achieve that goal. Moreover, the changing face of technology raises a number of new challenges for software architecture. This paper examines some of the important trends of software architecture in research and practice, and speculates on the important emerging trends, challenges, and aspirations.