Dresden OCL Toolkit

Package tudresden.ocl.check.types

The classes and interfaces in this package are used to access model information and represent OCL types.

See:
          Description

Interface Summary
Any This interface corresponds to the OCL type OclAny.
ModelFacade This interface allows to adapt the OCL compiler to new model information sources.
ReflectionAdapter This interface is required for compile-time type checking with the class ReflectionFacade.
ReflectionExtender Abstracts an extension of the ReflectionFacade.
Type This interface is used by the type checker to handle type representations.
Type2 This interface is version two of the Type interface.
TypeFactory The class TypeChecker depends on the package types, not only on this interface.
 

Class Summary
Any.VoidAny  
Basic Instances of this class are used to represent the OCL types Integer, Real, Boolean, String, and Enumeration.
ClassAny an implementation of the Any interface backed by a java.lang.Class object
Collection This class is the representation of OCL collection types.
DefaultReflectionAdapter  
DefaultTypeFactory  
Multiplicity  
OclState  
OclType  
ReflectionFacade ReflectionFacade implements ModelFacade by extracting the required information from compiled Java classes via Java Reflection.
 

Package tudresden.ocl.check.types Description

The classes and interfaces in this package are used to access model information and represent OCL types. ModelFacade is the interface used by the type checker to access model information.

The following sequence diagram gives an example of how the type checker uses interfaces of this package to get the necessary model information to check the constraint context Person inv: managedCompanies.employees->includes(self).
SomeAny and SomeModelFacade stand for implementions of the respective interfaces. setOfCompany and setOfPerson are instances of Collection.

An overview of the type interfaces is shown in the following diagram:

ReflectionFacade is an implementation of this interface that queries compiled Java classes via reflection to get model information. TestModelFacade in the subpackage testfacade is a dummy implementation that is used for testing and demonstration purposes. Other implementations are backed by information from XMI files or Argo/UMLs repository. (The sourcecode of the latter is part of Argo.)


Dresden OCL Toolkit

Submit a bug
Developed at the Dresden University of Technology.
This software is published under the GNU Lesser General Public License.