ECO for VisualStudio is a design time modeling tool and a runtime domain object framework. ECO use OCL to define constraints, but also to define derived attributes, derived associations, viewmodel transformations and viewmodel validations,
ECO relies heavily on OCL as a language to safely navigate the model.
ECO implements a OCL to SQL transformation so that developers can fetch objects from persistent storage with OCL expressions that evaluate to collections.
ECO also use the language syntax of OCL as a action language that allows side effects - We call this Eco Action Language - EAL.
ECO derives both c#/VB.NET/Prism code, database schema for most databases (SQLServer, Oracle, MySQL to name a few) .
http://www.capableobjects.com/ProductsServices_ECO.aspx
ECO also implements State machines and the effects are EAL expression and Guards are implemented as OCL expression.