MDA
Made up of UML, MOF, CWM at it's core, with XML, .NET, Java, Web, CORBA layered on top of it.
Shift from platform to interoperation based around agreement on abstract models. Model entirely separate to any concrete technology or standard.
State of Modelling
UML
Lack of support for axioms -- constraints on operations and data -- Meyer's assertions.
Unit transforms: operation on ADT generates further ADT as result. v. fine grained.
Example: UML-XML-RDF
RDFS has analogs to OO inheritance features.
New Techniques
"Ontology first modelling" -- formalization of the ontology is proposed as basis for MDA, rather than UML or XMI interchange.
Transparent data (ontology) + Axioms + Triggers. No data hiding, protect data using axioms.
Dynamic classifications -- "anything with 3 points is a triangle" -- can be done in DAML+OIL. No need to type decorate the instances with that data.
Declarative, extensible, and better separated from impl. details.
Need to be able to declare axioms, and then enforce them statically and dynamically in the application. Static types are only one kind of axiom, and shouldn't have special standing.
Operations can be treated as triggers. E.g. triggered by use case definitions, changes in data, external events, exception handling. Operate on current state of the ontology.
Event triggers are modelled in the ontology, e.g. "button"
Use extensions 'dcl' to declare operations, parameters, and return results.
