A Framework for Behavioural Engineering of Software Systems

Swaminathan Natarajan
Department of Computer Science, RIT


Modern software engineering processes and lifecycle models ensure that developers follow systematic approaches to engineer software for functional correctness.  The next frontier is to be able to take a similar engineering approach towards the  other aspects such as performance, reliability, availability, usability and evolvability.

A number of techniques and methods have been evolved over the past 50 years to analyze and test for each of these "ilities", however most software engineers are barely aware that they exist, so approaches to obtaining desired behaviour are very ad hoc.  One difficulty in taking a systematic engineering approach to determining the system profile is that there are tradeoffs among these attributes.

This talk will present a framework for taking such a systematic engineering approach.  The framework includes an attribute classification (not unique), a process, and a basket of technologies for specification, design, analysis and testing.  It will briefly indicate the results obtained when this framework was piloted at Motorola India.

Colloquia Series page.