Coming to Canada from

Research involves

Making software development a more disciplined and dependable activity by proposing appropriate engineering methods of software and system specification and design.

Research relevance

The research will enable software producers to develop more reliable software with attendant economic gains for their companies and society.

Reliable Development of Reliable Software Systems

Software quality is a vital issue for researchers and software producers. One element that helps ensure excellence in software engineering is the ability to specify accurately just what is to be built and thus affect the building of the artefact in a systematic way, guaranteeing conformance with the specifications.

Software systems are the most complex and "large" systems ever built; they involve millions of lines of code and tens of thousands of pages of associated design descriptions. Because of their size and complexity, the systems are difficult to describe, analyse, and manipulate for the purposes of implementation.

Over the past 10 years or so, architecture description languages (ADLs) have been developed in order to describe software system structure and properties at an abstract enough level to reduce complexity and detail and to be intelligible to designers, but still enable analysis of the design and provide choice of implementation.

Unfortunately, existing ADLs continue to lack the appropriate support for specifying important characteristics such as dynamic reconfiguration, hierarchical construction, and tractable and fully formal semantics. That's why Canada Research Chair Tom Maibaum is developing a new ADL.

Maibaum is an international authority in software engineering. His work focuses in particular on the abstract specification and design of software systems. In the past, he has developed languages and methods that support the so-called component-based development approaches that are currently in favour with software developers. Maibaum's work on a new ADL will improve the state of the art since the environment that he is creating incorporates appropriate specifications, analysis, and testing/verification tools, as well as corresponding engineering methods for specific problem domains.