4 April 2022
About the usefulness of Normalized Systems and the importance of a meta-circular development strategy

As the SAFIR-MED project is a collaborative innovation and an innovative collaboration with many partners, the success of the project is heavily relying on the correct implementation and the flawless integration of several IT-systems. The use of Normalized Systems (NS) Theory and adhering NS tooling has been introduced from the start of the project in order to handle the challenges that arise when coping with continuous change and innovation. In an innovative setting and in a very competitive environment, it is important to put evolvability requirements at the center of the design.

Obtaining agility at the IT level is challenging and consistently ranked as one of the top 3 organizational IT management concerns. However, the amount of information systems research directed towards the creation of evolvable systems is marginal: most research is exclusively directed towards the initial phases of the IS development life cycle whereas the majority of the costs for building and maintaining systems is situated in the later phases.

NS Theory attempts to create highly evolvable software systems and artefacts by proposing a set of theorems which are formally proven to be necessary conditions to obtain evolvability. The theory exhibits several appealing and unique characteristics for tackling the agility challenge: (1) it is grounded in concepts from systems theory, (2) the derived theorems provide specific programming guidance while unifying multiple software design best practices, and (3)it has proven its feasibility in practice by multiple implementations for different types of systems in industry.

In order to comply consistently to the NS theorems and to do so in an economically viable way, NSX, an official spin-off of the University of Antwerp (UA), has built and commercialized tooling. This toolset consists of a fully equipped development environment (the ‘NS Prime Radiant’) and a set of NS compliant code generators (the ‘NS Expanders’). The automated generation of code is a widely adopted technique to improve the productivity of computer programming. NS, however, aims to create software systems exhibiting a proven degree of evolvability and does not focus solely on productivity.

A software implementation, consider the case of the Helicus Command and Control system (C2C), is constructed as a NS skeleton, based on automatic code generation, taking charge of the many crosscutting concerns. The skeleton is always made specific with some ‘craftings’ (about 5% of the final application), that can be managed separately, and thus without ripple effects from the skeleton. The skeleton of the application (about 95% of the application) reflects proven evolvability according to NS Theory and can therefore be continuously regenerated along several dimensions of change, both functional and technical. This systematic rejuvenation of the application also implies the structured harvesting and re-injecting of the beforementioned craftings.

The C2C, being a NS compliant application and integration platform, is highly evolvable and very predictable under change. Some of the changes are functional and technical changes within the integrated versions and variants of the technologies used by the partners and stakeholders of the SAFIR-MED project. Some of the relevant changes are the(ir) crosscutting concerns. Both types of changes can and will require changes in the NS Expanders themselves. That is why these tools, being code themselves, also need to be evolvable according to the NS Theory. This calls for the establishment of meta-circular characteristics and a meta-circular approach of the NS tooling. In more comprehensive terms: the NS Expanders can regenerate and rejuvenate themselves.