27.06.2013 Views

Proceedings of the 12th European Conference on Knowledge ...

Proceedings of the 12th European Conference on Knowledge ...

Proceedings of the 12th European Conference on Knowledge ...

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.

Thomas Janke<br />

A rule specifies a source model element, annotated with @In, and a number <str<strong>on</strong>g>of</str<strong>on</strong>g> target elements,<br />

marked with @Out. In order to foster code reuse and modularizati<strong>on</strong>, rules can extend each o<str<strong>on</strong>g>the</str<strong>on</strong>g>r,<br />

inheriting all <str<strong>on</strong>g>the</str<strong>on</strong>g> instructi<strong>on</strong>s defined in <str<strong>on</strong>g>the</str<strong>on</strong>g> base rule. Bey<strong>on</strong>d that, rule priorities can be expressed in<br />

order to describe complex dependencies between rules <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>on</strong>e single pattern as well as between<br />

different patterns. Patterns can easily be registered or unregistered as needed for a given<br />

transformati<strong>on</strong> using <str<strong>on</strong>g>the</str<strong>on</strong>g> frameworks API. Even though <str<strong>on</strong>g>the</str<strong>on</strong>g> framework has been developed and will<br />

be evaluated in <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <strong>on</strong>tology engineering platform, it is designed as a general purpose<br />

model to model transformati<strong>on</strong> framework. This means, it can be applied for every model<br />

transformati<strong>on</strong> based <strong>on</strong> Ecore models.<br />

4.4 Developed domain-specific languages<br />

Domain-specific languages are used in order to provide suitable and easy to use modeling languages<br />

for domain engineers. They can be seen as interfaces for populating <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> <strong>on</strong>tology model. As<br />

a result, <str<strong>on</strong>g>the</str<strong>on</strong>g>y inherit <str<strong>on</strong>g>the</str<strong>on</strong>g> abstracti<strong>on</strong> level, introduced by <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> <strong>on</strong>tology meta model.<br />

Additi<strong>on</strong>ally, <str<strong>on</strong>g>the</str<strong>on</strong>g>y provide a syntax which reflects requirements <str<strong>on</strong>g>of</str<strong>on</strong>g> a specific domain. This can be<br />

achieved by means <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> provided vocabulary in forms <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> collecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> supported keywords as<br />

well as <str<strong>on</strong>g>the</str<strong>on</strong>g> level <str<strong>on</strong>g>of</str<strong>on</strong>g> expressivity. This enables domain engineers to model <str<strong>on</strong>g>the</str<strong>on</strong>g>ir domain <str<strong>on</strong>g>of</str<strong>on</strong>g> expertise in<br />

an easy and intuitive way without <str<strong>on</strong>g>the</str<strong>on</strong>g> need to understand <str<strong>on</strong>g>the</str<strong>on</strong>g> logical formalisms and best practices<br />

behind. The reference implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> platform uses <str<strong>on</strong>g>the</str<strong>on</strong>g> Xtext framework to implement two<br />

textual DSLs.<br />

This design decisi<strong>on</strong> was tailored by <str<strong>on</strong>g>the</str<strong>on</strong>g> fact that Xtext provides rich tool support for<br />

deriving<br />

parser implementati<strong>on</strong> from <str<strong>on</strong>g>the</str<strong>on</strong>g> DSL grammar as well as for automatically generating a basic<br />

Eclipse-based editor. The latter has been extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> engineering workbench introduced in<br />

Secti<strong>on</strong> 5.<br />

The reference implementati<strong>on</strong> c<strong>on</strong>tains two DSLs mainly designed to evaluate <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>cepts <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

platform. The first modeling language is not specifically bound to a certain domain but <str<strong>on</strong>g>of</str<strong>on</strong>g>fers keywords<br />

that are very close to <str<strong>on</strong>g>the</str<strong>on</strong>g> terms used in <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> <strong>on</strong>tology meta model. As a result, <str<strong>on</strong>g>the</str<strong>on</strong>g> provided<br />

vocabulary c<strong>on</strong>tains terms like <strong>on</strong>tology, c<strong>on</strong>cept and property.<br />

Never<str<strong>on</strong>g>the</str<strong>on</strong>g>less, it also provides<br />

examples <strong>on</strong> how to provide sufficient abstracti<strong>on</strong> from complex<br />

modeling primitives. Listing 3<br />

introduces<br />

an example <strong>on</strong> how to describe n-ary relati<strong>on</strong>s in c<strong>on</strong>juncti<strong>on</strong> with cardinality c<strong>on</strong>straints.<br />

<strong>on</strong>tology 'http://s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware/traceability/v1.0'<br />

{<br />

c<strong>on</strong>cept HtmlDocument<br />

{<br />

property<br />

isGeneratedFrom as 'Transformati<strong>on</strong>Relati<strong>on</strong>' :<br />

XmlDocument[1,1] as 'has_XML',<br />

XsltDocument[1,1] as 'has_XSLT'<br />

}<br />

}<br />

Listing 3: DSL describing n-ary relati<strong>on</strong> and cardinality c<strong>on</strong>straints<br />

The given example defines <str<strong>on</strong>g>the</str<strong>on</strong>g> same n-ary relati<strong>on</strong> as introduced in Secti<strong>on</strong> 4.2. Additi<strong>on</strong>ally, it poses<br />

cardinality c<strong>on</strong>straints <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> XML and <str<strong>on</strong>g>the</str<strong>on</strong>g> XSLT document. The opti<strong>on</strong>al as keyword can be used to<br />

explicitly label properties or c<strong>on</strong>cepts instead <str<strong>on</strong>g>of</str<strong>on</strong>g> using auto-generated names. This fairly simple<br />

example shows, though, how abstracti<strong>on</strong> can be used to simplify <strong>on</strong>tology modeling. Although <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

domain engineer does not know about how<br />

to model n-ary relati<strong>on</strong>s or cardinality c<strong>on</strong>straints in OWL,<br />

an<br />

according <strong>on</strong>tology can be generated automatically. Figure 5 illustrates <str<strong>on</strong>g>the</str<strong>on</strong>g> workbench<br />

implemented to foster domain model editing and <strong>on</strong>tology generati<strong>on</strong>. In additi<strong>on</strong>, a small excerpt <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> resulting OWL <strong>on</strong>tology is depicted.<br />

The sec<strong>on</strong>d DSL has been designed specifically for modeling s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware quality aspect <str<strong>on</strong>g>of</str<strong>on</strong>g> Ambient<br />

Assisted Living (AAL) systems. As a requirement, <str<strong>on</strong>g>the</str<strong>on</strong>g> provided language should reuse an existing<br />

meta model (Kläs et al., 2010) developed in <str<strong>on</strong>g>the</str<strong>on</strong>g> Quamoco project<br />

pts like QualityAspect,<br />

ualityRequirement, Impact, Factor and EntityType, toge<str<strong>on</strong>g>the</str<strong>on</strong>g>r with <str<strong>on</strong>g>the</str<strong>on</strong>g>ir relati<strong>on</strong>s to each o<str<strong>on</strong>g>the</str<strong>on</strong>g>r, are<br />

ed DSL by means <str<strong>on</strong>g>of</str<strong>on</strong>g> keywords (for an example<br />

e List<br />

6 . This meta model provides a<br />

vocabulary for specifying and evaluating s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware quality. Therefore, c<strong>on</strong>ce<br />

Q<br />

described. The meta model is reflected in <str<strong>on</strong>g>the</str<strong>on</strong>g> provid<br />

se ing 4) and <str<strong>on</strong>g>the</str<strong>on</strong>g>refore is seamlessly integrated in <str<strong>on</strong>g>the</str<strong>on</strong>g> modeling process.<br />

6 https://quamoco.in.tum.de/<br />

467

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

Saved successfully!

Ooh no, something went wrong!