|
Documentation
This page provides information about how to use the functionalities of the TwoUse Toolkit.
Featured IntroductionUML class-based modeling and OWL comprise some constituents that are similar in many respects like classes, associations, properties, packages, types, generalization and instances. Despite of the similarities, both approaches present restrictions that may be overcome by an integration. On the one hand, a key limitation of UML class-based modeling is that it allows only static specification of specialization and generalization of classes and relationships, whereas OWL provides mechanisms to define these as dynamic. In other words, OWL allows for recognition of generalization and specialization between classes as well as class membership of objects based on conditions imposed on properties of class definitions. On the other hand, UML provides means to specify dynamic behavior whereas OWL does not. The Object Constraint Language (OCL) complements UML by allowing the specification of query operations, derived values, constraints, pre and post conditions. Since both approaches provide complementary benefits, contemporary software development should make use of both. The benefits of an integration are twofold. Firstly, it provides software developers with more modeling power. Secondly, it enables semantic software developers to use object-oriented concepts like inheritance, operation and polymorphism together with ontologies in a platform independent way. These considerations lead us to the following challenge: How can we develop and denote models that benefit from advantages of the two modeling paradigms? TwoUse (Transforming and Weaving Ontologies and UML in Software Engineering) is an approach combining UML class-based models with OWL ontologies to leverage the unique and potentially complementary strengths of the two. TwoUse's building blocks are: (i) an integration of the MOF-based metamodels for UML and OWL, (ii) the specification of operation queries referring to OWL reasoning (using OCL-like expressions), (iii) the definition of a joint profile for denoting hybrid models as well as other concrete syntaxes. Building BlocksTwoUse approach is built based on four core ideas:
ApplicationsTwoUse allows developers to reuse available domain knowledge already encoded in ontologies independently of platform or programming language. Moreover, developers may use class descriptions to semantically query the domain. Semantic query plays an important role in large domains (more than 700 classes). TwoUse has been applied not only in ontology-based systems but also to development of non-logical systems as follows:
improvements to the Visitor Pattern and to the Bridge Pattern as well.
|