This goal is ambitious but gradually, these ideas find their application in industrial systems. The system Versata is such a system. Versata is a 4th generation language that uses declarative programming techniques to capture the business logic of an application as business rules. For example, the following expression specifies how to calculate a customer's account balance:
From these declarative rules, Versata figures out the how - what attributes and objects are needed to calculate the account balance based on the expression, how to get these values, in what order to get them, how to optimize the execution for best performance, and the dependencies to these attributes and objects. Transaction rules are compiled into reusable Java components and executed within the Transaction Logic Engine.
The goal of this thesis is to analyse the advantages and disadvantages of Versata in the context of an administrative application. The application will be in the domain of management of student grants here at the ULB. The thesis is in cooperation with the service de l'Informatique Administrative à l'ULB. In a first phase, the student(s) will familiarize with Versata and investigate the application to be implemented. In a second phase, a rapid prototype of the system must be implemented using Versata. In the third phase, the results of this experience will be analysed. This analysis can be done from different perspectives. One possibility is to compare the declarative rules in Versata with logic based approaches to knowledge representation and specification, for example using temporal logic theories. Another possibility would be to take a typical software engineering perspective and investigate aspects such as the role of UML specification in the context of Versata, the integration of legacy code, a comparison between development in Versata and in Java, etc..
This topic is suitable for two thesis students.