Every company has unique business knowledge that makes them competitive and it is the primary source for productivity and innovation. But turning knowledge into software has become a bottleneck. Intentional removes this bottleneck using a new approach: business professionals put their knowledge into a Knowledge Workbench so that it can be turned into various work products, including running software. A Knowledge Workbench uses a set of integrated domain languages that are chosen by the user to express their knowledge. The users embody their knowledge using the domain languages which are optimized for the domain at hand. The use of spreadsheets shows that when we give business professionals a structured and effective domain language for computation, they will be very creative in turning their specialized expertise into software leading to accelerated productivity and innovation for their organizations.
Businesses invest a great deal of time and expense developing software and other work products. But all too often the knowledge and insights gained disappear into the details of the code or at best only exist in documents with slender ties to the actual software. Another name for this latent value is the intent behind the software. Intentional captures this knowledge that is usually lost. All stakeholders – programmers, domain experts and others – can have their intent clearly represented. This increases the quality and value of the knowledge, and making it easier to develop, maintain and change.
A Knowledge Example
Knowledge is normally captured in documents intended for human readers. As an example, the aircraft procedures manual to the right captures knowledge of how to perform aircraft maintenance. To use this knowledge, a technician has to read and understand it. In this case, a technician will need to perform the steps in order and compare the data in the tables to the actual measurements on the aircraft.
This documented knowledge can be expressed in a Procedures Manual Knowledge Workbench. The knowledge would be expressed using a domain language for maintenance procedures, see screenshot.
This knowledge can now be processed and turned into various electronic work products. One work product can be the original document for human consumption. But also other work products can be produced that facilitates and automates the use of this knowledge. From the knowledge, we can generate software applications. Below is an example of such and application that was fully generated from the recorded knowledge above. Note that the knowledge is now being operational by having the test values evaluated against the knowledge in the maintenance manual. Tests with visual feedback, red/green in this case, gives a technician direct feedback instead of making this comparison manually on a paper with no feedback .
This maintenance application could of course be developed in a traditional way, but issues with changes would arise. Whenever the instructions or data are updated, the application would need to be updated manually. Furthermore, to verify the correctness of the application with respect to the knowledge require manual efforts. By using a knowledge workbench instead, the updates are automatic and the application is correct-by-construction.
Knowledge processing is transforming the way knowledge products are created, leading to accelerated business innovation. To view a case study of an Intentional knowledge workbench in practice, review the case study.
The key benefits of the Intentional approach includes:
- Knowledge experts participate directly in the design and maintenance of accurate and detailed knowledge.
- Generation of multiple accurate work products and applications.
- No inherent limitation on the number of platforms for generated applications from the same knowledge source.
- Rapid implementation of changes to domain knowledge e.g. updates, enhancements and extensions.
- Customization to different markets/customers at low cost.