History

Within the computer science department (INFO) of the Faculty of Applied Sciences (Engineering) an AI-group was started in 1987. The mission of this group was to introduce expertise on AI in different engineering disciplines. In a first period two major lines of work can be distinguished: research on knowledge based programming and applications of expert system technology in different engineering diciplines. From 1990 on the label Lab for System en Software Engineering is used and the research is repositioned partly toward an integration of more traditional software engineering research and knowledge engineering research. In addition a line of research on fuzzy control and the role of fuzzy reinforcement learning therein is started around that period. Around 1996, research is started on integrated system development methodologies.

Knowledge-based programming

The PhD. research of V. Jonckers [1,3,4,5,6,8,10,12,17] introduces a knowledge based system that allows to model and represent expert programming knowledge. This research fits into the longer term and more general goal to introduce intelligence in programming environments, i.e. to build into these environments knowledge on standard concepts and techniques necessary to develop and understand programs such that these environments can more actively support the programming process. The knowledge system that was developed has been used as a framework for experiments on programming expertise: program transformation, program exploration, program optimisation, etc.

Following this line of research, together with Ann Nowé, an environment = for program synthesis based on program transformation and refinement [9,11,20] was developed. The environment goes under the name KETI (Knowledge-based Environment for Transformational Implementation). We developed libraries of abstract programming concepts that take the role of a very high level programming language. Programming starts with the specification of an abstract algorithm model, i.e. a combination of these abstract programming concepts. Vertical transformations rewrite this model to lower level, although still abstract programming language independent concepts. Horizontal transformations translate the algorithm model to concrete programming concepts that model a given programming language. Different libraries of concrete programming concepts are needed to model different existing programming language. The level at which horizontal transformation can start off also differs for different target languages.

While synthesising a program in KETI decisions need to be taken each time an alternative implementation is possible. The resulting program is just one out of a set of possible implementations for the abstract specification. The knowledge bases developed for KETI are reused in an analysis module [18,19] for a tutoring environment that aims at teaching programming languages and programming styles. In such an environment, checking a program written by a student as a solution to a given assignment for correctness and quality, is an important open problem. That application goes under he name PATAT (Program Analysis Tool using Algorithm Transformation). The original element in our approach is that for each assignment only one very general and very abstract solution must be modelled by the tutor. Each correct solution to the assignment can be derived from it by the transformation and implementation rules. For non correct solutions meaningful comments can be generated on where the solution goes wrong. Style errors can also be reported.

Applications of AI in other engineering disciplines

