Today's model-driven development approaches allow for a more productive way of developing software systems. However, building tools and languages for software development still suffer a neglect of semantics in modeling and metamodeling.
An interest to extend software languages that gained scientific and commercial attention is the integration of ontology technology and software development. Ontology formalisms for consistency validation and dynamic classification as well as ontology technologies to enable shared terminologies, automated reasoning, provide means for leveraging metamodeling and language engineering.
Check out our tutorial at SPLASH 2010 (previously OOPSLA) on Bridging Software Languages and Ontology Technologies
Showing posts with label software language. Show all posts
Showing posts with label software language. Show all posts
OWL + Ecore: Language Bridges
|
Wednesday, August 4, 2010
The figure below depicts the general architecture of a language bridge, combining software languages and ontology technologies. The bridge itself is de fined at the M3 layer, where a metametamodel like Ecore is considered and bridged with the OWL metamodel. Here we diff er between two kinds of bridges: M3 Integration Bridge and M3 Transformation Bridge.
The design of an M3 integration bridge consists mainly of identifying concepts in the Ecore metametamodel and the OWL metamodel which are combined.
The M3 Transformation Bridge allows language designers and language users to achieve representations of software languages (Metamodel/Model) in OWL. It provides the transformation of software language constructs like classes and properties into corresponding OWL constructs.
![]() |
| Language Bridge |
The M3 Transformation Bridge allows language designers and language users to achieve representations of software languages (Metamodel/Model) in OWL. It provides the transformation of software language constructs like classes and properties into corresponding OWL constructs.
Bridging Software Languages and Ontology Technologies: Tutorial at SPLASH 2010
|
Current model-driven development approaches allow for a more productive way of developing software systems. However, building tools and languages for software development still suffer a neglect of semantics in modeling and metamodeling.
An interest to strengthen semantics in modeling and metamodeling that gained scientific and commercial attention is the integration of ontology technology and software development. Ontology formalisms for consistency validation and dynamic classification as well as semantic web technologies for enabling shared terminologies and automated reasoning provide means for leveraging metamodeling and language engineering.
This tutorial on Bridging Software Languages and Ontology Technologies at SPLASH 2010 enlightens the potential of ontology and semantic web technology for modeling and metamodeling in software development, positioning it among modeling standards like UML, and MOF; and (2) illustrates ontology-enabled software development with real application scenarios in areas like software design patterns, domain-specific languages and variability management.
An interest to strengthen semantics in modeling and metamodeling that gained scientific and commercial attention is the integration of ontology technology and software development. Ontology formalisms for consistency validation and dynamic classification as well as semantic web technologies for enabling shared terminologies and automated reasoning provide means for leveraging metamodeling and language engineering.
This tutorial on Bridging Software Languages and Ontology Technologies at SPLASH 2010 enlightens the potential of ontology and semantic web technology for modeling and metamodeling in software development, positioning it among modeling standards like UML, and MOF; and (2) illustrates ontology-enabled software development with real application scenarios in areas like software design patterns, domain-specific languages and variability management.
Model Driven Engineering with Ontology Technologies
|
Ontologies constitute formal models of some aspect of the world that may be used for drawing interesting logical conclusions even for large models. Software models capture relevant characteristics of a software artifact to be developed, yet, most often these software models have no formal semantics, or the underlying (often graphical) software language varies from case to case in a way that makes it hard if not impossible to fix its semantics.
At the Reasoning Web Summer School 2010: Semantic Technologies for Software Engineering we present a lecture on the use of ontology technologies for software modeling in order to carry over advantages from ontology technologies to the software modeling domain. It will turn out that ontology-based metamodels constitute a core means for exploiting expressive ontology reasoning in the software modeling domain while remaining flexible enough to accommodate varying needs of software modelers.
At the Reasoning Web Summer School 2010: Semantic Technologies for Software Engineering we present a lecture on the use of ontology technologies for software modeling in order to carry over advantages from ontology technologies to the software modeling domain. It will turn out that ontology-based metamodels constitute a core means for exploiting expressive ontology reasoning in the software modeling domain while remaining flexible enough to accommodate varying needs of software modelers.
Ecore Models | Metamodels -> OWL Ontologies = OWLizer
|
Wednesday, July 28, 2010
We show how to use TwoUse's OWLizer to transform Ecore Models and Metamodels into OWL ontologies. In this example, the UML class diagram model elements are transformed into OWL individuals of the UML ontology and the UML metamodel classes are transformed into OWL classes.
OWLizer = Software Languages -> OWL Ontologies Part II
|
Thursday, May 27, 2010
The OWLizer transforms software language (Ecore Metamodel/Model) into OWL ontologies. In the following we present an extension of this simple model transformation approach. It is extended by transforming specific EAnnotations to specific OWL constructs. For example by annotating elements in the metamodel with „#Class“- as well as „#ObjectProperty“, EClassifiers and EReferences can be marked as appropriate OWL -Entities. Starting at the „#Class“-EAnnotation, further OWL-Classaxioms can be annotated, that means, by creating further nested EAnnotations.
An example is given in the following:

Here the OWLizer transforming the metamodel (depicted in figure 1) would result the following OWL ontology axioms and class expressions. EquivalentClasses(Cisco7603 ObjectMinCardinality(1 hasConfiguration. Configuration7603)).
Here the OWLizer is able to interpret the annotations and creates corresponding axioms in ontology (e.g. #ObjectMinCardinality means the creation of the corresponding class expressions in the ontology; #EquivalentClasses means the creation of the corresponding axiom).
In general we have built an annotation profile for annotating Ecore-based metamodels. The metamodel itself and in addition its annotations are transformed to a pure ontology by the OWLizer . Thus we extended the expressivity of the Ecore metamodeling language to a new comprehensive approach that combines standard metamodeling with using ontology-based expressions and axioms in an integrated manner.
An example is given in the following:

Here the OWLizer transforming the metamodel (depicted in figure 1) would result the following OWL ontology axioms and class expressions. EquivalentClasses(Cisco7603 ObjectMinCardinality(1 hasConfiguration. Configuration7603)).
Here the OWLizer is able to interpret the annotations and creates corresponding axioms in ontology (e.g. #ObjectMinCardinality means the creation of the corresponding class expressions in the ontology; #EquivalentClasses means the creation of the corresponding axiom).
In general we have built an annotation profile for annotating Ecore-based metamodels. The metamodel itself and in addition its annotations are transformed to a pure ontology by the OWLizer . Thus we extended the expressivity of the Ecore metamodeling language to a new comprehensive approach that combines standard metamodeling with using ontology-based expressions and axioms in an integrated manner.
OWLizer: Software Languages -> OWL ontologies Part I
|
Monday, March 29, 2010
Software development consists of multiple phases, from inception to production. During each software development phase, developers and other actors generate many artifacts, eg. documents, models, diagrams, code, tests and bug reports. Although some of these artifacts are integrated, they are usually handled as islands inside the software development process.
Many of these artifacts (graphical or textual) are written using a structured language, which has a defined grammar. In a model-driven environment, concepts of software languages are represented by metamodels, whereas the artifacts written in those software languages are represented by models, which are described by the language metamodel. Thus, by transforming software metamodels and models into OWL and by aligning the OWL ontologies corresponding to software languages, we are able to link multiple data sources of a software development process, creating a linked-data repository for software development.
Let us consider an example of integrating two data sources: UML diagrams and Java Code. Regardless of generating Java code from UML diagrams, developers would like to have a consistent view of corresponding classes and methods in UML and Java, i.e., developers might want to consult UML diagrams looking for a corresponding Java class. In this scenario, OWL and ontology technologies play an important role.
Fig. 1 depicts the usage of M3 transformations together with ontology technologies [1]. UML metamodel and model as well as Java grammar (metamodel) and java code (model) are transformed into OWL ontologies. Ontology alignment techniques [] might identify some concepts in common between the two ontologies (UML and Java), e.g., package, class, method. Moreover, individuals with the same name in these two ontologies are likely the same.
Once the two ontologies are aligned, queries against the Java ontology also retrieve elements defined in UML diagrams. Now it is possible to retrieve sequence diagrams including a given Java class, since the two artifacts (UML diagrams and Java code) are now linked. This is only one example of the great potential provided by linking software engineering artifacts using OWL technologies.
[1] Gröner, G., Silva Parreiras, F., Staab, S., Walter, T.: Software Modeling Using Ontology Technologies. In: Rudi Studer - A Review on Semantic Web Research. Springer Verlag (2011)
Many of these artifacts (graphical or textual) are written using a structured language, which has a defined grammar. In a model-driven environment, concepts of software languages are represented by metamodels, whereas the artifacts written in those software languages are represented by models, which are described by the language metamodel. Thus, by transforming software metamodels and models into OWL and by aligning the OWL ontologies corresponding to software languages, we are able to link multiple data sources of a software development process, creating a linked-data repository for software development.
Let us consider an example of integrating two data sources: UML diagrams and Java Code. Regardless of generating Java code from UML diagrams, developers would like to have a consistent view of corresponding classes and methods in UML and Java, i.e., developers might want to consult UML diagrams looking for a corresponding Java class. In this scenario, OWL and ontology technologies play an important role.
Fig. 1 depicts the usage of M3 transformations together with ontology technologies [1]. UML metamodel and model as well as Java grammar (metamodel) and java code (model) are transformed into OWL ontologies. Ontology alignment techniques [] might identify some concepts in common between the two ontologies (UML and Java), e.g., package, class, method. Moreover, individuals with the same name in these two ontologies are likely the same.
Once the two ontologies are aligned, queries against the Java ontology also retrieve elements defined in UML diagrams. Now it is possible to retrieve sequence diagrams including a given Java class, since the two artifacts (UML diagrams and Java code) are now linked. This is only one example of the great potential provided by linking software engineering artifacts using OWL technologies.
[1] Gröner, G., Silva Parreiras, F., Staab, S., Walter, T.: Software Modeling Using Ontology Technologies. In: Rudi Studer - A Review on Semantic Web Research. Springer Verlag (2011)
Subscribe to:
Posts (Atom)

