Software Technology
|
The products of Software Engineering and Software Technology are less reliable than their more traditional Engineering counterparts. Part of the reason is that, being digital, they are readily reused in unexpected situations, a problem seldom experienced by `physical' products. Even if software works correctly in one context it may fail arbitrarily when reused in another. How can that problem be rectified when Software Engineering lacks an accepted basis equivalent to the differential calculus in Engineering? There, differential equations are used to specify behavior and the calculus used to analyse and simulate it. As a result, engineering products can be accounted for even before they are commissioned. The purpose of the programme `Information Engineering for Sustainable Development' is to develop and promote methods that do the same thing for Software Engineering. The aim, of course, is accountably correct information systems. Formal specifications form the Software Engineer's first important technique; by capturing precisely the functional behaviour of a system they promote its accurate reuse in differing contexts. Formal descriptions at varying levels of abstraction are the Software Engineer's equivalent of approximation in the calculus, and enable a realistically complex system to be understood or developed incrementally top-down. And criteria for conformance of descriptions at differing levels of abstraction underpin the correctness of that enterprise. Technical contributions produce laws that can be automated and readily used by the system designer to validate designs, and semantic models to establish the soundness of those laws. The programme's methodology incorporates the inseparability of theory and realistic application: theory is needed to address pressing problems; application is required to validate the theory. It endorses an indivisible relationship between research, development and knowledge-transfer/pedagogy. Projects where this methodology is particularly important include the following. |
|




