Software Engineering

Marc Anderssen has famously said "Software is eating the world". Which in turn begs the question as to how all that software is going to come into being. The popular and almost universal meme is that everybody will learn to program. With mass production of commoditised goods, we have already seen that quality is only going to detoriate even further. Not that present software can claim to be paragons of convenience, reliability, security and high levels of privacy.

Major corporations like Airbus, Boeing, Daimler Benz, Ericcson, General Motors, Saab, Volvo, and many, many others, have already addressed the problems of software engineering and try keep their methods proprietary.

My recent research at the University of Sydney and in collaboration with engineers, both from academia and industry, allows me to bring to my clients the same game changing methods that are enjoyed by the corporations who do not end up being eaten by the uncontrolled software development demons.

Model Based Software Engineering

In other engineering disciplines, engineers use a range of models to analyse and simulate the artefacts being designed. Experience with these methodologies leads to consistent and dependable completion of projects. In recent years comparable methodologies have emerged in the software engineering field. MBSE (model based software engineering) is also known as MDE (model driven engineering) and MDD (model driven development).

Regardless of which acronymn is being used, the key concept is that by creating models with any one of the many toolsets available, it becomes feasible to execute specifications and models. With many of the tools it is also possible to automatically generate substantial, if not all, parts of working software as designed.

Domain Specific Languages

One key aspect of MBSE practice is to communicate with the various stakeholders in the language of their specialisation. DSLs (domain specific languages) are defined to enable the various parties to contribute and review project design and specifications in familiar and specific terms. In turn, models may be created based on the specifications expressed using DSLs and further processed using MBSE tooling.

Our Services

We provide a range of services to assist our clients with optimising the benefits of up to date software engineering knowledge, methodologies and practice: