When Annie Jovitha Arulanandam started working for ICT Group in 2017, she had more than five years of professional experience in the traditional way of software development. “That means creating lots of code that you often have to rewrite again and again,” she says. Through ICT Group she was introduced to Festa, a company that has created a tool to build high level control logic using a Model Driven Engineering approach. She enrolled in a training assignment to experience the Festa framework first hand, which meant learning a completely new way of developing software.
Multiple users in one system
The assignment involved a mock project to design software for an Air Traffic Control system. In this system, airlines make Air Transport Requests (ATRs) for flights to and from European airports. For each ATR the airline specifies the origin and destination airports, the number of passengers and/or the total weight of the cargo. This request is then sent to an executive that approves or rejects the air traffic request. Since the system involves multiple users, each with different actions, it is an excellent example of the type of high-level control logic the Festa Engine is designed for.
Working with models
Annie had to program all these actions into the software. In line with the Model Driven Engineering approach, the Festa Engine uses graphical models, designed by a domain expert, which represents a functional overview of the software and its requirements. From these functional models Annie had to create an implementation model. She used Unified Modeling Languages (UMLs) to form the data service layer, security and authentication. For Annie, working with models was completely new. “First it was challenging, but when I got used to it, it was fun. I had to design at an abstract level and work with graphical representations. I was working with Unified Modeling Languages, which made me understand the application more clearly.” Using models also made the communication with the other stakeholders smoother, Annie found. “The models represent a language that both the domain expert and the software engineer understand. You graphically see what is required. Whereas traditional requirements in text form are much harder to understand.”
“If an application could be done in the Model Driven Engineering way, I would do it. The benefits are plenty.”
Error proof coding
After the models were completed, Annie was able to create perfect code with one press of a button. It saved a lot of painstaking coding work. “Previously, I always had to be alert about not making manual coding mistakes. Since the model generates the code, it’s one hundred percent error proof.” Learning the Festa Engine and its Model Driven Engineering approach was easier than she thought. “It’s just a different mode of thinking. First I had to think deeply about how the application was going to work. When that was sorted out, I was able to design the models.”
Annie says she has become a true believer in the Model Driven Engineering approach. “If an application could be done in the Model Driven Engineering way, I would do it. The benefits are plenty. You have a better understanding of the application, changes are easier to implement and the development process is easier to grasp, both for the domain expert and the software engineer.”
Case study Softwareport: the three musketeers of a Model Driven Integrated Solution Softwareport provides a software development platform that combines high-level control, embedded software and virtual prototyping into one integrative solution. The Softwareport is a joint venture of three software companies – Cordis, Festa Solutions and Unit040 – that uses a Model Driven Engineering approach, saving time, costs and programming headaches.