Highly conceptual initial idea/brainstorm

Traditional development cycle is more or less:

  1. Define requirement (textual)
  2. Define/implement data model (typical ER-like)
  3. Define/implement business logic (.NET/Java or similar OO-languages)
  4. Implement user interface to logic (.NET/Java etc)

Number 2 and 3 are basically about defining an ontology with constraints, properties, relations and alike. Why is this so technology specific? Why not engineer an ontology to be a main driver for the business intelligence? Proposed cycle:

  1. Elaborate requirement
  2. Build full reason ontology
  3. "Run" the ontology in a reasoner
    1. Implements/extracts data model into DB
    2. Implements/extracts as much logic as possible in an OO-language
  4. Implement additional logic
  5. Implement the user interface

The main benefit is that the ontology is the main business intelligence - abstracting away technology specific constraints (such as; "can not define this in that DBMS")