775 research outputs found
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
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
Iterative criteria-based approach to engineering the requirements of software development methodologies
Software engineering endeavours are typically based on and governed by the requirements of the target software; requirements identification is therefore an integral part of software development methodologies. Similarly, engineering a software development methodology (SDM) involves the identification of the requirements of the target methodology. Methodology engineering approaches pay special attention to this issue; however, they make little use of existing methodologies as sources of insight into methodology requirements. The authors propose an iterative method for eliciting and specifying the requirements of a SDM using existing methodologies as supplementary resources. The method is performed as the analysis phase of a methodology engineering process aimed at the ultimate design and implementation of a target methodology. An initial set of requirements is first identified through analysing the characteristics of the development situation at hand and/or via delineating the general features desirable in the target methodology. These initial requirements are used as evaluation criteria; refined through iterative application to a select set of relevant methodologies. The finalised criteria highlight the qualities that the target methodology is expected to possess, and are therefore used as a basis for de. ning the final set of requirements. In an example, the authors demonstrate how the proposed elicitation process can be used for identifying the requirements of a general object-oriented SDM. Owing to its basis in knowledge gained from existing methodologies and practices, the proposed method can help methodology engineers produce a set of requirements that is not only more complete in span, but also more concrete and rigorous
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
Candoia: a platform for building and sharing mining software repositories tools as apps
We propose Candoia, a novel platform and ecosystem for building and sharing Mining Software Repositories (MSR) tools. Using Candoia, MSR tools are built as apps and Candoia ecosystem, acting as an appstore, allows effective sharing. Candoia platform provides, data extraction tools for curating custom datasets for user projects, and data abstractions for enabling uniform access to MSR artifacts from disparate sources, which makes apps portable and adoptable across diverse software project settings of MSR researchers and practitioners. The structured design of a Candoia app and the languages selected for building various components of a Candoia app promotes easy customization. To evaluate Candoia we have built over two dozen MSR apps for analyzing bugs, software evolution, project management aspects, and source code and programming practices showing the applicability of the platform for building a variety of MSR apps. For testing portability of apps across diverse project settings, we tested the apps using ten popular project repositories, such as Apache Tomcat, JUnit, Node.js, etc, and found that apps required no changes to be portable. We performed a user study to test customizability and we found that five of eight Candoia users found it very easy to customize an existing app. Candoia is available for download
- …