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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Due to umlTUowl’s architecture the test cases are transparently<br />

available and repeatable.<br />

C. Time Complexity<br />

Time complexity of the transformation implementation is<br />

T = O(#N) ∗ [O(#G)+O(#Assoc)<br />

(1)<br />

+ O(#Attr)+O(#Com) ∗ O(#ComC)]<br />

where #N is the number of XML elements (depending on<br />

the XML serialization), #G is the number of class generalizations,<br />

#Assoc the number of associations, #Attr the number<br />

of attributes, #Com the number of comments and #ComC<br />

the number of connections between classes/associations and<br />

comments.<br />

The comparison with Xu et al.’s solution[11] shows that<br />

time complexity is slightly higher than O(#N). The main<br />

reason is that the DOM structure of VP’s XMI 2.1 in some<br />

cases has to be traversed, e.g. to map attributes and data<br />

range, or to link comments to their corresponding entity. The<br />

algorithm may be optimized (e.g. extracting data types into an<br />

array before processing attributes), but the current algorithm<br />

is broadly satisfactory.<br />

D. Automated Testing<br />

umlTUowl uses an elegant testing approach based on executable<br />

test cases (jUnit): The tool is shipped with a variety<br />

of test cases, which are linked with elaborate UML reference<br />

models to cover common UML class diagram constructs as<br />

defined in Table I. The unit tests are applied to particular elements<br />

of the reference model’s diagrams, whereupon identical<br />

diagrams have been created for each of the supported modeling<br />

tools. For each converter implementation, an adequate XMI<br />

file, images of the model’s diagrams created by the specific<br />

modeling tool, and the related project files are provided. To<br />

implement a new UML modeling editor’s XMI format, one just<br />

has to extend an existing XMI converter, redraw the reference<br />

model in the particular UML modeling tool and document<br />

the export process of the newly implemented XMI version.<br />

Due to leveraging, the intermediate meta model coding of test<br />

cases is no longer necessary! Additional reference models can<br />

be placed to support additional features for a specific UML<br />

editor’s XMI file format. Adaption of not yet implemented<br />

transformation features can be carried out across all existing<br />

converters, hence the approach helps to gain high-quality<br />

converters. Even UML-related models, such as MS Visio ERD,<br />

can be implemented in adequate time.<br />

E. Use Case: Transformation of Industrial Tank Model<br />

Practitioners, especially designers and Quality Assurance<br />

(QA) personnel, want to make complex industrial automation<br />

systems more robust against normally hard to identify runtime<br />

failures. Challenges to detect and locate defects at runtime<br />

come from the different focus points of models. Without<br />

an integrated view on relevant parts of both design-time<br />

and runtime models inconsistencies from changes and their<br />

impact are harder to evaluate and resolve. Better integrated<br />

engineering knowledge can improve the quality of decisions<br />

for runtime changes to the system, e.g., better handling severe<br />

failures with predictable recovery procedures, lower level<br />

of avoidable downtime, and better visibility of risks before<br />

damage occurs [12][13][14]. As shown in [15], these problems<br />

can be addressed with the help of ontologies and reasoning.<br />

The CDL-Flex developed, domain-specific EKB provides<br />

a better integrated view on relevant engineering knowledge<br />

in typical design-time and runtime models, which were originally<br />

not designed for machine-understandable integration.<br />

It contains schemes on all levels and instances, data, and<br />

allows reasoning to evaluate rules that involve information<br />

from several models. umlTUowl in combination with the EKB<br />

enables practitioners from different fields to create ontologies<br />

out of previous or novel created UML (or similar) models on<br />

the fly, and thus helps to gain better integrated and shared<br />

knowledge across teams. It not only supports iterative development<br />

of ontologies and hence helps to improve consistency<br />

and compliance between design- and code/runtime- elements,<br />

but also unburdens EKB ontology engineers so that they<br />

can focus on modeling of complex logical relationships and<br />

axioms.umlTUowl incorporates and centers domain experts<br />

and helps improving the CDL-Flex EKB workflow transiently.<br />

To demonstrate the integration of umlTUowl into<br />

CDL-Flex’s EKB and to dig into a use case, the tool<br />

has been validated against a previously-used, domain specific<br />

tank model (compare [15]). Both, VP class data diagram<br />

and OWL ontology that had been created in manual work<br />

by CDL-Flex, have been provided beforehand. The UML<br />

diagram models a piped tank that is connected to several<br />

control elements, which ensure that the tank provides enough<br />

fluid (eg. water or liquid chemical substances) and the content<br />

is heated, dependent on the measures of different sensors.<br />

The existing, manually created ontology and the umlTUowl<br />

transformation result have been compared in Protégé and<br />

were validated using ManchesterValidator. The results are<br />

outlined next.<br />

1) Class Transformation and Disjointness: The tool transformed<br />

all 19 classes and considered all hierarchy levels<br />

correctly. For instance, actuator is the superclass of heater,<br />

pump and valves, while valve itself has been subdivided into<br />

magnetic, manual and pneumatic classes. Unlike the manually<br />

created ontology, disjointness of classes is not defined in<br />

the umlTUowl created ontology. By default, UML classes<br />

are defined as overlapping, so the ontology engineer has to<br />

explicitly define disjoint classes, using Protégé.<br />

2) Equivalent Classes: Of course the automated umlTUowl<br />

transformation approach cannot distinguish equivalent and defined<br />

classes. While the CDL-Flex ontology engineer defined<br />

some equivalent classes in OWL, the tool created defined<br />

classes with subclass axioms, instead.<br />

3) Attributes: Because for none of the attributes a data type<br />

had been specified in the UML diagram, the tool assigned data<br />

range . The ontology engineer has to add missing<br />

ranges to all data properties manually, e.g. set the data range<br />

of (Domain = )to .<br />

735

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

Saved successfully!

Ooh no, something went wrong!