blob: 463102cb54e1d2cee116269bc8702db6c3419a88 [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Overview and Getting Started</title>
<link href="book.css" rel="stylesheet" type="text/css">
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="index.html" title="OCL Documentation">
<link rel="prev" href="index.html" title="OCL Documentation">
<link rel="next" href="HowDoesItWork.html" title="How Does It Work?">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Overview and Getting Started</h1>
<div class="chapter" title="Overview and Getting Started">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="OverviewandGettingStarted"></a>Overview and Getting Started</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="OverviewandGettingStarted.html#WhatisOCL">What is OCL?</a></span>
</dt>
<dt>
<span class="section"><a href="HowDoesItWork.html">How Does It Work?</a></span>
</dt>
<dt>
<span class="section"><a href="EclipseOCLisExtensible.html">Eclipse OCL is Extensible</a></span>
</dt>
<dt>
<span class="section"><a href="WhoUsesOCLandEclipseOCL.html">Who Uses OCL and Eclipse OCL?</a></span>
</dt>
<dt>
<span class="section"><a href="WhoisBehindEclipseOCL.html">Who is Behind Eclipse OCL?</a></span>
</dt>
<dt>
<span class="section"><a href="GettingStarted.html">Getting Started</a></span>
</dt>
</dl>
</div>
<p>For a quick demonstration of OCL enrichment of an Ecore meta-model with computed constraints go to
<a class="link" href="GettingStarted.html" title="Getting Started">Getting Started</a>.
</p>
<p>A PDF version of this documentation is available at
<a class="ulink" href="http://download.eclipse.org/ocl/doc/6.6.0/ocl.pdf" target="_new">OCL 6.6.0 Documentation</a>.
</p>
<div class="section" title="What is OCL?">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="WhatisOCL"></a>What is OCL?</h2>
</div>
</div>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>
<span class="emphasis"><em>EMF is Modeled Structure</em></span>
</p>
</li>
</ul>
</div>
<p>The Eclipse Modeling Framework (
<em class="glossterm">EMF</em>) supports the definition of structural meta-models and the subsequent use of models conforming to these meta-models. EMF also supports generating of Java code to represent the meta-models. Additional Java code can be provided to add behavior to the structural meta-models.
</p>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>
<span class="emphasis"><em>OCL is EMF and Modeled Behavior</em></span>
</p>
</li>
</ul>
</div>
<p>
<em class="glossterm">OCL</em> provides a modeling language that allows the behavior to be embedded within the structural meta-models or provided as a complement to those meta-models. As a modeling language, OCL understands the models and so OCL code is much more compact than the equivalent Java. OCL code can be statically checked, whereas the corresponding Java code often uses reflection and so cannot be checked.
</p>
<p>Eclipse OCL is an implementation of the OMG OCL 2.4 specification for use with Ecore and UML meta-models.</p>
</div>
</div>
</body>
</html>