<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=OCUP2F_02_Class_Diagram</id>
	<title>OCUP2F 02 Class Diagram - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=OCUP2F_02_Class_Diagram"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP2F_02_Class_Diagram&amp;action=history"/>
	<updated>2026-04-21T09:04:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=OCUP2F_02_Class_Diagram&amp;diff=82348&amp;oldid=prev</id>
		<title>Ivasiletc at 10:13, 28 April 2021</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP2F_02_Class_Diagram&amp;diff=82348&amp;oldid=prev"/>
		<updated>2021-04-28T10:13:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Private]]&lt;br /&gt;
[[Category:OCUP2]]&lt;br /&gt;
==Module 4. Class Diagram⌘==&lt;br /&gt;
===Class Diagram⌘===&lt;br /&gt;
[[File:ClassDiagramExample.png]]&lt;br /&gt;
&lt;br /&gt;
This is structure diagram which presents structure of the designed system at the level of classes, interfaces and relationships - generalizations, associations, dependencies, ...&lt;br /&gt;
====Element⌘====&lt;br /&gt;
[[File:UMLElement.png]]&lt;br /&gt;
&lt;br /&gt;
Metaclass &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Element&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*An element is a constituent of a model.&lt;br /&gt;
*All elements are subclasses of Element&lt;br /&gt;
*Element can own other elements&lt;br /&gt;
*No notation for Element - it is &amp;#039;&amp;#039;abstract&amp;#039;&amp;#039;&lt;br /&gt;
====Relationship ⌘====&lt;br /&gt;
[[File:UMLRelationship.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Relationship&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; class&lt;br /&gt;
*Used to interconnect elements&lt;br /&gt;
*No notation for Relationship as it is &amp;#039;&amp;#039;abstract&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Directed Relationship ⌘====&lt;br /&gt;
[[File:DirectedRelationship.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;DirectedRelationship&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; class&lt;br /&gt;
*a specialization of a relationship&lt;br /&gt;
*source element wants something - a &amp;#039;&amp;#039;&amp;#039;client&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*target element offers something - a &amp;#039;&amp;#039;&amp;#039;supplier&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Comment⌘===&lt;br /&gt;
[[File:UMLComment.png]]&lt;br /&gt;
* a textual annotation that can be attached to an element&lt;br /&gt;
* may contain information that is useful to a modeler&lt;br /&gt;
* can be attached to more than one element&lt;br /&gt;
&lt;br /&gt;
===Constraint⌘===&lt;br /&gt;
[[File:Constraint.png]]&lt;br /&gt;
* condition or restriction related to an element &lt;br /&gt;
* it must always be true&lt;br /&gt;
* can be in formal (OCL - Object Constraint Language), programming (e.g. Java), or human language&lt;br /&gt;
* syntax: &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039; [name :] boolean expression &amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
====Constraint Example⌘====&lt;br /&gt;
[[File:ClipCapIt-141023-155542.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Expression⌘===&lt;br /&gt;
*Expressions specify values resulting from a computation.&lt;br /&gt;
* Examples: xor, else, plus(x,1), x+1&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Opaque Expression&amp;#039;&amp;#039;&amp;#039; specifies the computation of a set of values in UML or any other language.&lt;br /&gt;
* Opaque expression may have a language defined e.g. &amp;#039;&amp;#039;{OCL} i &amp;gt; j and self.size &amp;gt; i&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Classifier⌘===&lt;br /&gt;
[[File:ClipCapIt-141022-121434.PNG]]&lt;br /&gt;
* an abstract base class&lt;br /&gt;
* describes a set of instances that have features in common&lt;br /&gt;
&lt;br /&gt;
===Simple Classifier⌘===&lt;br /&gt;
* Simple Classifier specifies various kinds of Classifier that do not have complex internal structure.&lt;br /&gt;
* Simple Classifiers are:&lt;br /&gt;
** Data type&lt;br /&gt;
** Signal&lt;br /&gt;
** Interface&lt;br /&gt;
====Data type⌘====&lt;br /&gt;
[[File:ClipCapIt-151201-154859.PNG]]&lt;br /&gt;
[[File:DataTypeExample.png]]&lt;br /&gt;
&lt;br /&gt;
* A data type is a type whose instances are identified only by their value - &amp;#039;&amp;#039;&amp;#039;two instances with the same value are indistinguishable (equal)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* A DataType may contain attributes to support the modeling of structured data types.&lt;br /&gt;
&lt;br /&gt;
=====PrimitiveType⌘=====&lt;br /&gt;
[[File:primitive.png]]&lt;br /&gt;
&lt;br /&gt;
A primitive type defines a predefined data type, without any relevant substructure.&lt;br /&gt;
&lt;br /&gt;
Instances of primitive type:&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Boolean&amp;#039;&amp;#039;&amp;#039; (true, false)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Integer&amp;#039;&amp;#039;&amp;#039; (..., -1, 0, 1, ...) &lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;UnlimitedNatural&amp;#039;&amp;#039;&amp;#039; (*, 0, 1, 2, ...) - the value of unlimited is shown using an asterisk ‘*’&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;String&amp;#039;&amp;#039;&amp;#039; is a sequence of characters within double quotes e.g. &amp;quot;NobleProg&amp;quot;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Real&amp;#039;&amp;#039;&amp;#039; [[File:ClipCapIt-141024-151711.PNG]] real numbers using floating point representation shown in decimal notation or scientific notation e.g. 8E2&lt;br /&gt;
======PrimitiveType examples⌘======&lt;br /&gt;
[[File:ClipCapIt-160407-125042.PNG]]&lt;br /&gt;
&lt;br /&gt;
=====Enumeration⌘=====&lt;br /&gt;
[[File:Enumeration.png]]&lt;br /&gt;
* An enumeration is a data type whose values are enumerated in the model as enumeration literals.&lt;br /&gt;
* Values corresponding to Enumeration Literals are immutable, so any attributes on an Enumeration shall be read-only.&lt;br /&gt;
* The Enumeration Literal name is unique within its Enumeration.&lt;br /&gt;
* Enumerations can participate in generalization relationships.&lt;br /&gt;
&lt;br /&gt;
===Interface⌘===&lt;br /&gt;
* is a kind of classifier that represents a &amp;#039;&amp;#039;&amp;#039;declaration&amp;#039;&amp;#039;&amp;#039; of a set of coherent public features and obligations&lt;br /&gt;
* an interface specifies a &amp;#039;&amp;#039;&amp;#039;contract&amp;#039;&amp;#039;&amp;#039;; any instance of a classifier that realizes the interface must satisfy that contract&lt;br /&gt;
* it is just declaration - so it is &amp;#039;&amp;#039;&amp;#039;not instantiable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Provided Interface⌘====&lt;br /&gt;
[[File:ProvidedInterface.png]]&lt;br /&gt;
* an interface realized by a classifier is its &amp;#039;&amp;#039;&amp;#039;provided interface&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* represent the obligations that instances of that classifier have to satisfy&lt;br /&gt;
&lt;br /&gt;
====Required Interface⌘====&lt;br /&gt;
[[File:RequiredInterface.png]]&lt;br /&gt;
* specify services that a classifier &amp;#039;&amp;#039;&amp;#039;needs&amp;#039;&amp;#039;&amp;#039; in order to perform its function&lt;br /&gt;
====Interface Example⌘====&lt;br /&gt;
[[File:InterfaceExample.png]]&lt;br /&gt;
&lt;br /&gt;
===Structured Classifier⌘===&lt;br /&gt;
[[File:CompositeStructureDiagram.png]]&lt;br /&gt;
* Describes the internal structure of a classifier and the collaborations that this structure makes possible.&lt;br /&gt;
* Structured Classifiers may contain an internal structure of connected elements each of which plays a role.&lt;br /&gt;
====Structured Classifier Example⌘====&lt;br /&gt;
[[File:ClipCapIt-141023-115107.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Class⌘===&lt;br /&gt;
[[File:UMLClass.png]]&lt;br /&gt;
* describes a set of objects that share the same specifications of features (attributes and operations)&lt;br /&gt;
* is a special classifier&lt;br /&gt;
* an object is an instance of a class&lt;br /&gt;
&lt;br /&gt;
===Generalization⌘===&lt;br /&gt;
[[File:GeneralizationExample.png]]&lt;br /&gt;
* relationship between a more general classifier and a more specific classifier&lt;br /&gt;
* each instance of the specific classifier is also an indirect instance of the general classifier&lt;br /&gt;
* the specific classifier inherits the features of the more general classifier&lt;br /&gt;
====Generalization Example⌘====&lt;br /&gt;
[[File:GenExample.png]]&lt;br /&gt;
&lt;br /&gt;
===Association⌘===&lt;br /&gt;
[[File:AssociationWithMarks.png]]&lt;br /&gt;
* specifies a relationship between instances&lt;br /&gt;
* describes a set of tuples whose values refer to typed instances&lt;br /&gt;
* declares that there can be links between instances of the associated types&lt;br /&gt;
&lt;br /&gt;
====Multiplicity⌘====&lt;br /&gt;
* specifies how many objects of the opposite class an object can be associated with&lt;br /&gt;
* is a range of the minimum and maximum values&lt;br /&gt;
* syntax: &amp;#039;&amp;#039;&amp;#039;number&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;min..max&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Multiplicity !! Notation&lt;br /&gt;
|-&lt;br /&gt;
| zero || &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;0..0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| exactly one || &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| zero or one || &amp;#039;&amp;#039;&amp;#039;0..1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| zero or more || &amp;#039;&amp;#039;&amp;#039;0..*&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| one or more || &amp;#039;&amp;#039;&amp;#039;1..*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Multiplicity example⌘====&lt;br /&gt;
[[File:MultiplicityExample.png]]&lt;br /&gt;
&lt;br /&gt;
====Multiplicity - order and uniqueness⌘====&lt;br /&gt;
[[File:ClipCapIt-141023-182657.PNG]]&lt;br /&gt;
* Multiplicity defines a specification of order and uniqueness of the collection elements.&lt;br /&gt;
* This option can specify whether the values should be &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039; and/or &amp;#039;&amp;#039;&amp;#039;ordered&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;ordered&amp;#039;&amp;#039;&amp;#039;: the collection of values is sequentially ordered (default: not ordered)&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039;: each value in the collection of values must be unique, no two values in the collection may be equal (default: is unique)&lt;br /&gt;
&lt;br /&gt;
====Aggregation⌘====&lt;br /&gt;
[[File:Aggregation.png]] [[File:ClipCapIt-140627-141909.PNG]]&lt;br /&gt;
* shows how something (&amp;#039;&amp;#039;&amp;#039;whole&amp;#039;&amp;#039;&amp;#039;) is composed of &amp;#039;&amp;#039;&amp;#039;parts&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* parts can exist separately - can be &amp;#039;&amp;#039;&amp;#039;shared&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* precise semantics of aggregation varies by application area and modeler :)&lt;br /&gt;
&lt;br /&gt;
====Composition⌘====&lt;br /&gt;
[[File:UMLComposition.png]] [[File:ClipCapIt-140627-142144.PNG]]&lt;br /&gt;
* a strict form of aggregation&lt;br /&gt;
* the whole is the owner of its parts&lt;br /&gt;
* parts &amp;#039;&amp;#039;&amp;#039;can not&amp;#039;&amp;#039;&amp;#039; be shared&lt;br /&gt;
* the existence of its parts depends on the whole&lt;br /&gt;
&lt;br /&gt;
====Aggregation / Composition Example⌘====&lt;br /&gt;
[[File:AggregationBoatCarExample.png]]&lt;br /&gt;
&lt;br /&gt;
====N-ary association⌘====&lt;br /&gt;
[[File:TernaryAssociation.png]]&lt;br /&gt;
* if an association has more than two end points (here: ternary association)&lt;br /&gt;
* Notation: a rhombus is used as a connection point&lt;br /&gt;
&lt;br /&gt;
===Dependency ⌘===&lt;br /&gt;
[[File:Dependency.png]]&lt;br /&gt;
* a relationship that signifies that a model element(s) requires other model element(s) for their &amp;#039;&amp;#039;&amp;#039;specification&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;implementation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* the complete semantics of the depending elements is dependent on the definition of the supplier element(s)&lt;br /&gt;
* the modification of the &amp;#039;&amp;#039;&amp;#039;supplier&amp;#039;&amp;#039;&amp;#039; may impact the &amp;#039;&amp;#039;&amp;#039;client&amp;#039;&amp;#039;&amp;#039; model elements&lt;br /&gt;
* the semantics of the &amp;#039;&amp;#039;&amp;#039;client&amp;#039;&amp;#039;&amp;#039; is not complete without the &amp;#039;&amp;#039;&amp;#039;supplier&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* the type of dependency can be specified by using a keyword or stereotype&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Abstraction⌘====&lt;br /&gt;
[[File:Abstraction.png]]&lt;br /&gt;
* a special dependency relationship between model elements that represent the &amp;#039;&amp;#039;&amp;#039;same concept&amp;#039;&amp;#039;&amp;#039; at &amp;#039;&amp;#039;&amp;#039;different levels&amp;#039;&amp;#039;&amp;#039; of abstraction or from &amp;#039;&amp;#039;&amp;#039;different viewpoints&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Permit⌘====&lt;br /&gt;
[[File:Permit.png]]&lt;br /&gt;
* the dependent element is permitted to use &amp;#039;&amp;#039;&amp;#039;private&amp;#039;&amp;#039;&amp;#039; content of this independent element&lt;br /&gt;
&lt;br /&gt;
====Substitute⌘====&lt;br /&gt;
[[File:Substitute.png]]&lt;br /&gt;
* instances of the independent element can be substituted by instances of the dependent element at runtime&lt;br /&gt;
* runtime substitutability that is not based on specialization&lt;br /&gt;
&lt;br /&gt;
====Usage⌘====&lt;br /&gt;
[[File:UsageRelationship.png]]&lt;br /&gt;
* a relationship in which one element requires another element(s) for its full &amp;#039;&amp;#039;&amp;#039;implementation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* is limited to the &amp;#039;&amp;#039;&amp;#039;implementation&amp;#039;&amp;#039;&amp;#039; and it doesn’t apply to the specification (dependency do apply)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Abstract Classifier⌘===&lt;br /&gt;
[[File:ClipCapIt-141022-111248.PNG]]&lt;br /&gt;
* Abstract Classifier has no direct instances.&lt;br /&gt;
* The name of an abstract Classifier is shown in italics or in addition, an abstract Classifier may be shown using {abstract} constraint after or below its name.&lt;br /&gt;
&lt;br /&gt;
===Feature⌘===&lt;br /&gt;
[[File:Feature.png]]&lt;br /&gt;
&lt;br /&gt;
* declares a behavioral or structural characteristic of instances of classifiers&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;structural feature&amp;#039;&amp;#039;&amp;#039; describes a structure of an instance of a classifier (e.g. property)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;behavioral feature&amp;#039;&amp;#039;&amp;#039; specifies an aspect of the behavior of classifier&amp;#039;s instances (e.g. operation)&lt;br /&gt;
====Property⌘====&lt;br /&gt;
[[File:ClipCapIt-171128-152413.PNG]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[File:ClipCapIt-141022-114925.PNG]]&lt;br /&gt;
Properties are Structural Features that represent:&amp;lt;br/&amp;gt;&lt;br /&gt;
** the attributes of Classifiers (when a property is owned by a Classifier other than an Association)&lt;br /&gt;
** the parts of Structured Classifiers.&lt;br /&gt;
** the member Ends of Associations (roles)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Property Notation⌘====&lt;br /&gt;
[[File:ClipCapIt-141022-122321.PNG]]&lt;br /&gt;
 &amp;lt;property&amp;gt; ::= [&amp;lt;visibility&amp;gt;] [‘/’] &amp;lt;name&amp;gt; [‘:’ &amp;lt;prop-type&amp;gt;] [‘[‘ &amp;lt;multiplicity-range&amp;gt; ‘]’] &lt;br /&gt;
                [‘=’ &amp;lt;default&amp;gt;] [‘{‘ &amp;lt;prop-modifier &amp;gt; [‘,’ &amp;lt;prop-modifier &amp;gt;]* ’}’]&lt;br /&gt;
 &amp;lt;visibility&amp;gt; ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’&lt;br /&gt;
 &amp;lt;prop-modifier&amp;gt; ::= ‘readOnly’ | ‘union’ | ‘subsets’ &amp;lt;property-name&amp;gt; &lt;br /&gt;
                      | ‘redefines’ &amp;lt;property-name&amp;gt; | ‘ordered’ | ‘unordered’ &lt;br /&gt;
                      | ‘unique’ | ‘nonunique’ | ‘seq’ &lt;br /&gt;
                      | ‘sequence’ | ‘id’ | &amp;lt;prop-constraint&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;inherited-property&amp;gt; ::= ’^’ &amp;lt;property&amp;gt;  [[File:ClipCapIt-141024-151711.PNG]]&lt;br /&gt;
=====Important Property Modifiers⌘=====&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;readOnly&amp;#039;&amp;#039;&amp;#039; means that the Property is read only.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ordered&amp;#039;&amp;#039;&amp;#039; means that the Property is ordered, i.e., isOrdered = true.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;unordered&amp;#039;&amp;#039;&amp;#039; means that the Property is not ordered, i.e., isOrdered = false.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039; means that there are no duplicates in a multi-valued Property, i.e., isUnique = true.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;nonunique&amp;#039;&amp;#039;&amp;#039; means that there may be duplicates in a multi-valued Property, i.e., isUnique = false.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039; means that the Property is part of the identifier for the class.&lt;br /&gt;
&lt;br /&gt;
====Property = End or Attribute⌘====&lt;br /&gt;
[[File:Attribute.png]]&lt;br /&gt;
&lt;br /&gt;
====Navigability⌘====&lt;br /&gt;
[[File:Navigability.png]]&lt;br /&gt;
* specifies whether one object can be accessed directly from another&lt;br /&gt;
====Visibility Example⌘====&lt;br /&gt;
[[File:VisibilityExample.png]]&lt;br /&gt;
&lt;br /&gt;
====Operation⌘====&lt;br /&gt;
* a &amp;#039;&amp;#039;&amp;#039;behavioral feature&amp;#039;&amp;#039;&amp;#039; of a classifier, which specifies name, type, parameters, and constraints&lt;br /&gt;
* can have preconditions and postconditions&lt;br /&gt;
* can have a type (the type of the return parameter)&lt;br /&gt;
 [&amp;lt;visibility&amp;gt;] &amp;lt;name&amp;gt; ‘(‘ [&amp;lt;parameter-list&amp;gt;] ‘)’ [‘:’ [&amp;lt;return-type&amp;gt;] &lt;br /&gt;
 [‘[‘ &amp;lt;multiplicity-range&amp;gt; ‘]’] [‘{‘ &amp;lt;oper-property&amp;gt; [‘,’ &amp;lt;oper-property&amp;gt;]* ‘}’]]&lt;br /&gt;
 &amp;lt;oper-property&amp;gt; ::= ‘redefines’ &amp;lt;oper-name&amp;gt; | ‘query’ | ‘ordered’ | ‘unordered’ &lt;br /&gt;
                      | ‘unique’ | ‘nonunique’ | ‘seq’ | ‘sequence’ | &amp;lt;oper-constraint&amp;gt;&lt;br /&gt;
=====Operation examples⌘=====&lt;br /&gt;
 &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 +createWindow (location: Coordinates, container: Container [0..1]): Window&lt;br /&gt;
 +toString (): String&lt;br /&gt;
 +toString(return : String)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:red;font-weight: bold;&amp;quot;&amp;gt;INCORRECT:&amp;lt;/div&amp;gt;&lt;br /&gt;
 Sub CalledProcedure(ByRef X As Long, ByVal Y As Long)&lt;br /&gt;
 int addition (int a, int b)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Signals and Receptions⌘===&lt;br /&gt;
[[File:ClipCapIt-161004-171226.PNG]]&lt;br /&gt;
* Signals and Receptions are used to model asynchronous communication between objects.&lt;br /&gt;
* A Signal is a specification of a kind of communication between objects in which a reaction is asynchronously triggered in the receiver without a reply. &lt;br /&gt;
* The data carried by the communication are represented as attributes of the Signal. &lt;br /&gt;
* A Signal is defined independently of the Classifiers handling it.&lt;br /&gt;
====Reception ⌘====&lt;br /&gt;
[[File:ClipCapIt-160407-131547.PNG]]&lt;br /&gt;
* A Reception is a declaration stating that a Classifier &amp;#039;&amp;#039;&amp;#039;is prepared to react&amp;#039;&amp;#039;&amp;#039; to the receipt of a Signal.&lt;br /&gt;
* The name of the Reception matches the name of the Signal, and the parameter of the Reception matches the attribute of the Signal.&lt;br /&gt;
* By declaring a Reception associated to a given Signal, a Classifier specifies that its instances will be able to receive that Signal, or a subtype thereof, and will respond to it with the designated Behavior.&lt;br /&gt;
&lt;br /&gt;
===Static Feature⌘===&lt;br /&gt;
[[File:ClipCapIt-150924-151618.PNG]]&lt;br /&gt;
* Characteristic relates to the Classifier’s instances may be considered individually (non static), or to the Classifier itself (static).&lt;br /&gt;
* Notation: static features are &amp;lt;u&amp;gt;underlined&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ivasiletc</name></author>
	</entry>
</feed>