The cost of maintaining a software system over a long period of time far exceeds its initial development cost. Much of the maintenance cost is attributed to the time required by ne...
In avionics domain, the software applications grew to millions of source lines of code representing important development expenditures. To cut the costs, the avionics suppliers ar...
Building complex software systems necessitates the use of component-based architectures. In theory, of the set of components needed for a design, only some small portion of them ar...
This paper presents a model-based approach to requirements engineering for reactive systems; we use an elevator controller as case study. We identify and justify two key propertie...
Software design patterns are documented best practice solutions that can be applied to reoccurring problems. Although well documented, there are often opportunities to apply them ...