Concepts

Generative – intentional – is it all just a ritual?

Certainly not. Presently, there are many buzz-words in software development; it’s getting harder and harder to distinguish them from one another and from older terms. To give an example, the methodological-organizational approach of XP (eXtreme Programming) or "agile" software development should be mentioned here.

But not all new terms are so fuzzy. Indeed, there are several terms in the area of software development and programming that deserve a closer look. For Delta Software Technology, "Generative Programming" (GP) and "Intentional Programming" (IP) are central concepts. Another recurring topic in the development of generators is "Aspect-Oriented Programming" (AOP).

When is the use of generators generative?

Generative Programming focuses on developing software system families. The core of this approach is summarized by the so-called generative domain model. The information of an application domain, supplemented with configuration knowledge, is mapped at the level of implementation – also known as the "solution space". This mapping process is automated and is performed by generators. Using generators in this way is a clear case of generative programming.

 

With the ANGIE frame-based generator technology and the tool Pattern By Example, which is based on ANGIE, Delta Software Technology provides the technical basis to actually realize generative programming.

ANGIE did far more than just scientifically prove that it was useful for GP in a comprehensive technology evaluation: the crucial seal of quality in the real world came from the successful use of this technology as a part of Delta's SCORE Adaptive Bridges product where it has been used in projects to develop system families.

Powered By ANGIE

 

How to develop "intentionally"?

The goal of intentional programming is to combine the two levels of software design and implementation. Ideally, a program will be identical to its design, while the latter is only one particular view of the program.

The key goal of IP is thus to offer different views of a program representing different abstractions. These views (also called "renderings") are, however, technically equivalent. In other words, you can manipulate all views so that the program immediately changes accordingly.

The design is thus not just a preliminary tool; it’s the flip side of the same program.

Graphical, semi-graphical and textual rendering with HyperSenses technology

Graphical, semi-graphical and textual rendering with HyperSenses technology

Based on the successful Pattern By Example tool and the ANGIE frame-based generator technology, Delta Software Technology has developed the brand-new HyperSenses technology to put intentional programming into practice.