Requirement and Knowledge Engineering
Theme leader: Hussein Zedan
Under this Theme, we explore novel approaches and their supporting technologies to requirement and knowledge elicitation and analysis, in the adaptation and use of formal specifications, and in the provision of software support tools for aspects such as animation and interpretation of requirements specifications.
Bridging the gap between requirements and business objectives and goals and handling changes in requirements are of particular interests. This has led us to investigate new frameworks within which a theory of Co-Evolution can be formulated. These include
A suite of integrated tools supporting our investigation was developed. This ranges from encoding ITL axiomatic system and its refinement rules and Calculus of Evolution within PVS (the ITL-Workbench) to the impact analyser, AnaTempura. The ITL-Workbench is fundamental as proof assistant and for manipulating ITL specifications. Several case small-to-medium case studies were used to evaluate our tools and conceptual framework. Some of the case studies were based at IBM and some were provided to us by BT and Abbey National.
Furthermore, we continued to explore the feasibility of generative pattern languages for software development with particular reference to creative software architecture and design. Software Architecture has been an emerging discipline since the middle 1990's but most effort in research has been focussed on the analysis and evaluation of architectures once a system has been specified and designed, if not already constructed. Little in comparison has been done to establish the best practices for designing the system in the first place - yet intuitively 'architecture' has more to do with 'construction' than 'deconstruction'. In the object-oriented community a promising contribution has been made by the Patterns Movement which has borrowed some of the ideas of the radical architect Christopher Alexander to document observed best practice in software design.
Through previous work on the ADAPTOR pattern language we have
established a number of basic theoretical premises as the foundation
of this research: that creative software architecture involves
configurationally knowledge, a kind of knowledge that is typically
non-discursive and therefore difficult to report on or disseminate,
and cannot currently be formalised; that software development can be
regarded as design discipline (a cousin of architecture, industrial
design etc.) as well as a mathematical one; and that
software-intensive systems like organic systems or synthetic 3-D
systems can also be described in terms of 'foci' and 'centres' -
notions which are fundamental to Alexander's original theory of