Software Development for
"The hardest part of the software task is arriving at a complete and consistent specification.
Much of the essence of building a program is in fact the debugging of the specification."
Fred Brooks: No Silver Bullet—Essence and accident in software engineering, 1986
To take this challenge head on, ODASE introduces, between the client and IT, an executable business model made of an ontology combined with logical business rules.
We call this Ontology-Centric software development.
SOLVES THE BUSINESS-IT GAP
Everything in IT up till now has been about technology first and business a distant second, letting wide open the Business – IT gap.
ODASE, a next-generation software development platform based on semantic technologies – ontologies, logical rules and knowledge graphs – is different. It is explicitly and directly about the core of your business, to close once and for all the Business – IT gap. It is business technology by excellence in harmony with IT technologies.
ADAPTS RAPIDLY TO A CHANGING WORLD
The real world is complex and changing: you need a software solution that copes with that complexity and adapts rapidly to changes. ODASE does this for you.
Speed is increasingly important in software development. Developers are under pressure to produce high-quality code quickly to fulfil contracts, acquire new or retain existing customers, and stay competitive.
Time to market contributes to overall business success. Quality is critical and cannot be compromised. Sadly, with conventional software development, one often comes at the expense of the other.
ODASE 1) dramatically reduces development time, for complex mission-critical applications; 2) easily adapts to reflect the frequent and unpredictable business or technical changes that represent the new norm.
DOES EXACTLY WHAT THE BUSINESS EXPECTS
The most important function software builders do for clients is the iterative extraction and refinement of what is expected and required (specifications). No other activity adversely effects the resulting system if done wrong. No other activity is harder to rectify later.
The result of this extraction is generally a set of documents. Unfortunately, these documents cannot be tested and therefore, not validated. Additionally, whilst customers have a general understanding of what they need, they likely never thought of the problem in sufficient details to build a software program.
Hence "The hardest part of the software task is arriving at a complete and consistent specification. Much of the essence of building a program is in fact the debugging of the specification." Fred Brooks, No Silver Bullet — Essence and accident in software engineering.
To tackle this head on, ODASE is based on 'ontology-centric software development': an executable business model combining an ontology with logical business rules that bridge the Business - IT gap.
The ontology is tested and explained, so that the Business deepens its understanding and can propose changes that are implemented with ease. The ontology is a 'glass box' understandable to the Business. All conceptual bugs, hard to find and fix in programs, are detected and fixed before the first line of executable code is written. The ontology is a documentation of the application and always up-to-date because it drives application..
FLEXIBLE IT ARCHITECTURE
With ODASE, the ontology is not used as a reference for writing the application by hand. Instead, the application is automatically generated from the ontology. This generated code invokes the inference engines at the heart of ODASE to execute the rules defined in the ontology.
These rules are purely declarative, which means they do not need to be executed in any particular order: each rule can be changed independently, without any impact on other rules.
Manual code is only needed for those parts of the application not covered by the ontology (because the ontology must be kept 'clean'), such as technical integration with outside systems, e.g. REST. A typical services controller is around 100 lines of code. This has a dramatic effect on development speed, quality, cost, agility and flexibility.