Results 11 - 20
of
25
The use of Formal Models in the Design of Interactive Case Memory Systems
, 1995
"... The thesis: generic formal modelling frameworks can be used to encapsulate knowledge about human computer interaction with a particular class of system, namely interactive case memories (ICMs). A generic modelling framework can be used to ensure that ICMs developed exhibit desirable interaction prop ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
The thesis: generic formal modelling frameworks can be used to encapsulate knowledge about human computer interaction with a particular class of system, namely interactive case memories (ICMs). A generic modelling framework can be used to ensure that ICMs developed exhibit desirable interaction properties, and can be re-used for the development of multiple systems. Some formal modelling frameworks that have been advocated to support the development of interactive systems have aimed to model a very wide class of systems at a highly abstract level. These frameworks are limited in their ability to express important properties that apply to particular systems, and may be open to multiple interpretations when applied to individual systems. Other frameworks have emphasised the specification of individual systems. Such single specifications provide limited re-usability. In this thesis I develop a generic framework to support the development of ICMs. To develop the framework I propose an abstr...
Feature Modeling Using Design Spaces
, 2000
"... In the context of software product-lines the configuration knowledge describing how requirements are mapped onto elements of the reuse framework is essential for the success of the product-line. The starting point of this mapping process can be a feature model which describes the functionality to be ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
In the context of software product-lines the configuration knowledge describing how requirements are mapped onto elements of the reuse framework is essential for the success of the product-line. The starting point of this mapping process can be a feature model which describes the functionality to be found in the domain on an abstract level. In this paper we present an approach for the description of feature models which offers a tool-supported selection of features and a connection of this information to the further steps of application development. 1Introduction The highly competitive and dynamic field of software development implies the need to continuously increase the efficiency of development processes. Software reuse and especially the principle of product-lines are commonly recognized approaches to address this problem. The product -line process can thereby be seen as a two-staged process. In the first stage during domain engineering the product-line is initialized by the defi...
P.: Architecture-centric software development based on extended design spaces
- Proc. of 2nd ARES Workshop (Esprit IV 20477
, 1998
"... The realization of software projects can be significantly eased by extending the focus of reuse to architectural aspects instead of concentrating on separate software elements. Yet in any case, operational techniques are required to support the retrieval and selection of reusable items. To this end, ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
The realization of software projects can be significantly eased by extending the focus of reuse to architectural aspects instead of concentrating on separate software elements. Yet in any case, operational techniques are required to support the retrieval and selection of reusable items. To this end, we extend on the concept of design spaces which allows to describe the relevant properties of software elements in a semiformal way. Moreover, we show how the concept of extended design spaces can be deployed in tools supporting component- and framework-based software development.
Supporting Component-Based Software Development Using Domain Knowledge
- Proc. of the SCI 2000 Conference
, 2000
"... A consistent implementation of component-based reuse bears several implications for the design of the software development process. For instance, requirements engineering has to be tailored to particularly elicit information necessary for selecting and configuring appropriate components. Concerning ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
A consistent implementation of component-based reuse bears several implications for the design of the software development process. For instance, requirements engineering has to be tailored to particularly elicit information necessary for selecting and configuring appropriate components. Concerning the development of components, a thorough analysis of the envisioned domain has to provide the necessary information about how specific requirements can be met. To this end, a domain model describes the commonalities and variabilities of possible solutions. While commonalities can be mapped directly to fixed implementations, this paper presents an approach to map requirements concerning the variabilities to concrete component configurations. Our approach is based on the technique of design spaces, which allows to both capture the variability of a domain and to formalize transformation rules leading from requirements to possible solutions. In the course of a detailed example, we demonstrate h...
The Role of Architecture for Complex Systems Development
, 1998
"... Developing complex software systems is challenging with respect to many classes of problems. The integration of a broad variety of products, the adherence to non-functional system requirements, and the coordination of a large number of development tasks and developers are among the most obvious. Sim ..."
Abstract
- Add to MetaCart
Developing complex software systems is challenging with respect to many classes of problems. The integration of a broad variety of products, the adherence to non-functional system requirements, and the coordination of a large number of development tasks and developers are among the most obvious. Similar to its role in classical engineering disciplines, a system's architecture can serve as the "complete picture" for integrating these different aspects. We take a look at the pervasive nature of software architecture and its specific roles in the context of the integration of subsystems, the adherence to non-functional requirements, and in the context of reuse. With the concept of core systems we further present an architecture-centric approach to application development that consequently uses an evolving architecture as the integrative skeleton for both products and activities. INTRODUCTION Developing large distributed systems is a difficult task because of their inherently high complex...
Analyzing the Properties of. . .
, 1993
"... Software architecture is an increasingly important research topic and in this report we investigate the potential role of architecture in evaluating the properties of a system built to a particular architecture. Currently such architectural analysis is complicated for two main reasons: authors of ne ..."
Abstract
- Add to MetaCart
Software architecture is an increasingly important research topic and in this report we investigate the potential role of architecture in evaluating the properties of a system built to a particular architecture. Currently such architectural analysis is complicated for two main reasons: authors of new architectures describe their creations in idiosyncratic terms; and there is no clear way of understanding an architecture with respect to an organization's life cycle concerns---efficiency, maintainability, modifiability, and so forth. This report addresses these shortcomings by proposing a domain-based method for analyzing software architectures called SAAM (Software Architecture Analysis Method). This method contains several steps. A canonical functional partitioning for the domain is adopted. Next, some candidate architectures in this domain are described in a common and simple structural language, providing a neutral context in which to understand their similarities and differences. Ne...
Towards a Uniform Modeling Technique for. . .
"... Sensible resource management requires a thorough and detailed description of resource usage as the basis for static design decisions or dynamic resource trading. Such a description not only has to consider what resources are used and when, but also has to capture resource properties and resource int ..."
Abstract
- Add to MetaCart
Sensible resource management requires a thorough and detailed description of resource usage as the basis for static design decisions or dynamic resource trading. Such a description not only has to consider what resources are used and when, but also has to capture resource properties and resource interactions, for instance. In current practice, however, ad-hoc solutions predominate, only addressing selected resource types and isolated aspects. In this paper we pave the way for a uniform modeling technique for resource usage scenarios. We give a classification of resources, which covers both software and hardware resources uniformly, and discuss essential aspects of service provision, service requirements, and resource interaction. Based on these insights we present a structured description technique for hierarchically dependent software and hardware resources and propose a notation for basic description elements. The technique can be used for resource usage analysis over a wide range of...
Mapping Requirements to reusanble Components using Design Spaces
- Proc. of the IEEE Int'l Conference on Requirements Engineering (ICRE-2000
, 2000
"... A consistent implementation of component-based reuse bears several implications for the design of the software development process. For instance, requirements engineering has to be tailored to particularly elicit information necessary for selecting and configuring appropriate components. Besides ske ..."
Abstract
- Add to MetaCart
A consistent implementation of component-based reuse bears several implications for the design of the software development process. For instance, requirements engineering has to be tailored to particularly elicit information necessary for selecting and configuring appropriate components. Besides sketching our approach to component -based system development, this paper shows how Design Spaces can be applied to actively support reuseoriented activities. Design Spaces allow to uniformly describe requirements on and properties of software artefacts, as well as correlations between specific properties. As a consequence, they are well suited to guide the requirements capturing towards the properties of existing components, and to map those requirements to component selections and configurations. The paper demonstrates how to consistently deploy the Design Space technique throughout the process, leading to a complete and strongly tool-supported path from requirements capturing to system imple...
Architectural Issues in Software Reuse: It's Not Just the Functionality, It's the Packaging
- In Proceedings of IEEE Symposium on Software Reusability
, 1995
"... Effective reuse depends not only on finding and reusing components, but also on the ways those components are combined. The informal folklore of software engineering provides a number of diverse styles for organizing software systems. These styles, or architectures, show how to compose systems ..."
Abstract
- Add to MetaCart
Effective reuse depends not only on finding and reusing components, but also on the ways those components are combined. The informal folklore of software engineering provides a number of diverse styles for organizing software systems. These styles, or architectures, show how to compose systems from components; different styles expect different kinds of component packaging and different kinds of interactions between the components. Unfortunately, these styles and packaging distinctions are often implicit; as a consequence, components with appropriate functionality may fail to work together. This talk surveys common architectural styles, including important packaging and interaction distinctions, and proposes an approach to the problem of reconciling architectural mismatches. 1. Software designers use diverse architectural styles The software architecture group at Carnegie Mellon has studied descriptions of software system architectures and identified a number of patte...
Restricted Design Spaces: Visualization and Consistency Tools
, 2001
"... In this article a restricted notion of design space is introduced to model variability in a system by controlling variations on the source code. Along with the definition, we propose a graphical notation, a XML file format and translation schemes to existing tools. We present also details of an impl ..."
Abstract
- Add to MetaCart
In this article a restricted notion of design space is introduced to model variability in a system by controlling variations on the source code. Along with the definition, we propose a graphical notation, a XML file format and translation schemes to existing tools. We present also details of an implementation of several tools developed or adapted to the introduced notion, as well as a complete example of the usage of the notion and the tools: the configuration of a toy kernel for embedded controllers. Compared with related work, the main features of the restricted notion of design space here introduced are: (1) the restricted definition doesn't support numeric ranges as source of variability (2) it has associated a property of consistency and (3) there is a decidable procedure to check the consistency of a restricted design space during its construction or during its usage.

