The Semantic Core infrastructure defines a library of concepts that are used
in multiple languages, methodologies and architectural styles as a means of
integrating architectures expressed in those languages. The semantic core captures the meaning of the language in a way that
is independent of the syntax or notation of that language.
Please see the white paper on the
The Semantic Core is driven by a need to fully support the
OsEra strategy of architect solutions and MDA. The definition of complex
business processes, information systems and organizations is done with a variety
of tools, languages, diagrams and text. These various "forms of
expression" have overlapping concerns such that it becomes impossible to have a
consistent architecture or one that is understandable in the whole. The
clear indication is that any enterprise or large system will be defined by a
number of architectures in a number of overlapping languages, thus creating a
source for errors, excess work and conflict.
The semantic core addresses this problem by having a
library of concepts that are used to normalize the same concepts in these
multiple languages. When combined with the other parts of the OsEra
environment this provides for a consistent view of the enterprise end of
enterprise systems. Information defined in an ER model can be utilized in
a UML model, a security specification or an ontology. From an ontological
point of view, the semantic core is a reference ontology for architectures.
A robust modeling environment will integrate a number of
modeling languages, and provide scalability both for the size and complexity of
the systems being modeled and for the number of specialized areas of concern
needed to produce high quality solutions. This requires an environment and
framework in which to develop, integrate and evolve new modeling languages. We
believe semantic core provides that framework and the basic language constructs
to support these many languages.
A related initiative is “domain specific languages”,
the idea that each task needs its own language to express its specific needs.
Providing targeted expressiveness is a great goal, but doing so as another
island just causes more problems than it solves. The domains are interrelated –
an expression in the security domain is “about” an entity in the information
domain. Further, companies, agencies and applications can not be clearly
separated – many operate across multiple domains and a different language can’t
be used for each. The semantic core is intended to allow for domain specific
expressiveness while providing the semantic links between those languages.
As a result, this approach brings the following benefits to
- Integration of object,
process, ontological, business and rules models into a common paradigm.
Each of the above is represented by a “camp” that has developed their
paradigm with little interaction from the other camps. The Semantic Core
seeks to integrate this work, defining the common elements and providing
ways for unique capabilities to be added.
- Common abstractions
supporting diverse languages. An extensible set of common modeling
language abstractions are defined, to be incorporated in various languages
where they apply.
- Seamless language
extension. Existing languages may be extended with the addition of
first-class elements, not adaptations of existing elements as provided by
UML stereotypes and tagged values.
- Scalable architecture for
large system models. The system modeling framework provides for
integration of multiple languages to support multiple disciplines.
- Specification of
languages as sharable models. The modeling framework supports the
specification of modeling languages as models that can be shared between
tools and repositories the same as system models.
- Common language for
specification of languages. All languages are designed using the
meta‑language (defined by the MOF meta‑model). The common modeling
abstractions defined by this specification provide common set of terms and
meanings to be shared by all languages designed for MDA.
- Separation of concerns
with multiple languages. Each language can provide concepts designed
specifically to address a particular area of concern with the ability to
integrate models in different languages.
- Support for multiple
diagrams and specialized notations. The framework supports multiple
diagrams of the system within each language with the ability to add new or
ad hoc diagrams with specialized notations.
- Integrated model ensures
consistent views. Each language defines a consistent abstraction of the
target system and models of different viewpoint languages can be integrated
so that all views, across multiple viewpoints will provide a consistent
specification of the system being modeled.
- Support for model
transformation. The common language abstractions will facilitate
specification of transformations, and transformation specifications will be
integrated with system models.
- Shareable diagram layout
and transformation marks. The parameters that capture diagram layout
and transformation design decisions (marks) will be retained as part of the
model structure that is stored in a repository and shared with other tools.
- Support for
non-object-oriented models. Language specifications will incorporate
only those language abstractions that are relevant to the paradigm and the
viewpoint used in each model. The abstractions are fundamental concepts
and new concepts can be added as required.
- Foundation for simulation
of models. The framework provides the foundation for development of
viewpoints for simulation. Such a viewpoint extends the model elements with
simulation behavior to enable an executable model.
- Integration of domain
specific languages. To allow for the expressiveness of domain specific
languages while integrating those languages for cross-domain support.
- There is a current GSA-supported project to create a demonstration
prototype of the OsEra architecture. A prototype of the Semantic Core will
be implemented in this demonstration. It is expected that this core will be
a union of concepts contained in UML, EDOC, OWL, and the FEA.
This project is expected to complete in February 2005
- The Roadmap is currently under construction.
Related Work & Resources
The Semantic Core was initially described at a high level in the OsEra High
Level Architecture, V1
- The Semantic Core was defined at a high level in the definition of the
OsEra Software Architecture in a GSA-sponsored project
which closed in March 2005