<?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=OCUP2I_01_Basic_Structure</id>
	<title>OCUP2I 01 Basic Structure - 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=OCUP2I_01_Basic_Structure"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP2I_01_Basic_Structure&amp;action=history"/>
	<updated>2026-04-21T08:49:36Z</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=OCUP2I_01_Basic_Structure&amp;diff=58156&amp;oldid=prev</id>
		<title>Filip Stachecki: /* BNF - sandbox⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP2I_01_Basic_Structure&amp;diff=58156&amp;oldid=prev"/>
		<updated>2017-07-14T13:02:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;BNF - sandbox⌘&lt;/span&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;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;false&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: UML 2.5 Certification - OCUP 2 Intermediate Exam Preparation&lt;br /&gt;
;author: &amp;lt;br/&amp;gt;Filip Stachecki (Filip@NobleProg.pl),presenter: Bernard Szlachta bs@nobleprog.co.uk&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Module 1. Basic Structure⌘==&lt;br /&gt;
===References⌘===&lt;br /&gt;
UML 2.5 specification:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chapter 6: Additional Information&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** BNF&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chapter 7: Common Structure&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Namespaces&lt;br /&gt;
** Types and Multiplicity&lt;br /&gt;
** Constraints&lt;br /&gt;
** Dependencies&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chapter 8: Values&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Time&lt;br /&gt;
** Intervals&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chapter 12: Packages&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Packages&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chapter 20: Information Flows&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===BNF⌘===&lt;br /&gt;
* Backus-Naur Form (BNF) is a notation technique used to describe the syntax of languages like UML, programming languages, ...&lt;br /&gt;
*BNF production rule:&lt;br /&gt;
&amp;lt;source lang=bnf&amp;gt;&lt;br /&gt;
 &amp;lt;symbol&amp;gt; ::= __expression__&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;&amp;#039;::=&amp;#039;&amp;#039;&amp;#039;&amp;#039; means that the symbol on the left must be replaced with the expression on the right.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;__expression__&amp;#039;&amp;#039;&amp;#039; consists of one or more sequences of symbols&lt;br /&gt;
* example:&lt;br /&gt;
&amp;lt;source lang=bnf&amp;gt;&lt;br /&gt;
 &amp;lt;name&amp;gt; ::= &amp;lt;first-name&amp;gt; &amp;lt;last-name&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Terminal&amp;#039;&amp;#039;&amp;#039; symbols are elementary literal symbols of a language, like keywords&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Non-terminal&amp;#039;&amp;#039;&amp;#039; symbols are those symbols which can be defined/replaced.&lt;br /&gt;
&lt;br /&gt;
===BNF - sandbox⌘===&lt;br /&gt;
&amp;lt;source lang=bnf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;package-import&amp;gt; ::= ‘{import ’ &amp;lt;qualified-name&amp;gt; ‘}’ | ‘{access ’ &amp;lt;qualified-name&amp;gt; ‘}’&lt;br /&gt;
&lt;br /&gt;
&amp;lt;stereotype&amp;gt; ::= “«” &amp;lt;label&amp;gt; [“,” &amp;lt;label&amp;gt;]* “»”&lt;br /&gt;
&amp;lt;label&amp;gt; ::= &amp;lt;keyword&amp;gt; | &amp;lt;stereotype-label&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt; ::=[&amp;lt;attribute-name&amp;gt; ‘=’ ] [&amp;lt;collaboration-use&amp;gt; ‘.’] &amp;lt;interaction-name&amp;gt;&lt;br /&gt;
[‘(‘ &amp;lt;io-argument&amp;gt; [‘,’ &amp;lt;io-argument&amp;gt;]* ‘)’] [‘:’ &amp;lt;return-value&amp;gt;]&lt;br /&gt;
&amp;lt;io-argument&amp;gt; ::= &amp;lt;in-argument&amp;gt; | ‘out’ &amp;lt;out-argument&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;template-parameter&amp;gt; ::= &amp;lt;template-param-name&amp;gt; [‘:’ &amp;lt;parameter-kind&amp;gt; ] [‘=’ &amp;lt;default&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;classifier-template-parameter&amp;gt; ::= &amp;lt;parameter-name&amp;gt; [ ‘:‘ &amp;lt;parameter-kind&amp;gt; ] [‘&amp;gt;’ &amp;lt;constraint&amp;gt;] [‘=’ &amp;lt;default&amp;gt;]&lt;br /&gt;
&amp;lt;constraint&amp;gt; ::= [‘{contract }’] &amp;lt;classifier-name&amp;gt;*&lt;br /&gt;
&amp;lt;default&amp;gt; ::= &amp;lt;classifier-name&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===BNF in UML⌘===&lt;br /&gt;
UML uses a variant of the BNF for textual notations to specify the legal formats:&lt;br /&gt;
* All non-terminals are in italics and enclosed between angle brackets (e.g., &amp;#039;&amp;#039;&amp;lt;non-terminal&amp;gt;&amp;#039;&amp;#039;).&lt;br /&gt;
* All terminals (keywords, strings, etc.), are enclosed between single quotes (e.g., ‘or’).&lt;br /&gt;
* Non-terminal production rule definitions are signified with the ‘::=’ operator.&lt;br /&gt;
* Repetition of an item is signified by an asterisk placed after that item: ‘*’.&lt;br /&gt;
* Alternative choices in a production are separated by the ‘|’ symbol (e.g., &amp;#039;&amp;#039;&amp;lt;alternative-A&amp;gt;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;lt;alternative-B&amp;gt;&amp;#039;&amp;#039;).&lt;br /&gt;
* Items that are optional are enclosed in square brackets (e.g., &amp;#039;&amp;#039;[&amp;lt;item-x&amp;gt;]&amp;#039;&amp;#039;).&lt;br /&gt;
* Where items need to be grouped they are enclosed in simple parenthesis; for example:&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
(&amp;lt;item-1&amp;gt; | &amp;lt;item-2&amp;gt;) *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*signifies a sequence of one or more items, each of which is &amp;lt;item-1&amp;gt; or &amp;lt;item-2&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===BNF in UML examples⌘===&lt;br /&gt;
[[File:ClipCapIt-160427-121835.PNG]]&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
&amp;lt;transition&amp;gt; ::== [&amp;lt;trigger&amp;gt; [‘,’ &amp;lt;trigger&amp;gt;]* &lt;br /&gt;
                  [‘[‘ &amp;lt;guard&amp;gt;’]’] &lt;br /&gt;
                  [‘/’ &amp;lt;behavior-expression&amp;gt;]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Examples:&lt;br /&gt;
* In groups try to write BNF describing date and time structure&lt;br /&gt;
* valid values are:&lt;br /&gt;
** 2010 05 11&lt;br /&gt;
** 2010 05 11 10:00&lt;br /&gt;
** 2010 05 11 10:00:05&lt;br /&gt;
** Monday, 2010 05 11&lt;br /&gt;
** Monday, 2010 05 11 10:00&lt;br /&gt;
** Monday, 2010 05 11 10:00:05&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Namespace⌘===&lt;br /&gt;
*Named Element represents an element that &amp;#039;&amp;#039;&amp;#039;may&amp;#039;&amp;#039;&amp;#039; have a name and a visibility&lt;br /&gt;
*Namespace is a named element that can own other named elements &lt;br /&gt;
* Each named element may be owned by at most one namespace&lt;br /&gt;
* Namespace provides a container for named elements which are called its &amp;#039;&amp;#039;&amp;#039;ownedMembers&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* All the members of a &amp;#039;&amp;#039;&amp;#039;namespace&amp;#039;&amp;#039;&amp;#039; are distinguishable within it&lt;br /&gt;
* A Namespace may also import NamedElements from other Namespaces which are &amp;#039;&amp;#039;&amp;#039;members&amp;#039;&amp;#039;&amp;#039; of the importing Namespace.&lt;br /&gt;
&lt;br /&gt;
====Distinguishability  Rule⌘====&lt;br /&gt;
[[File:ClipCapIt-160616-095602.PNG]]&lt;br /&gt;
&lt;br /&gt;
* Named Elements may appear within a Namespace according to rules that specify how one Named Element is distinguishable from another. &lt;br /&gt;
* The default rule is that two members are distinguishable:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;if they have different names&amp;#039;&amp;#039;&amp;#039; or &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;if they have the same names, but their metaclasses are different&amp;#039;&amp;#039;&amp;#039; and neither is a (direct or indirect) subclass of the other.&lt;br /&gt;
* This rule may be overridden for particular cases, such as Operations that are distinguished by their signature.&lt;br /&gt;
&lt;br /&gt;
====Package⌘====&lt;br /&gt;
[[File:UMLPackage.png]]&lt;br /&gt;
* Package is used to group elements, and provides a namespace for the grouped elements.&lt;br /&gt;
* A Packageable Element is a Named Element that may be owned directly by a Package.&lt;br /&gt;
* The visibility of a packagedElement may be indicated by preceding the name by a visibility symbol (‘+’ for public and ‘-’ for private).&lt;br /&gt;
* &amp;lt;!-- [[File:ClipCapIt-141024-151711.PNG]]  --&amp;gt;Default Packageable Element visibility is public.&lt;br /&gt;
* qualified name:&lt;br /&gt;
 package name::element name&lt;br /&gt;
&lt;br /&gt;
=====Package URI⌘=====&lt;br /&gt;
[[File:ClipCapIt-160616-134513.PNG]]&lt;br /&gt;
&lt;br /&gt;
* The URI can be specified to provide a unique identifier for a Package.&lt;br /&gt;
* The URI should be &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039; and unchanged once assigned. &lt;br /&gt;
* There is no requirement that the URI be dereferenceable.&lt;br /&gt;
&lt;br /&gt;
=====Package nesting⌘=====&lt;br /&gt;
[[File:ClipCapIt-160105-205328.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Package Import, Access⌘====&lt;br /&gt;
[[File:PackageImportAccess.png]]&lt;br /&gt;
&lt;br /&gt;
A package import is defined as a directed relationship that identifies a package whose members are to be imported by a&lt;br /&gt;
namespace.&lt;br /&gt;
&lt;br /&gt;
Two types:&lt;br /&gt;
* «import» for a &amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039; package import&lt;br /&gt;
** transitive: if A imports B and B imports C then A indirectly imports C&lt;br /&gt;
* «access» for a &amp;#039;&amp;#039;&amp;#039;private&amp;#039;&amp;#039;&amp;#039; package import&lt;br /&gt;
** intransitive&lt;br /&gt;
&lt;br /&gt;
=====Package Import, Access Example⌘=====&lt;br /&gt;
[[File:PackageImportExample.png]]&lt;br /&gt;
* elements in Types are imported to ShoppingCart, and then further imported to WebShop&lt;br /&gt;
* elements of Auxiliary are only accessed from ShoppingCart, and cannot be referenced from WebShop&lt;br /&gt;
&lt;br /&gt;
=====Import, Access Example⌘=====&lt;br /&gt;
[[File:ClipCapIt-160426-141442.PNG]]&lt;br /&gt;
* Elements in the Package Program to refer by name to the DataType Time in Types without qualification.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
However, they still need to refer explicitly to Types::Integer, as this Element is not&lt;br /&gt;
imported. The DataType String is imported into the Program Package but it is not publicly visible as a member of&lt;br /&gt;
Program outside of that Package, and it cannot be further imported from the Program Package by other Namespaces.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=====Import with aliasing⌘=====&lt;br /&gt;
[[File:ClipCapIt-160426-141633.PNG]]&lt;br /&gt;
* Element Import combined with aliasing, meaning that the DataType Types::Real will be referred to by name as Double in the package Shapes.&lt;br /&gt;
=====Textual syntax for an Import⌘=====&lt;br /&gt;
* It is possible to show a Package Import or Element Import by having a text that uniquely identifies the imported Package or Element within curly brackets either below or after the name of the Namespace, as an alternative to the dashed arrow.&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
&amp;lt;element-import&amp;gt; ::= ‘{element import ’ &amp;lt;qualified-name&amp;gt; ‘}’ | &lt;br /&gt;
     ‘{element access ’ &amp;lt;qualified-name&amp;gt; ‘}’&lt;br /&gt;
&lt;br /&gt;
&amp;lt;element-import&amp;gt; ::= ‘{element import ’ &lt;br /&gt;
    &amp;lt;qualified-name&amp;gt; ‘ as ’ &amp;lt;alias&amp;gt; ‘}’ | &lt;br /&gt;
    ‘{element access ’ &amp;lt;qualified-name&amp;gt; ‘as’ &amp;lt;alias&amp;gt; ‘}’&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=====Textual syntax example⌘=====&lt;br /&gt;
[[File:ClipCapIt-160426-141633.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
Shapes::Circle {element import Types::Real}&lt;br /&gt;
Shapes::Circle {element access Types::Real}&lt;br /&gt;
Shapes::Circle {element import Types::Real as Double}&lt;br /&gt;
Shapes::Circle {element access Types::Real as Double}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Types and Multiplicity⌘===&lt;br /&gt;
[[File:ClipCapIt-160427-103443.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ClipCapIt-160427-103537.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Types and Typed Elements⌘====&lt;br /&gt;
* A Type specifies a set of allowed values known as the instances of the Type. &lt;br /&gt;
* A TypedElement is a NamedElement that &amp;#039;&amp;#039;&amp;#039;may&amp;#039;&amp;#039;&amp;#039; have a type.&lt;br /&gt;
* Depending on the kind of Type, instances of the Type may be created or destroyed over time.&lt;br /&gt;
&lt;br /&gt;
====Multiplicities⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-164119.PNG]]&lt;br /&gt;
* A MultiplicityElement is an Element that may be instantiated in some way to represent a collection of values.&lt;br /&gt;
&lt;br /&gt;
====Multiplicity syntax⌘====&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
&amp;lt;multiplicity&amp;gt; ::= &amp;lt;multiplicity-range&amp;gt; [ [ ‘{‘ &amp;lt;order-designator&amp;gt; &lt;br /&gt;
   [‘,’ &amp;lt;uniqueness-designator&amp;gt; ] ‘}’ ] |&lt;br /&gt;
   [ ‘{‘ &amp;lt;uniqueness-designator&amp;gt; [‘,’ &amp;lt;order-designator&amp;gt; ] ‘}’ ] ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;multiplicity-range&amp;gt; ::= [ &amp;lt;lower&amp;gt; ‘..’ ] &amp;lt;upper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lower&amp;gt; ::= &amp;lt;value-specification&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;upper&amp;gt; ::= &amp;lt;value-specification&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;order-designator&amp;gt; ::= ‘ordered’ | ‘unordered’&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uniqueness-designator&amp;gt; ::= ‘unique’ | ‘nonunique’&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
====Collection types for Multiplicity⌘====&lt;br /&gt;
[[File:ClipCapIt-161021-110957.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;isOrdered&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;isUnique&amp;#039;&amp;#039;&amp;#039; properties can be used to specify that the collection of values in an instantiation of a MultiplicityElement is of one of four types.&lt;br /&gt;
&lt;br /&gt;
===Constraints⌘===&lt;br /&gt;
* A Constraint is an assertion that indicates a &amp;#039;&amp;#039;&amp;#039;restriction that must be satisfied&amp;#039;&amp;#039;&amp;#039; by any valid realization of the model containing the Constraint.&lt;br /&gt;
* If the constraint specification evaluates to true, then the Constraint is satisfied at that time. &lt;br /&gt;
* If the specification evaluates to false, then the Constraint is not satisfied, and the realization of the model in which the evaluation occurs is not valid.&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
&amp;lt;constraint&amp;gt; ::= ‘{‘ [ &amp;lt;name&amp;gt; ‘:’ ] &amp;lt;boolean-expression&amp;gt; ‘ }’&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dependencies⌘===&lt;br /&gt;
[[File:ClipCapIt-160616-104216.PNG]]&lt;br /&gt;
* A Dependency signifies a supplier/client relationship between model elements where the modification of a supplier may impact the client model elements.&lt;br /&gt;
* A Dependency is shown as a dashed arrow between two model Elements. &lt;br /&gt;
* The model Element at the tail of the arrow (the client) depends on the model Element at the arrowhead (the supplier). The arrow may be labeled with an optional keyword or stereotype and an optional name.&lt;br /&gt;
====Dependency kind⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-150854.PNG]]&lt;br /&gt;
====Usage ⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-160738.PNG]]&lt;br /&gt;
* A Usage is a Dependency in which one NamedElement requires another NamedElement (or set of NamedElements) for its full implementation or operation. &lt;br /&gt;
* The Usage does not specify how the client uses the supplier other than the fact that the supplier is used by the definition or implementation of the client.&lt;br /&gt;
&lt;br /&gt;
====Instantiate ⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-160041.PNG]]&lt;br /&gt;
* A usage dependency among classifiers indicating that operations on the client create instances of the supplier.&lt;br /&gt;
&lt;br /&gt;
====Abstraction ⌘====&lt;br /&gt;
[[File:ClipCapIt-161021-111539.PNG]]&lt;br /&gt;
* An Abstraction is a Dependency that relates two NamedElements or sets of NamedElements that represent the same concept at different levels of abstraction or from different viewpoints. &lt;br /&gt;
* Depending on the specific stereotype of Abstraction, the mapping may be formal or informal, and it may be unidirectional or bidirectional. &lt;br /&gt;
* Abstraction has predefined stereotypes (such as «&amp;#039;&amp;#039;&amp;#039;Derive&amp;#039;&amp;#039;&amp;#039;», «&amp;#039;&amp;#039;&amp;#039;Refine&amp;#039;&amp;#039;&amp;#039;», and «&amp;#039;&amp;#039;&amp;#039;Trace&amp;#039;&amp;#039;&amp;#039;») that are defined in the Standard Profile.&lt;br /&gt;
&lt;br /&gt;
====Manifestation⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-160433.PNG]]&lt;br /&gt;
* An Artifact may embody, or manifest, a number of model elements.&lt;br /&gt;
* Manifestation represents implementation of one or more model elements by an artifact.&lt;br /&gt;
&lt;br /&gt;
====Derive ⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-161516.PNG]]&lt;br /&gt;
* Specifies a derivation relationship among model elements that are usually, but not necessarily, of the same type. &lt;br /&gt;
* A derived dependency specifies that the client may be computed from the supplier. &lt;br /&gt;
* The client may be implemented for design reasons, such as efficiency, even though it is logically redundant.&lt;br /&gt;
&lt;br /&gt;
====Refine ⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-152648.PNG]]&lt;br /&gt;
* Specifies a refinement relationship between model elements at different semantic levels, such as &amp;#039;&amp;#039;&amp;#039;analysis&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;design&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* The mapping specifies the relationship between the two elements or sets of elements. &lt;br /&gt;
* The mapping may be unidirectional or bidirectional. &lt;br /&gt;
* Refinement can be used to model transformations from analysis to design and other such changes.&lt;br /&gt;
&lt;br /&gt;
====Trace ⌘====&lt;br /&gt;
[[File:ClipCapIt-161019-163304.PNG]]&lt;br /&gt;
* Specifies a trace relationship between model elements or sets of model elements that represent the same concept in different models. &lt;br /&gt;
* Traces are mainly used for tracking requirements and changes across models. &lt;br /&gt;
* As model changes can occur in both directions, the directionality of the dependency can often be ignored. &lt;br /&gt;
* The mapping specifies the relationship between the two, and is usually informal.&lt;br /&gt;
&lt;br /&gt;
===Time⌘===&lt;br /&gt;
* UML uses &amp;#039;&amp;#039;&amp;#039;simple model of time&amp;#039;&amp;#039;&amp;#039; for situations in which the more complex aspects of time and time measurement can safely be ignored.&lt;br /&gt;
* An &amp;#039;&amp;#039;&amp;#039;event&amp;#039;&amp;#039;&amp;#039; is a specification of something that may occur at a specific point in time.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Time&amp;#039;&amp;#039;&amp;#039; is simply a coordinate that orders the occurrence of events. Every event occurrence can be given a time coordinate value and, based on this, can be said to be before, after or at the same time as another event occurrence.&lt;br /&gt;
* A &amp;#039;&amp;#039;&amp;#039;duration&amp;#039;&amp;#039;&amp;#039; is the period of time between two event occurrences, computed as the difference of the time coordinates of those events.&lt;br /&gt;
* An &amp;#039;&amp;#039;&amp;#039;Observation&amp;#039;&amp;#039;&amp;#039; denotes the observation of events that may occur relative to some other part of a model. &lt;br /&gt;
* There are two kinds of Observations, TimeObservations and DurationObservations.&lt;br /&gt;
&lt;br /&gt;
===Intervals⌘===&lt;br /&gt;
* An Interval is a range between two values, primarily for use in Constraints that assert that some other Element has a value in the given range.&lt;br /&gt;
* Intervals can be defined for any type of value, but they are especially useful for time and duration values as part of corresponding TimeConstraints and DurationConstraints.&lt;br /&gt;
&amp;lt;source  lang=bnf&amp;gt;&lt;br /&gt;
&amp;lt;interval&amp;gt; ::= &amp;lt;min-value&amp;gt; ‘ ..’ &amp;lt;max-value&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
====Duration/Time Constraints on Sequence diagram⌘====&lt;br /&gt;
[[File:ClipCapIt-160616-105714.PNG]]&lt;br /&gt;
&lt;br /&gt;
A TimeConstraint of a single constrainedElement may be shown as a small line between the graphical representation of the constrainedElement and the textual representation of the TimeInterval of TimeConstraint.&lt;br /&gt;
&lt;br /&gt;
====Duration/Time Constraints on Timing diagram⌘====&lt;br /&gt;
[[File:ClipCapIt-161020-115923.PNG]]&lt;br /&gt;
&lt;br /&gt;
A DurationConstraint may also be shown using a graphical notation relating its constrainedElements. However, the notation used is specific to the diagram type on which the DurationConstraint appears.&lt;br /&gt;
&lt;br /&gt;
===Information Flows⌘===&lt;br /&gt;
[[File:ClipCapIt-160616-140100.PNG]]&lt;br /&gt;
* The InformationFlows package supports exchange of information between system entities &amp;#039;&amp;#039;&amp;#039;at high levels&amp;#039;&amp;#039;&amp;#039; of abstraction.&lt;br /&gt;
* Information Flows describe &amp;#039;&amp;#039;&amp;#039;circulation of information&amp;#039;&amp;#039;&amp;#039; through a system in a general manner. They do not specify the nature of the information, mechanisms by which it is conveyed, sequences of exchange, or any control conditions.&lt;br /&gt;
* Information moving along the information channel may be represented by abstract &amp;#039;&amp;#039;&amp;#039;InformationItems&amp;#039;&amp;#039;&amp;#039; and by concrete Classifiers.&lt;br /&gt;
====Information Flow notation⌘====&lt;br /&gt;
[[File:ClipCapIt-161020-125634.PNG]]&lt;br /&gt;
&lt;br /&gt;
Attached to the dashed «flow» lines of an InformationFlow, with name displayed close to the appropriate «flow» line.&lt;br /&gt;
&lt;br /&gt;
[[File:ClipCapIt-161020-125643.PNG]]&lt;br /&gt;
&lt;br /&gt;
Attached to a realization of an InformationFlow’s information channel, a black-filled isosceles triangle on the information channel indicates the direction of information flow. When representing several InformationItems having the same direction, only one triangle is shown, with a nearby list of InformationItem names separated by commas.&lt;br /&gt;
&lt;br /&gt;
[[File:ClipCapIt-161020-125914.PNG]]&lt;br /&gt;
&lt;br /&gt;
When displayed independently of their InformationFlows, InformationItems may be represented as names inside rectangles. The rectangle is adorned with the «information» keyword or with a solid, black-filled isosceles triangle.&lt;/div&gt;</summary>
		<author><name>Filip Stachecki</name></author>
	</entry>
</feed>