|
Structure Requirements
- Separation of Concerns:Knowledge Architecture tools should support concepts defined in such a way that they
are easily reusable and composable for use in target languages. The underlying infrastructure
should provide for this abstraction and it should then be a well segmented and abstracted
model demonstrating separation of concerns
- Decoupled:Knowledge Architecture tools should decouple model and view notations so that models
can be defined using different notations than is selected in projecting views. As
well as the projecting model to views “front-end” functionality should be decoupled
from the modeling “back-end” (e.g. transformation engine, repository, data integration)
- Layered:Knowledge Architecture tools should be structured, modular, and layered (e.g. MVC
architecture is recommended). Logical layers should minimally separate semantics,
notation, UI, transform, and persistence
- Concept Library:Knowledge Architecture tools should provide contain a set of modeling concepts that
are designed to be used together and projected onto different languages or notations.
The integrated concept library should not be monolithic in that languages should only
have to “see” those concepts that are meaningful in that language/notation. Concepts
and their representations (e.g. notations) are be decoupled and the set of "specified"
concepts and notations are expected to grow over time
- Tight Integrated Core:Knowledge Architecture tools should support a tightly integrated modeling component
core, used to express, and has the building blocks, for the larger set of concepts,
defined and fully grounded with formal semantics. This core should provide for a larger
set of concepts that have the capabilities described above and below.
- More than Meta:Knowledge Architecture tools should far exceed current meta-modeling capabilities
to support projecting concepts for different languages or notations, supporting the
ability to cover many, if not all, concepts, including those found in UML, BPMN, SBVR
and other modeling languages, dialects, and applications
- Federated:Knowledge Architecture tools should support that information from different tools,
languages, and organizations can be federated and integrated to be mutually supportive,
taking advantage of the “network effect”, globally. Integration should be supported
using dynamic web-based techniques (direct reference of published model assets) as
well as the “model interchange” paradigm mostly used today.
|