In the context of an OZR (the university's research counsel) project on intelligent network management, high-level abstract techniques for specifying network protocols are studied. The two standard specification formalisms LOTOS (ISO) en SDL (CCITT/ITU) are used. Tools are developed to animate, simulate and implement computer network protocols [22,23,24]. The most difficult of the three, implementation, leads to the PhD. research of Ludo Cuypers [27,32]. An AI based search strategy is developed that automatically reformulates a protocol specification and that translates it to an efficient implementation in a conventional programming language (ex. C).

We participated in an AIM (EEC funded, Advanced Informatics in Medicine) project together with the radiology department of the university's academic hospital. In the context of this HIPACS project (Hospital Integrated Picture Archiving and Communication System) we developed a prototype for a traffic management system [15,16]. In this prototype a local network, as it is used in the radiology department of a modern hospital, is modelled explicitly in a state of the art hybrid knowledge representation environment (KEE). Declarative rules model priority policies and other strategies used to plan, control, and optimise the transport of medical images over the network. A discrete event driven simulation of for example 24 hours activity in the hospital results in a trace of all image transports. Analysis of these traces allows to identify bottle necks in the network configuration and to evaluate the effect of a given policy or technique.

A research contract with Alcatel-Bell applies state of the art, 'second generation' expert system technology in the TROTELC project. TROTELC is a prototype of a knowledge based system for diagnosis of digital processor boards developed for one of Alcatel's production plants [14]. The system assists a human trouble-shooter. It contains descriptions of a given type of board on different levels of abstraction. A challenge in this project was to synthesise as much as possible of these models from the existing CAD data bases. The diagnostic process was modelled by a kind of reverse engineering on the test suites that are hand written by expert testers for every type of board. This allows to reuse the prototype for processor cards that will be developed in the future with a minimal effort.

System and Software Engineering

An OZR (university's research council) project continues the PhD. research of Ludo Cuypers [37,38] and focuses on the use of formal specification languages in software engineering. It is a generally accepted idea that data and behaviour are orthogonal in formal specification languages. The data component of LOTOS is not fully appreciated by the practitioners and there are also a number of critiques from a more theoretical nature. Therefore we investigated an alternative for this data component. Different candidates are evaluated. A proposal is made for a way to combine the object model of OMT (a well known object oriented analysis tool) as a data component with the behaviour component of LOTOS.

We participate in the Esprit III project INSYDE (Integrated Methods for Evolving System Design). This project investigates a methodology to map informal analysis to formal design in the context of hybrid system development. Concretely a tool chain is envisioned, starting with OMT, an object oriented analysis tool, and ending up with SDL en VHDL, two formal specification languages for software en hardware description respectively. The realisation of this tool chain must allow for completely supported analysis and design followed by validation by cosimulation using the existing SDL en VHDL simulators. Our group concentrates on the methodological aspects. We introduce OMT [42,43] a formal variant of OMT that is specially attired to describe system designs. OMT is a subset of OMT that received formal syntax and strict semantics. Guidelines are developed that help the analyst/designer to rewrite general OMT models to OMT models [44]. This is supported by the tool but not automatic because it implies taking a number of design decisions. Our group also defined the transformation rules that translate OMT to SDL.

AI research and applications

Since quite a few years, the AI research community witnessed a revival of the research on genetic algorithms, neural networks, and other machine learning techniques that come under the name sub symbolic intelligence. The PhD. research of Ann Nowé fits in here with the development of a number of fuzzy learning algorithms that are applied on control problems [26,28,29,30,31,35,36,39,40,41]. The thesis reports on an original method to build 'safe' fuzzy controllers. A reinforcement learning algorithm is used to build a fuzzy control model. This model contains information on where the safe zones are, i.e. the zones in which many control actions are available, and it contains information on how the system can be driven into these zones. The concept of safety is analysed with a number of unstable second order systems. The results show that the concept of safety incorporates stability and that the controller behaves as a sliding mode controller. Further research shows how this concept of safety can be incorporated in standard reinforcement learners, i.e. with states and actions defined in crisp terms.

The IWT (National Centre for Science and Technology) project in collaboration with Centexbel (Technical Centre for the Belgian Fabrics Industry), investigates advanced techniques for modelling production processes. The dependencies between different parameters in the production process of a fabric are not well known which poses problems for permanent quality control. The applicability of different techniques that can find complex parameter dependencies in large data sets are investigated. Besides the more traditional methods such as MLR (multiple linear regression), PLS (principal least squares), PCR (principal components regression), PLS (partial least squares), etc. more experimental techniques such as ANN (Artificial Neural Networks) and Fuzzy Modelling are tried.

Integrated System Development Methodologies

This research topic concerns integrated system development methodologies for distributed, reactive systems. In this context, bridges are investigated between object oriented analysis and design formalisms (OMT/UML style), formal specification languages (SDL-92 style), and implementation languages (C, C++, JAVA). Analysis patterns, architectural patterns and design patterns are explored to guide forward and backward mappings between different stages in the development process. This line of research starts with the Esprit III project INSYDE (Integrated Methods for Evolving System Design) were we investigated a methodology to map informal analysis to formal design in the context of hybrid system development. Concretely a tool chain is proposed, starting with OMT, an object oriented analysis tool (predecessor of UML), ending up with SDL and VHDL, two formal specification languages for software en hardware description respectively [D.Sinclair, et al. 1996]. We introduced OMT* a formal variant of OMT that is specially attired to describe system designs. Our group also defined the formal transformation rules that translate OMT* to SDL’88 and SDL’92 and prototype translators have been developed according to these specifications [Verschaeve, et al. 1996].

This line of research is continued with the PhD. research of Kurt Verschaeve in the context of the AIA project where an environment for design, implementation and documentation of components for multimedia services is investigated. A first concrete result is the multi-level component oriented methodology for service creation [Verschaeve, et al. 2000]. Iteration between system design in UML and detailed design in SDL-96 is an important generic result for this line of research [Verschaeve 1997], [Verschaeve, Ek, 1999], [Verschaeve 2001], [PhD. Verschaeve 2001].

 
about/history.txt · Last modified: 18/11/2005 08:47 by dwagelaa
 

© 2003-2010 • System and Software Engineering Lab • Submit comments and bugs to our Bugzilla or to the webmaster