Mission Critical IT - Ontology Driven Development process
The Business-IT gap
When developing business software there is often a gap between what the business experts want and what IT thinks they want. Projects are often incompletely and informally specified and subject to frequent requirement changes. This leads to a “Business-IT gap”. This gap makes it difficult for IT to give reasonable time and cost estimates for the project. This problem is compounded as requirements inevitably change over time.
The Business-IT gap can be bridged by describing the business knowledge in a formal language that is both understandable by the business experts and consumable by computer programs.
Ontology driven architecture
- The business problem is described in a precise manner, in collaboration with the domain experts, in an ontology which defines the concepts, rules and processes of the domain. The quality (precision, completeness, readability) of this type of description is superior to the other techniques for requirements analysis because it is based on formal logic.
- Thanks to “robots”, a large fraction of the system (> 80%) is generated automatically from the ontology, in such a way that the ontology and the system based on it are perfectly aligned.
- The IT software engineers then develop the remaining part of the system (< 20%), focusing on performance and scalability, taking into account the target architecture (e.g. SOA) and the constraints of the deployment (DB, middleware, OS…).
- The construction of the application combines several reusable modules (“engines”) which are independent of the application (inference engines, rule engines, process management engine…).
- The combination of automatic code generation and the use of generic “engines” reduces hand-written coding by 90% (in comparison with conventional developments) and strongly augments the quality and flexibility of the application being developed; it also reduces cost and time dramatically.
- When business requirements change, the ontology is modified, code is regenerated automatically, and the software developers need only to adapt - if necessary - the manually written parts, helped by the compiler of the target language that will flag any problematic changes.
- When technology changes are necessary (new target architecture, new versions of a technology component), the ontology remains the same and only the manually written parts are updated to satisfy the changes: the functioning of the application remains the same.
The robots and their engines using this approach are part of the ODASE™ suite.
By using a rigorous development approach supported by the principles of formal logic, the quality and flexibility of the application, as well as the predictability of its development are greatly increased.
Domain experts and knowledge engineers create and change the ontology using one of the many ontology editors, e.g. Protégé, that are available thanks to the Semantic Web ecosystem.
Ontology driven: single point of business definition
Thanks to the ODASE™ approach, the complete business knowledge (concepts, rules and processes) is defined in one single spot: the ontology.
The ontology is then exploited in order to test and validate the knowledge, generate business and IT documentation and also generate the application.