27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

within the umlTUowl prototype because these elements have<br />

not been used by CDL-Flex customers and engineers in the<br />

past years and also may not be important for the populace<br />

of UML modelers outside CDL-Flex projects. Other reasons<br />

are that some elements are hard to implement because they<br />

can’t be expressed naturally in OWL. For instance, how can<br />

someone express a class operation such as<br />

, without introducing additional semantics?<br />

However, this case is not relevant for the CDL-Flex.<br />

The tool should be seen as a recommendation as well. It<br />

attempts to suggest, which informations should be provided<br />

when publishing an UML transformation tool, based on the<br />

experiences collected during the evaluation phase.<br />

B. Software Architecture<br />

umlTUowl naturally accepts UML diagrams in the specified<br />

XMI format. As illustrated in figure 1, at first the XML/XMI<br />

files are loaded into memory. Depending on the XMI inputformat<br />

a particular converter is selected, which transforms the<br />

UML model into a simplified meta model ( ).<br />

The meta model basically consists of modules that represent<br />

and facilitate all relevant UML model elements in a convenient<br />

way. It has been defined analogue to Eclipse MOF, Netbeans<br />

MDR or as discussed in [9]. The usage of a meta model<br />

has numerous benefits. On the one hand, decoupling of XMI<br />

parsing process (<br />

) and OWL serialization<br />

( ) eases the adoption of additional converters<br />

(e.g. Poseidon XMI format or even ER-diagram conversion)<br />

and enables automated testing approaches. On the other<br />

hand, a meta model can facilitate access to specific meta<br />

data elements, which implies that searching, manipulating<br />

and referencing of entities is much more comfortable than<br />

directly accessing XML. This advantage is also leveraged by<br />

the<br />

component, which ensures that all classes,<br />

attributes and associations are labeled with a unique and OWL<br />

2 DL compatible name, before they are finally serialized into<br />

an OWL 2 DL ontology utilizing the OWL API by University<br />

of Manchester (OWL API). Decoupling of input (parsing) and<br />

output (serialization) process furthermore has the advantage<br />

that not only the parser might be replaced, but also the OWL<br />

serialization component.<br />

Fig. 1: Workflow and software architecture of umlTUowl<br />

1) Harmonizer: The harmonizer component ensures the<br />

uniqueness of element names and prepares them for the<br />

OWL export. According to the configured strategy all entity<br />

names in the meta model are unified, so that each name only<br />

occurs once. Furthermore, attribute and association names are<br />

converted into common OWL styles.<br />

Table II illustrates some of the most considerable harmonizing<br />

techniques and how they are applied (the complete example<br />

can be found in [4][p.22]).Two strategys have been implemented<br />

to handle packages: Depending on the configuration<br />

either all meta packages are merged into a single meta model<br />

during the harmonizing phase, or all packages remain and are<br />

serialized into separated ontologies, subsequently. If all classes<br />

are merged into a single ontology, more harmonizing effort<br />

is required, since it can happen that semantically inequivalent<br />

classes with same class name exist in different packages. These<br />

classes have to be prefixed with their package name.<br />

Duplicate attributes and association names frequently occur<br />

even within a package. They appear, when packages are<br />

merged into a single ontology or when the same attribute (or<br />

association) name is contained in different UML classes (e.g.<br />

age might exist for a class named ”Student“, but also for a class<br />

named ”Building“). Therefore, the<br />

component<br />

offers a set of naming strategys, which can be customized.<br />

Thus, attribute names are always renamed (pre- or suffixing<br />

class and/or package name), if they occur more than<br />

once, although different strategys exist therefore. Associations<br />

often exist without label. Even if they are named labels<br />

are useless, except the association is navigable. Hence, all<br />

associations are renamed, depending on the chosen strategy<br />

( ). For instance, as illustrated in table<br />

II, aggregations and compositions can be renamed using<br />

supplementary patterns. If only a conventional association<br />

is established between two classes, e.g. ”Building“ contains<br />

”Rooms“, this results in two OWL object properties. The first<br />

one is named ”buildingHasRoomAssociation“ and the second<br />

(inverse) object property is named ”roomHasBuildingAssociation“;<br />

if the association is bidirectional navigable, there is no<br />

way, to find out, if ”Building“ is contained in ”Room“ or vice<br />

versa.<br />

2) Metamodeltoowl: The OWL API by the University of<br />

Manchester has been utilized to serialize umlTUowl’s meta<br />

model into valid OWL2 DL. Not all UML elements have a<br />

matching counterpart. For instance, an abstract UML class<br />

will be transformed into an<br />

entity with probably<br />

specific naming conventions. Depending on the chosen transformation<br />

strategy either all UML packages are merged into<br />

a single file, or each package is separated into a single OWL<br />

ontology. This approach is inspired by previous works, such<br />

as [2] and [9].<br />

Attributes are transformed into data properties. XML builtin<br />

data types (e.g. ) are supported as well as OWL<br />

built-in data types. UML associations result in OWL ob-<br />

12 X: harmonizing carried out using default settings; blank: adapted configuration<br />

settings; S: blank + special case<br />

733

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!