11,499 research outputs found
On the use of a reflective architecture to augment Database Management Systems
The Database Management System (DBMS) used to be a commodity software component, with well known standard interfaces and semantics. However, the performance and reliability expectations being placed on DBMSs have increased the demand for a variety add-ons, that augment the functionality of the database in a wide range of deployment scenarios, offering support for features such as clustering, replication, and selfmanagement, among others. The effectiveness of such extensions largely rests on closely matching the actual needs of applications, hence on a wide range of tradeoffs and configuration options out of the scope of traditional client interfaces. A well known software engineering approach to systems with such requirements is reflection. Unfortunately, standard reflective interfaces in DBMSs are very limited (for instance, they often do not support the desired range of atomicity guarantees in a distributed setting). Some of these limitations may be circumvented by implementing reflective features as a wrapper to the DBMS server. Unfortunately, this solutions comes at the expense of a large development effort and significant performance penalty. In this paper we propose a general purpose DBMS reflection architecture and interface, that supports multiple extensions while, at the same time, admitting efficient implementations. We illustrate the usefulness of our proposal with concrete examples, and evaluate its cost and performance under different implementation strategies
Pattern Reification as the Basis for Description-Driven Systems
One of the main factors driving object-oriented software development for
information systems is the requirement for systems to be tolerant to change. To
address this issue in designing systems, this paper proposes a pattern-based,
object-oriented, description-driven system (DDS) architecture as an extension
to the standard UML four-layer meta-model. A DDS architecture is proposed in
which aspects of both static and dynamic systems behavior can be captured via
descriptive models and meta-models. The proposed architecture embodies four
main elements - firstly, the adoption of a multi-layered meta-modeling
architecture and reflective meta-level architecture, secondly the
identification of four data modeling relationships that can be made explicit
such that they can be modified dynamically, thirdly the identification of five
design patterns which have emerged from practice and have proved essential in
providing reusable building blocks for data management, and fourthly the
encoding of the structural properties of the five design patterns by means of
one fundamental pattern, the Graph pattern. A practical example of this
philosophy, the CRISTAL project, is used to demonstrate the use of
description-driven data objects to handle system evolution.Comment: 20 pages, 10 figure
Meta-Data Objects as the Basis for System Evolution
One of the main factors driving object-oriented software development in the Web- age is the need for systems to evolve as user requirements change. A crucial factor in the creation of adaptable systems dealing with changing requirements is the suitability of the underlying technology in allowing the evolution of the system. A reflective system utilizes an open architecture where implicit system aspects are reified to become explicit first-class (meta-data) objects. These implicit system aspects are often fundamental structures which are inaccessible and immutable, and their reification as meta-data objects can serve as the basis for changes and extensions to the system, making it self- describing. To address the evolvability issue, this paper proposes a reflective architecture based on two orthogonal abstractions - model abstraction and information abstraction. In this architecture the modeling abstractions allow for the separation of the description meta-data from the system aspects they represent so that they can be managed and versioned independently, asynchronously and explicitly. A practical example of this philosophy, the CRISTAL project, is used to demonstrate the use of meta-data objects to handle system evolution
Fine Grained Component Engineering of Adaptive Overlays: Experiences and Perspectives
Recent years have seen significant research being carried out into peer-to-peer (P2P) systems. This work has focused on the styles and applications of P2P computing, from grid computation to content distribution; however, little investigation has been performed into how these systems are built. Component based engineering is an approach that has seen successful deployment in the field of middleware development; functionality is encapsulated in âbuilding blocksâ that can be dynamically plugged together to form complete systems. This allows efficient, flexible and adaptable systems to be built with lower overhead and development complexity. This paper presents an investigation into the potential of using component based engineering in the design and construction of peer-to-peer overlays. It is highlighted that the quality of these properties is dictated by the component architecture used to implement the system. Three reusable decomposition architectures are designed and evaluated using Chord and Pastry case studies. These demonstrate that significant improvements can be made over traditional design approaches resulting in much more reusable, (re)configurable and extensible systems
Case Study of the Space Shuttle Cockpit Avionics Upgrade Software
The purpose of the Space Shuttle Cockpit Avionics Upgrade project was to reduce crew workload and improve situational awareness. The upgrade was to augment the Shuttle avionics system with new hardware and software. An early version of this system was used to gather human factor statistics in the Space Shuttle Motion Simulator of the Johnson Space Center for one month by multiple teams of astronauts. The results were compiled by NASA Ames Research Center and it was was determined that the system provided a better than expected increase in situational awareness and reduction in crew workload. Even with all of the benefits nf the system, NASA cancelled the project towards the end of the development cycle. A major success of this project was the validation of the hardware architecture and software design. This was significant because the project incorporated new technology and approaches for the development of human rated space software. This paper serves as a case study to document knowledge gained and techniques that can be applied for future space avionics development efforts. The major technological advances were the use of reflective memory concepts for data acquisition and the incorporation of Commercial off the Shelf (COTS) products in a human rated space avionics system. The infused COTS products included a real time operating system, a resident linker and loader, a display generation tool set, and a network data manager. Some of the successful design concepts were the engineering of identical outputs in multiple avionics boxes using an event driven approach and inter-computer communication, a reconfigurable data acquisition engine, the use of a dynamic bus bandwidth allocation algorithm. Other significant experiences captured were the use of prototyping to reduce risk, and the correct balance between Object Oriented and Functional based programming
Using Self-Description to Handle Change in Systems
In the web age systems must be flexible, reconfigurable and adaptable in
addition to being quick to develop. As a consequence, designing systems to
cater for change is becoming not only desirable but required by industry.
Allowing systems to be self-describing or description-driven is one way to
enable these characteristics. To address the issue of evolvability in designing
self-describing systems, this paper proposes a pattern-based, object-oriented,
description-driven architecture. The proposed architecture embodies four
pillars - first, the adoption of a multi-layered meta-modeling architecture and
reflective meta-level architecture, second, the identification of four data
modeling relationships that must be made explicit such that they can be
examined and modified dynamically, third, the identification of five design
patterns which have emerged from practice and have proved essential in
providing reusable building blocks for data management, and fourth, the
encoding of the structural properties of the five design patterns by means of
one pattern, the Graph pattern. In this paper the fundamentals of the
description-driven architecture are described - the multi-layered architecture
and reflective meta-level architecture, remaining detail can be found in the
cited references. A practical example of this architecture is described,
demonstrating the use of description-driven data objects in handling system
evolution.Comment: 9 pages, 5 figures, Object Oriented Information Systems Conference,
Montpellier 200
Managing Evolving Business Workflows through the Capture of Descriptive Information
Business systems these days need to be agile to address the needs of a
changing world. In particular the discipline of Enterprise Application
Integration requires business process management to be highly reconfigurable
with the ability to support dynamic workflows, inter-application integration
and process reconfiguration. Basing EAI systems on model-resident or on a
so-called description-driven approach enables aspects of flexibility,
distribution, system evolution and integration to be addressed in a
domain-independent manner. Such a system called CRISTAL is described in this
paper with particular emphasis on its application to EAI problem domains. A
practical example of the CRISTAL technology in the domain of manufacturing
systems, called Agilium, is described to demonstrate the principles of
model-driven system evolution and integration. The approach is compared to
other model-driven development approaches such as the Model-Driven Architecture
of the OMG and so-called Adaptive Object Models.Comment: 12 pages, 4 figures. Presented at the eCOMO'2003 4th Int. Workshop on
Conceptual Modeling Approaches for e-Busines
Evaluating Digital Libraries: A Longitudinal and Multifaceted View
published or submitted for publicatio
- âŠ