The essential need is to create software implementing many functions or features, support variations in the implemented features, provide different features to different customers, while ensuring that the common features are supported using common pieces of code.
Questions we wish to investigate include the following:
- What are the essential characteristics and properties of the architecture of the software systems as described above?
- How can we assess the compliance of any existing software with the architecture properties?
- What are the areas of the software that comply and do not comply?
- How can the existing software be transformed to ensure compliance to the essential architecture characteristics?
- Having transformed the software, how do we ensure that future changes to the software do not violate the essential architecture properties?
Immediate Focus Areas:
- Studying the characteristics of software architectures, especially with a focus on ability to make quick changes in the software. The aim is to investigate properties such as variability / commonality, functional partitions, layers, libraries and others.
- Re-factoring large programs or large applications into smaller, functionally coherent code units.
- Identifying implementations of business rules, and segregating them into separate partitions or layers
The group is headed by R.D. Naik