Semantic Core

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 semantic core.

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 the industry:

  • 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.

Active SubProjects

  • 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

Roadmap

  • 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

Closed SubProjects

  • 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