Reusability is a factor that has a direct impact on the productivity, reliability, consistency, manageability, and standardization of software products. In routine software construction, design and implementation patterns recur frequently. A goal of software reusability is to capture these patterns as reusable components. Repeated reuse allows the amortization of the cost of developing the reusable components, thus allowing the development of higher-quality products. We present a framework for the development and reuse of passive specification and design components of embedded systems. These reusable components are object classes and building blocks for Real-Time Structured Analysis and Design (RTSA) models. We apply an existing general domain engineering framework to define a component development process. We use object-oriented schemes to represent reusable components and their semantics. Object-oriented schemes, the reuse library and a feedback from the actual reuse process integrate the component development process in the reuse process of the components. We present a reuse-oriented RTSA process for the reuse of the specification and design components. The designer is provided with a component modelling tool for communication with a component library system. We apply existing design tracking techniques to tracking reuse decisions and to recording feedback from the reuse process. We use object-oriented schemes to represent nonfunctional requirements of the system and to capture reusable information from the models produced in the reuse-oriented RTSA process. The RTSA models describe behavioural and functional requirements of the system. The use of the component library system is demonstrated by a prototype implementation of a reuse tool, the knowledge-based RTSA editor Prospex, in the specification and design of an embedded system.
|Place of Publication||Helsinki|
|Publication status||Published - 1991|
|MoE publication type||G3 Licentiate thesis|
- software engineering
- object-oriented programming
- embedded systems