Results 1 - 10
of
37
Using ViewPoints for Inconsistency Management
- SOFTWARE ENGINEERING JOURNAL
, 1996
"... Large-scale software development is an evolutionary process. In an evolving specification, multiple development participants often hold multiple, inconsistent views on the system being developed, and considerable effort is spent handling recurrent inconsistencies. Detecting and resolving inconsisten ..."
Abstract
-
Cited by 99 (23 self)
- Add to MetaCart
Large-scale software development is an evolutionary process. In an evolving specification, multiple development participants often hold multiple, inconsistent views on the system being developed, and considerable effort is spent handling recurrent inconsistencies. Detecting and resolving inconsistencies is only part of the problem: a resolved inconsistency might not stay resolved as a specification evolves. Frameworks in which inconsistency is tolerated help by allowing resolution to be delayed. However, the evolution of a specification may affect both resolved and unresolved inconsistencies. We present and elaborate a framework in which software development knowledge is partitioned into multiple views called "ViewPoints". Inconsistencies between ViewPoints are managed by explicitly representing relationships between them, and recording both resolved and unresolved inconsistencies. We assume that ViewPoints will often be inconsistent with one another, and we ensure that a complete wor...
xlinkit: A Consistency Checking and Smart Link Generation Service
, 2000
"... ... In this paper we show how consistency constraints can be expressed and checked. We describe a novel semantics for first order logic that produces links instead of truth values and give an account of our content management strategy. We present the architecture of our service and the results of tw ..."
Abstract
-
Cited by 92 (13 self)
- Add to MetaCart
... In this paper we show how consistency constraints can be expressed and checked. We describe a novel semantics for first order logic that produces links instead of truth values and give an account of our content management strategy. We present the architecture of our service and the results of two substantial case studies that use xlinkit for checking course syllabus information and for validating UML models supplied by industrial partners.
Managing Inconsistencies in an Evolving Specification
- SECOND IEEE SYMPOSIUM ON REQUIREMENTS ENGINEERING
, 1995
"... In an evolving specification, considerable development time and effort is spent handling recurrent inconsistencies. Tools and techniques for detecting and resolving inconsistencies only address part of the problem: they do not ensure that a resolution generated at a particular stage will apply at ..."
Abstract
-
Cited by 42 (11 self)
- Add to MetaCart
In an evolving specification, considerable development time and effort is spent handling recurrent inconsistencies. Tools and techniques for detecting and resolving inconsistencies only address part of the problem: they do not ensure that a resolution generated at a particular stage will apply at all subsequent stages of the specification process. Previously, we have advocated tolerance and management of inconsistency, rather than strict enforcement of consistency. The advantages of this approach include the ability to delay resolution, facilitation of concurrent development, and greater flexibility in development strategies. However, this approach does not prevent inconsistencies themselves from evolving, and it does not ensure that resolved inconsistencies remain resolved throughout subsequent developments. We address these problems by explicitly recording relationships between partial specifications (ViewPoints), representing both resolved and unresolved inconsistencies. ...
Flexible Consistency Checking
- ACM Transactions on Software Engineering and Methodology
, 2001
"... The problem of managing the consistency of heterogeneous, distributed software engineering documents is central to the development of large and complex systems. We show how this problem can be addressed using xlinkit, a lightweight framework for consistency checking that leverages standard Internet ..."
Abstract
-
Cited by 39 (1 self)
- Add to MetaCart
The problem of managing the consistency of heterogeneous, distributed software engineering documents is central to the development of large and complex systems. We show how this problem can be addressed using xlinkit, a lightweight framework for consistency checking that leverages standard Internet technologies. xlinkit provides flexibility, strong diagnostics, and support for distribution and document heterogeneity. We use xlinkit in a comprehensive case study that demonstrates how design, implementation and deployment information of an Enterprise JavaBeans system can be checked for consistency, and rechecked incrementally when changes are made.
Inconsistency management in software engineering: Survey and open research issues
- in Handbook of Software Engineering and Knowledge Engineering
, 2001
"... The development of complex software systems is a complex and lengthy activity that involves the participation and collaboration of many stakeholders (e.g. customers, users, analysts, designers, and developers). This results in many partial models of the developing system. These models can be inconsi ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
The development of complex software systems is a complex and lengthy activity that involves the participation and collaboration of many stakeholders (e.g. customers, users, analysts, designers, and developers). This results in many partial models of the developing system. These models can be inconsistent with each other since they describe the system from different perspectives and reflect the views of the stakeholders involved in their construction. Inconsistent software models can have negative and positive effects in the software development life-cycle. On the negative side, inconsistencies can delay and increase the cost of system development; do not guarantee some properties of the system, such as safety and reliability; and generate difficulties on system maintenance. On the positive side, inconsistencies can facilitate identification of some aspects of the system that need further analysis, assist with the specification of alternatives for the development of the system, and support elicitation of information about it. The software engineering community has proposed many techniques and methods to support the management of inconsistencies in various software models. In this paper, we present a survey of these techniques and methods. The survey is organized according to a conceptual framework which views inconsistency management as a process composed of six activities. These activities are the detection of overlaps, detection of inconsistencies, diagnosis of inconsistencies, handling of inconsistencies, tracking of inconsistencies, and specification and application of a management policy for inconsistencies. This paper also presents the main contributions of the research work that has been conducted to support each of the above activities and identifies the issues which are still open to further research. 1.
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...
To Be and Not to Be: On Managing Inconsistency in Software Development
, 1996
"... The development of software systems involves the detection and handling of inconsistencies. These inconsistencies arise in system requirements, design specifications and, quite often, in the descriptions that form the final implemented software product. This paper presents a critical review of appro ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
The development of software systems involves the detection and handling of inconsistencies. These inconsistencies arise in system requirements, design specifications and, quite often, in the descriptions that form the final implemented software product. This paper presents a critical review of approaches that explicitly tolerate and manage inconsistencies, and explores different kinds of inconsistencies that arise during different stages of software development. Managing inconsistency refers not only to the detection and removal of inconsistencies, but also to activities that facilitate continued development in their presence. Such activities include procedures for controlled amelioration or avoidance of inconsistency, which in turn may require analysis and reasoning in the presence of inconsistency.
Decentralised process enactment in a multi-perspective development environment
- Proceedings of 17th International Conference of Software Engineering
, 1995
"... The ViewPoints framework for distributed and concurrent software engineering provides an alternative approach to traditional centralised software development environments. We investigate the use of decentralised process models to drive consistency checking and conict resolution in this framework. Ou ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
The ViewPoints framework for distributed and concurrent software engineering provides an alternative approach to traditional centralised software development environments. We investigate the use of decentralised process models to drive consistency checking and conict resolution in this framework. Our process models use pattern matching on local development histories to determine the particular situation (state) of the development process, and employ rules to trigger situationdependent assistance to the user. We describe how communication between such process models facilitates the decentralised management of explicitly de ned consistency constraints in the ViewPoints framework. 1
Method Engineering for Multi-Perspective Software Development
- Information and Software Technology
, 1994
"... This paper examines the role of the method engineer in the context of multi-perspective software development. Such development is characterised by the existence of multiple development participants who hold multiple views on a system and its domain. These views may be described and developed using m ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
This paper examines the role of the method engineer in the context of multi-perspective software development. Such development is characterised by the existence of multiple development participants who hold multiple views on a system and its domain. These views may be described and developed using multiple representation schemes and development strategies respectively. The paper outlines the ViewPoints framework - an organisational framework developed to model such a scenario - and then examines the method engineering process required to support the kind of multi-perspective development described. The role of tool support in this context is also explored. Keywords: viewpoints, method integration, meta-CASE, method engineering. Introduction and Background Multi-perspective software development engages multiple participants who invariably hold different views on a problem or solution domain. These participants include clients who have different, conflicting and complementary requireme...
An Exception Handling Approach to Enhancing Consistency, Completeness and Correctness in Collaborative Requirements Capture
- COMPLETENESS AND CORRECTNESS IN COLLABORATIVE REQUIREMENTS CAPTURE.” CONCURRENT ENGINEERING RESEARCH AND APPLICATIONS(MARCH
, 1997
"... This paper describes C-ReCS, a WWW-based system for collaborative requirements capture that uses a generic knowledge-based approach to detecting and resolving the exceptions (i.e. different kinds of inconsistency, incompleteness and incorrectness) that can arise frequently in such settings. ..."
Abstract
-
Cited by 13 (6 self)
- Add to MetaCart
This paper describes C-ReCS, a WWW-based system for collaborative requirements capture that uses a generic knowledge-based approach to detecting and resolving the exceptions (i.e. different kinds of inconsistency, incompleteness and incorrectness) that can arise frequently in such settings.

