The VIDE-Story

My name is Grzegorz Falda. I am a programmer and researcher based in Warsaw. I am the author of the concept for the VIDE project and the main author of the proposal. Let me say how the project has emerged - in other words: Let me tell you the VIDE story ...

The problems with the development of data intense applications

During my industrial career as a designer and programmer, I worked a lot upon the design and development of data intense applications: both as a member of a team in a company and as an independent consultant working in a team with my customers. The fields we worked upon covered medicine, trade, transport and insurance.

During my work I realized, that the tools we were working with could be much better than they are, i.e. they should enable faster and more reliable development and should provide a basis for a common understanding of the system by the individuals involved: analysts, designers, programmers, specific domain experts, end users and testers. We experienced a lot of cases of evolving business rules and regulations. The applications must evolve with them. Without a proper understanding of the system by its stakeholders this evolution is hardly possible. The consequences may be disastrous. I saw the company that went bankrupt because it could not revitalize its core system since the main programmer has left the business and he was the last who understood the code.

Me and my team members used both CASE tools and Rapid Application Development (RAD) tools. I focused especially on the improvement of the latter ones.

RAD tools promise the development based upon:

I thought that there is especially a lot to be invented in area of code creation. It seemed that RAD tools made a progress here: Much of the code has been generated automatically - especially from points 1-3 above. I loved it. It was 70% of the code or so. But then I realized that specifying the remaining 30% of code took 70% of my time. What was the progress, I asked myself. Before RAD tools, I spent 100% of my programming-time in hand coding, now it is 70%. And this is not much less than 100% !

Clearly I was faster with RAD tools, I could now deliver data structure definitions, end user screens, printouts and events visually, hence twice as fast or even faster but I still spent most of my programming-time on time-consuming and error-prone hand coding. The big problem was that though my end users wanted to help me to make the best software possible, but were not able to follow my code, though this would be so helpful in many places. But the code was long, textual, it simply had no visual representation.

The birth of the concept

I realized that the proper understanding of the system could be supported by visual representation of the system code. I came to a conclusion, that a new language should be developed, to visually cover the logic of data intense applications - not only the design of data structures, end user screens, printouts and events. I investigated table-driven programming, which offers an interactive specification of the whole application logic without textual code and with a very strong contextual type checking. I loved it, but I saw that my users do not follow me. They were not able to see the code in the tables. Moreover, the tables were also a problem for me. The code in the tables was not visual, it even did not have a textual representation. Creating the code was a breeze, but I had serious problems with understanding and extending the code, when it became larger.

The design of the VIDE language follows the above mentioned experiences. The highlights of VIDE are:

The VIDE proposal

OK, let's stop with technical stuff, let's go to the VIDE proposal. Until end of the year 2003, I did not even know that the European Framework Programme exist. But fortunately, the Polish Innovation Relay Centre has contacted me. They found my insurance software via the Web and found it innovative. During discussions, they told me that applying to FP6 is the correct way to go with VIDE.

I was very happy when I saw that the "software and services" objective of FP6 seemed to be something designed for cases like my idea of the VIDE language. I started to spread the information about VIDE to potential partners. I found the IDEAL-IST Web site and the annual CeBIT event especially valuable to support my activities. I found many strong partners, both form research and industry, who found the VIDE idea valuable. During discussions with partners we saw, that VIDE has natural touching points to areas like business process modelling, aspect oriented programming, quality assurance, visual user interfaces and more. The partners contributed a lot of fresh ideas to the VIDE proposal.

Possibly the most important conclusion was when I realized, that VIDE fits to be a platform-independent action language, as specified by the OMG within the Model Driven Architecture (MDA) concept. And there is really a lot to do with data intense applications within MDA, since it focused so far rather upon real-time and embedded systems. We also see now that work is required to converge VIDE to existent industrial standard specifications, like activity diagrams and the OCL language. The VIDE proposal succeeded in attempt 2 and the VIDE project has started in the middle of 2006. Several work packages cover fascinating areas and aim at extending the original concept so much.

The VIDE project strategic goals

The project focuses on UML (Unified Modeling Language), since UML is an accepted standard for application modelling and modelling gives a natural foundation for development. Although UML is a visual language, it lacks visual means for specifying the logic of data intense business applications. Hence:

The VIDE vision

To enable the development of flexible, robust and evolvable software based on UML: Build a fully visual action programming platform, aimed especially at data-intense business applications offering:

This will enable the next generation of software to be supported by high - level development method in the context of UML.

The core technologies of VIDE

The VIDE vision leads to contribution to MDA (Model Driven Architecture), since MDA is the leading architecture on model-based programming. Within MDA, the VIDE vision leads to Executable UML, because:

The project will incorporate important software development approaches, namely AOC (Aspect Oriented Composition) and QA (Quality Assurance), since these technologies have a potential to be moved to the platform-independent level to become even more powerful and general. Moreover, VIDE will apply the methodology of creation prototypes based on CIMs (Computation Independent Models), which are a natural basis for creating applications supporting the business processes described by the CIMs.

Well, this is the VIDE story or rather its beginning. The future will provide new chapters ...

Grzegorz Falda

Polish Japanese Institute of Information Technology