JProfiler LogostLogotudLogorewerseLogo modelplexLogo
crimsonBG
EMFText
The fastest way to refinable, durable and evolution-resistant textual syntaxes for EMF models!

Constraint Language: OCL 2.2

The Object Constraint Language (OCL) can be used to specify invariants or check conditions for models. OCL is an offical standard of the OMG.

The EMFText syntax for OCL was developed by the Dresden OCL team. To obtain a compiled version of the syntax please consult the update site of this project. If you're eager to compile it yourself, use the links below. Note that parts of the semantic analysis are written in Scala, which will requires to have the respective tooling installed.

Screenshot

CS Specification

OCL.cs

Metamodel

OCL.ecore (meta-model of OCL concrete syntax)

Plugins

tudresden.ocl20.logging (Extended Log4J Logging feature used by DresdenOCL)

tudresden.ocl20.pivot.essentialocl (meta-model of OCL after transformation from concrete syntax)

tudresden.ocl20.pivot.essentialocl.standardlibrary (modelled standard library of OCL)

tudresden.ocl20.pivot.language.ocl (EMFText-generated OCL parser)

tudresden.ocl20.pivot.language.ocl.resource.ocl (EMFText-generated OCL editor)

tudresden.ocl20.pivot.language.ocl.semantics (Scala-based attribute classes for attribute grammar)

tudresden.ocl20.pivot.language.ocl.staticsemantics (Scala-based attribute grammar and post-processor for type-resolving and WFR checks)

tudresden.ocl20.pivot.model (interfaces for models treated in Dresden OCL)

tudresden.ocl20.pivot.modelbus (repository for meta-model, models, instances and constraints in Dresden OCL)

tudresden.ocl20.pivot.modelinstance (interfaces for model instances treated in Dresden OCL)

tudresden.ocl20.pivot.modelinstancetype (interfaces for model instance adapters treated in Dresden OCL)

tudresden.ocl20.pivot.pivotmodel (interfaces for model adapters (meta-models) treated in Dresden OCL)

Retrieved from "http://www.reuseware.org/index.php/EMFText_Concrete_Syntax_Zoo_OCL"

This page has been accessed 3,440 times. This page was last modified 08:08, 12 November 2010.