- Hesham Abbas
- Mufasir Muthaher Mohammed
Computer Science is a fascinating field. In a relatively short amount of time, computers have impacted almost every aspect of society and enabled applications and uses thought impossible just a few years ago. These advances have been made possible through impressive technology improvements, both on the hardware and the software side. However, while many things about computers, software, and software development have changed, one aspect has stayed with us and is as relevant as it was in 1968 when it was first articulated: the challenge of developing ever more powerful and complex software on time and on budget while ensuring that it satisfies its requirements and quality expectations.
In contrast to mainstream software development, traditional engineering disciplines greatly rely on the construction and use of models, i.e., artifacts that capture certain relevant aspects of the product to be built for some particular purpose, while leaving out other aspects that are demonstrably not relevant for that purpose.
Inspired by this use of models and the extent to which they are helping traditional engineering disciplines build highly complex artifacts efficiently and effectively, the MASE group researches model-based software development, i.e., we explore the use of notations, techniques, and tools that leverage abstraction, automation, and analysis to facilitate different aspects of software development.
Past and current work in the group falls into the following themes:
- Analysis of models
- Transformation and evolution of models
- Formal specification and verification
- Synthesis and correctness by construction
- Demonstrators of model-based software development
- Surveys, comparisons, literature reviews
For our work, we typically build prototypes, but are also not afraid of using formal notations, techniques, and tools.