Guest Lecture at the Norwegian University of Science and Technology (NTNU)

 

The presentation and screen capture videos below are from a guest lecture for course TDT4250 Model-driven Development of Information Systems held by Genus AS at NTNU, Trondheim, Norway, August 30th, 2013, with Professor John Krogstie, Department of Computer and Information Science, as course responsible.

 

Please note: Following the lecture, we have added a commentary sound track to the videos using non-professional recording equipment, so the sound quality may be variable.

The lecture had a duration of 45 minutes, and was basically divided in three parts. The main part was the demo (the screen capture videos below), to give an idea on how a model-driven tool is used in large software applications. The first part, however, was a fast-forward introduction to facts about Genus AS and some of our customers, plus a brief introduction to the "building blocks" of our technology. After the demo, we tried to share some of our experience on modeling, both on a "modeling level" and "meta-modeling level".

This video gives a less-than-a-minute overview of Genus Studio, which is the tool used by modelers to create, maintain and deploy applications (or application models as we call it). Genus Studio mainly consists of the three layers; Data, Logic and User Interface (as also visualized on pages 15 to 17 in the slides).

Creating and connecting Object Class drafts in the Genus Studio diagram editor. The drafts are forward engineered to SQL scripts (DDL statements), created in the database and then reversed engineered. The reason for dividing such a process in two steps, is the need to draft Object Classes for several iterations without keeping the database table and property structure synchronized.

Creating a simple task for calculating the age of a person based on date of birth. The task will be connected to the user interface in the next video below. We also highlight parts of one of our more complex tasks (122 steps).

Creating a Genus Desktop Table (listing persons) and a Form (displaying person details) using the data structure and task defined in the previous two videos. The Table and Form are deployed as part of the application model. The Genus Desktop (runtime/interpreter) for Microsoft Windows is started to briefly display the final result as it appears for the end user.

This demo shows a selection of User Interface controls in Genus Desktop. The demo is based on the Anti-Money Laundering system for the Republic of Macedonia, and has been approved by the Financial Intelligence Office, Ministry of Finance, Republic of Macedonia. The demo starts out by walking through the main form (screen) for suspicious transaction case analysis, followed by viewing and editing the network of involved objects (transactions, persons, companies etc) graphically. A Treemap control is then opened to visualize in- and outgoing transaction sizes. A Gantt control shows how to plan case activites (named Tasks in this specific application model). A chart control is used to display a dashboard of charts. Finally, just for the fun of it, we show retrieving data from an external REST web service feeding the user interface, in this case weather data from yr.no. Modeling (setting up) the last example took less than 5 minutes.

Creating an app in Genus Studio for displaying a list of persons and person details on a tablet. The app is made by adding two extra views to the Form created in the user interface video above. The end result is displayed on an iPad.