blob: 91bc6971ab79ccf1bd279939112dfabec3c69988 [file] [log] [blame]
<html>
<!-- For reference by the official project summary -->
<body>
<p><strong>
The Object Teams approach extends object oriented programming with new concepts
for reconciling the tensions that otherwise exist between modularity, re-use,
encapsulation and long term maintenance and evolution. This is achieved by
supporting programming with multiple views, which can be composed in various
scalable ways.</strong>
</p>
<p style="margin-bottom:0px;text-decoration:underline;">
Object Teams introduces two new kinds of classes:
</p>
<ul style="margin-top:0px;margin-bottom:0px;">
<li><b>Roles</b> support a per instance specialization of existing objects.</li>
<li>A <b>Team</b> groups a set of interacting roles into one coherent encapsulated, nestable module.</li>
</ul>
<p style="margin-top:0px;">
When binding a role class to its base, methods are declaratively wired for forwarding (role-to-base: "callout") and interception (base-to-role: "callin").
</p>
<p style="margin-bottom:0px;text-decoration:underline;">
The Object Teams project provides development support at these levels:
</p>
<ul style="margin-top:0px;">
<li>The programming language OT/J extends Java&#153;</li>
<li>The Object Teams Development Tooling (OTDT) extends Eclipse/JDT</li>
<li>OT/Equinox extends Equinox</li>
<li>OT/JPA extends EclipseLink/JPA</li>
</ul>
</p>
</body>
</html>