Learn More
The goals of developing systems better, faster, and cheaper continue to drive software engineering practitioners and researchers to investigate software engineering methodologies. In requirements engineering, the focus has been on modeling the software engineering process and products for systems that are being built from scratch. As the size and complexity(More)
Just about everything changes, and so should a software system accordingly in order to survive and succeed. But how can we develop such a software system? Lately, a growing number of practitioners have shown great interests in using design patterns towards the development of an adaptable system, since design patterns represent high-level abstractions that(More)
—An accurate prediction of the number of defects in a software product during system testing contributes not only to the management of the system testing process but also to the estimation of the product's required maintenance. Here, a new approach, called Estimation of Defects based on Defect Decay Model (ED 3 M) is presented that computes an estimate of(More)
As a security policy model evolves, the design of security systems using that model could become increasingly complicated. It is necessary to come up with an approach to guide the development, reuse and evolution of the design. In this paper, we propose an aspect-oriented design approach to designing flexible and extensible security systems. A case study(More)
Component-based development (CBD) techniques have been widely used to enhance the productivity and reduce the cost for software systems development. However, applying CBD techniques to embedded software development faces additional challenges. For embedded systems, it is crucial to consider the quality of service (QoS) attributes, such as timeliness, memory(More)
The increasingly complex environments in which systems need to execute has lead to the need for tools and techniques to systematically design dynamically adaptable systems. A new framework for the design of these adaptive systems is proposed here. The framework, named SMART (State Model Adaptive Run Time), is based on the mathematics of control theory and(More)
—The rapid growth of embedded systems urgently requires methods of improving the development process for these systems. Component-based development (CBD) techniques have been widely studied to enhance the productivity of developing complex applications. These techniques can benefit the software development process for embedded systems as well as other(More)