Results 1 -
8 of
8
Inconsistency Handling in Multi-Perspective Specifications
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1994
"... The development of most large and complex systems necessarily involves many people - each with their own perspectives on the system defined by their knowledge, responsibilities, and commitments. To address this we have advocated distributed development of specifications from multiple perspectives. ..."
Abstract
-
Cited by 171 (41 self)
- Add to MetaCart
The development of most large and complex systems necessarily involves many people - each with their own perspectives on the system defined by their knowledge, responsibilities, and commitments. To address this we have advocated distributed development of specifications from multiple perspectives. However, this leads to problems of identifying and handling inconsistencies between such perspectives. Maintaining absolute consistency is not always possible. Often this is not even desirable since this can unnecessarily constrain the development process, and can lead to the loss of important information. Indeed since the real-world forces us to work with inconsistencies, we should formalise some of the usually informal or extra-logical ways of responding to them. This is not necessarily done by eradicating inconsistencies but rather by supplying logical rules specifying how we should act on them. To achieve this, we combine two lines of existing research: the ViewPoints framew...
Co-ordinating Distributed ViewPoints: the anatomy of a consistency check
- CONCURRENT ENGINEERING: RESEARCH AND APPLICATIONS
, 1994
"... ..."
Support for Maintaining Object-Oriented Programs
- IEEE Transactions on Software Engineering
, 1992
"... In this paper, we explain how inheritance and dynamic binding make object-oriented programs difficult to maintain, and we give a concrete example of the problems that arise. We show that the difficulty lies in the fact that conventional tools are poorly suited for work with object-oriented languages ..."
Abstract
-
Cited by 39 (5 self)
- Add to MetaCart
In this paper, we explain how inheritance and dynamic binding make object-oriented programs difficult to maintain, and we give a concrete example of the problems that arise. We show that the difficulty lies in the fact that conventional tools are poorly suited for work with object-oriented languages, and we argue that semantics-based tools are essential for effective maintenance of object-oriented programs. We then describe a system we have developed for working with C++ programs. This system comprises a relational database system for information about programs, and an interactive database interface integrated with a text editor. We describe our system architecture, detail the database relations, provide informal evidence on the system's effectiveness, and compare it to other research with similar goals. Keywords: software maintenance, object-oriented languages and environments, programming environments, semantic analysis of code, software representation in relational databases, C++. ...
Reconciling Requirements: a method for managing interference, inconsistency and conflict
- Annals of Software Engineering, Special Issue on Software Requirements Engineering
, 1996
"... This paper outlines a method, called reconciliation, for managing interference between partial specifications or viewpoints. The method supports the detection, verification and tracking of ontological overlaps. The paper describes the heuristics on which the method is based and illustrates the appli ..."
Abstract
-
Cited by 22 (11 self)
- Add to MetaCart
This paper outlines a method, called reconciliation, for managing interference between partial specifications or viewpoints. The method supports the detection, verification and tracking of ontological overlaps. The paper describes the heuristics on which the method is based and illustrates the application of the method to a scenario. 1. Introduction The construction of a complex software system involves many agents (aka participants or actors). These agents have different perspectives or views of the artifact or system they are trying to describe or model. This gives rise to many partial specifications (or viewpoints) reflecting those perspectives (Nuseibeh et al. 1993, Maiden et al. 1994). These specifications "interfere" with each other to the extent they refer to, or assert properties of common aspects of the system under development and its domain. This is a particular feature of the requirements engineering setting. Interference between specifications can occur at two different l...
A Pattern Language for Extensible Program Representation
, 2007
"... For the last 15 years, implementors of multiple view programming environments have sought a single code model that would form a suitable basis for all of the program analyses and tools that might be applied to the code. They have been unsuccessful. The consequences are a tendency to build monolithic ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
For the last 15 years, implementors of multiple view programming environments have sought a single code model that would form a suitable basis for all of the program analyses and tools that might be applied to the code. They have been unsuccessful. The consequences are a tendency to build monolithic, single-purpose tools, each of which implements its own specialized analyses and optimized representation. This restricts the availability of the analyses, and also limits the reusability of the representation by other tools. Unintegrated tools also produce inconsistent views, which reduce the value of multiple views. This paper describes an architecture that allows a single, minimal representation of program code to be extended as required to support new tools and program analyses, while still maintaining a simple and uniform interface to program properties. We present architectural patterns that address efficiency, correctness and the integration of multiple analyses and tools in a modular fashion.
A Semi-Automatic Process of Identifying Overlaps and Inconsistencies Between Requirements Specifications
- In Proceedings of the 5th International Conference on Object-Oriented Information Systems (OOIS 98
, 1998
"... Reconciliation is a method which supports the detection and verification of overlaps and the resolution of certain forms of inconsistencies between requirements specifications expressed in an object-oriented framework. The method identifies a set of candidate overlaps between two specifications by a ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Reconciliation is a method which supports the detection and verification of overlaps and the resolution of certain forms of inconsistencies between requirements specifications expressed in an object-oriented framework. The method identifies a set of candidate overlaps between two specifications by analysing their similarity. These overlaps are assessed by the authors of the specifications. If the authors disagree with the overlaps identified by analysis, the method guides them through an exploration activity aimed at (1) identifying inconsistencies in the modelling of the specifications with respect to the overlaps indicated by them, and (2) resolving these inconsistencies in a way which ensures that the results of further analysis will converge with overlaps indicated by the authors. This paper provides an overview of the method focusing on the process of identifying and resolving inconsistencies between specifications. Keywords: inconsistency management, requirements engineering, obj...
Requirements Engineering Through Viewpoints
- Imperial College, Department of
, 1992
"... This paper provides a short review of contributions to a better understanding of requirements engineering arising from research at Imperial College. These contributions share a common theme - a focus on "multiple perspectives" or viewpoints. 1 Theme The development of most large and complex systems ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper provides a short review of contributions to a better understanding of requirements engineering arising from research at Imperial College. These contributions share a common theme - a focus on "multiple perspectives" or viewpoints. 1 Theme The development of most large and complex systems necessarily involves many people - each with their own perspective on the system defined by their skills, responsibilities, knowledge and expertise. This is particularly true where the system is a composite system, that is one which deploys a variety of different technologies (software, hardware, mechanical and so on). Inevitably, the different perspectives of those involved in the process intersect and overlap, giving rise to a requirement for coordination. The intersections are, however, far from obvious because the knowledge within each perspective is represented in different ways. Further, because development may be carried out concurrently by those involved, different perspectives may ...
Dedicated Object Management System Benchmarks for Software Engineering Applications
- Proceedings of Software Engineering Environments
, 1994
"... Non-standard database systems become available now, even as commercial products. They overcome a lot of deficiencies of relational systems w.r.t. their use in engineering applications like computeraided design or software engineering. Their rather sophisticated functionality especially concerning th ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Non-standard database systems become available now, even as commercial products. They overcome a lot of deficiencies of relational systems w.r.t. their use in engineering applications like computeraided design or software engineering. Their rather sophisticated functionality especially concerning the manipulation of complex objects makes them highly attractive for engineering applications. If being used as the central database of a rather complex application they could however still become a bottleneck w.r.t. performance. This paper presents a new way how to define a special purpose benchmark which enables to select the fastest database system for a particular software engineering application. It is argued that existing benchmarks are not appropriate to support such a selection, because they neglect important application specific characteristics which significantly influence the database performance. 1 This report has been published in: R. Welland, editor, Proc. of the Software Engin...

