<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! 1.5 - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>UML4AS - UML for ActionScript and Flex - Documentation</title>
		<description>UML4AS - UML for ActionScript and Flex. Developer friendly UML modeling tool with bi-directional code synchronization for AS and Flex.</description>
		<link>http://www.uml4as.com/flower-platform/documentation.html</link>
		<lastBuildDate>Thu, 05 Feb 2015 13:20:39 +0000</lastBuildDate>
		<generator>Joomla! 1.5 - Open Source Content Management</generator>
		<language>en-gb</language>
		<item>
			<title>UML4AS Release Notes</title>
			<link>http://www.uml4as.com/flower-platform/documentation/25-uml4as-release-notes.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/25-uml4as-release-notes.html</guid>
			<description><![CDATA[<h1><a name="1.0.1"></a>UML4AS version 1.0.1 (2012-01-09)</h1>
<ul>
<li>The installer program is robust with Eclipse installations that have configuration issues</li>
</ul>
<h1>UML4AS version 1.0.0 (2011-12-16)</h1>
<ul>
<li>Minor bug fixes</li>
</ul>
<h1><a name="1.0.0.RC1"></a>UML4AS version 1.0.0 Release Candidate 1 (2011-12-06)</h1>
<h2>Diagram Features</h2>
<ul>
<li>Improved ergonomics: <br /> 
<ul>
<li>create a new element (e.g. class) <strong>or</strong> a new line (e.g. dependency) by dragging (no need to use the toolbar)</li>
<li>add a new element on diagram using content assist</li>
<li>+ the combination of the above, in one operation as well (e.g. drag to create a generalization towards a type searched with the content assist)</li>
</ul>
Layout fine-tuning:  
<ul>
<li>z-order management of the elements (send to back/bring to front commands)</li>
<li>align elements</li>
<li>distribute elements</li>
<li>resize elements</li>
<li>basic auto layout algorithm</li>
</ul>
</li>
<li>Customizable diagram grid</li>
<li>Diagram print </li>
<li>Diagram export (as image, as pdf)</li>
<li>Each diagram has a default package for new element creation</li>
<li>Improved style editor</li>
<li>Styles customization: create quick styles</li>
<li>Fixed DND problems on Mac and Windows (using native code)</li>
</ul>
<h2>General Features</h2>
<ul>
<li>Simplified install, upgrade and uninstall using an installer application</li>
<li>Improved Model  Source Navigation (using shortcuts)</li>
<li>Predefined Flex libraries (e.g. Flex 3.5, Flex 4.1, Flex 4.5)</li>
<li>Easy diagram creation from selected tree elements</li>
<li>Generate getter and setter methods</li>
<li>Add overridden methods</li>
<li>New Flower Models Navigator that displays all models in the workspace (not just the opened ones)</li>
</ul>
<h1><a name="1.0.0.M2"></a>UML4AS version 1.0.0.M2 update 2 (2011-01-12)</h1>
<h2>Solved Bugs</h2>
<ul>
<li><a href="http://www.flower-platform.com/forum/index.php?topic=85.0">#2488-FI: ASFunctions/Properties with identical name, but one with static modifier not supported</a></li>
<li><a href="http://www.flower-platform.com/forum/index.php?topic=46.0">#2709-FI: Error while parsing array initializers</a></li>
<li><a href="http://www.flower-platform.com/forum/index.php?topic=138.0">#3472-FI: Cannot drag and drop class from model tree onto diagram on Mac</a></li>
<li>and others</li>
</ul>
<h1>UML4AS version 1.0.0.M2 update 1 (2010-12-28)</h1>
<h2>Solved Bugs</h2>
<ul>
<li>#<a href="http://www.flower-platform.com/forum/index.php?topic=127.0">3460-FI: M2 install problem in FB4 stand alone (Cannot satisfy dependency ...)</a></li>
<li>"Go to Source" not working for MXML classes</li>
</ul>
<h1>UML4AS version 1.0.0.M2 (2010-12-23)</h1>
<p>Starting with this version, the installation of UML4AS is done using the site update mechanism. Please follow the <a href="http://www.uml4as.com/flower-platform/index.php?option=com_content&amp;view=article&amp;id=16:requirements-install-uninstall&amp;catid=4&amp;Itemid=10">install/uninstall instructions</a>, because any older version needs to be uninstalled <span style="text-decoration: underline;">manually</span>.</p>
<h2>General Features</h2>
<ul>
<li>Navigation within model: model relations can be navigated (either from the "Relations" section of the model tree, or using the "Model Relations" or "Containing Diagrams" context menu. Diagrams containing an element are displayed as well under the "Relations" section of the model tree.</li>
<li>Model/source navigation: via the "Go to Source File"/"Go to Model" context menu entries</li>
<li>Automatic synchronization can be enabled/disabled per model file  (right click on the Eclipse project/Properties). A new option exists  (Auto Open) which automatically opens selected model file(s) when  Eclipse starts</li>
<li>Improved, non-intrusive error handling and reporting</li>
<li>Lock Sync disables element validation &amp; file parsing (before elements were only ignored during synchronization)</li>
</ul>
<h2>Diagram Features</h2>
<ul>
<li>Simplified new element creation: draw a rectangle on the diagram (it is green if nothing is selected) and select element type</li>
<li>Auto enter in edit mode, after creating new elements. When adding an  element from the model tree, or a compartment element on the diagram  (annotation, attribute, operation), CTRL + ENTER finishes editing and  adds a new similar element</li>
<li>Pan behavior: hold shift and drag to scroll the diagram according to mouse movements</li>
<li>Selection tool setting: select elements by fully or partially surrounding them with the selection rectangle</li>
<li>Visual styles: almost all Flex CSS styles can be modified for visual elements, in order to customize their appearance on the diagram. A style inheritance mechanism is in place.</li>
<li>Style for showing package name on diagram for classes/interfaces</li>
<li>Style for hiding method parameters</li>
<li>All tree context menu actions are shown within the diagram's context menu</li>
<li>Enable/disable diagram translation effects, hover effects</li>
<li></li>
</ul>
<h2>Solved Bugs</h2>
<p>Over 60 bugs were fixed (among them #2948-<img src="http://www.uml4as.com/flower-platform/file:///C:/Users/Cristi/AppData/Local/Temp/moz-screenshot.png" />FI: Flex socket communication error, #3061-FI: Don't throw error on "include" and "script source"). Thanks a lot for your feedback on the forum, via the error reporting or direct.</p>
<h2>Known Issues</h2>
<p>Cf. 1.0.0.M1.</p>
<h1>UML4AS version 1.0.0.M1 (2010-08-13)</h1>
<p>Please follow the install/uninstall instructions and make sure that you  uninstall any older UML4AS version. For the next version we are planning a simplified install procedure.</p>
<h2>Features / Solved Bugs</h2>
<ul>
<li>Experimental Use Case, Activity and Sequence diagrams</li>
<li>Bug fixes                                     
<ul>
<li>#2723-FI: Mac freezes after dragging elements from navigator over a diagram; the drag &amp; drop mechanism for Mac was redesigned, as the previous implementation was quite buggy; now a native piece of code is used for proper DND handling</li>
<li>#2640-FI: Error if using Web Project (from WTP)</li>
<li>Added some shortcuts for Mac: CMD + A (Select all in a diagram), CMD + Mouse Wheel (zoom in a diagram), CMD + Enter (submits modifications for the Documentation view)</li>
<li>#2361-FI: Refresh problems for Flower Models Navigator; sometimes create actions were disappearing from the context menu</li>
<li>Known issue #1 from the previous release; now multiple Eclipse instances can run, with UML4AS enabled</li>
<li>Compatibility with FDT 4 and Eclipse 3.6</li>
<li>+ other bugs, from the error reports and/or discovered internally</li>
</ul>
</li>
</ul>
<h2>Known Issues</h2>
<p><strong>NOTE: </strong>On some systems we noticed the following behavior: diagrams don't open and an error message appears: <strong>Java/Flex socket communication error</strong>. If this happens, please use the patch provided here: <a href="http://www.flower-platform.com/forum/index.php?topic=69.msg311#msg311">http://www.uml4as.com/forum/index.php?topic=69.msg311#msg311</a>.</p>
<ol>
<li>Drag &amp; drop from the tree to the diagram, in Windows: sometimes it doesn't work. Temporary work-around: drag the selection to the diagram, standing still (i.e. don't move the mouse): release mouse button, click again; the element is dropped.</li>
<li>Models Navigator View: it doesn't properly refresh when the model tree changes; we recommend not to use it yet, until this issue is solved.</li>
<li>On some Mac installations, a Flash error message box could appear from the Model Properties View. <br /><span style="font-family: courier new,courier;">Java/Flex socket communication error</span><br /><span style="font-family: courier new,courier;">[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Security sandbox violation: ..../AppPropertiesEditorRelease.swf cannot load data from 127.0.0.1:18002."]</span><br />If this happens, the view needs to be closed + opened again. Please report this issue if it appears, ideally with a reproduction scenario.</li>
<li>On some Mac installations, the Flash edit boxes don't respond to Enter or CTRL+Enter (editing classes, attributes, operations, notes). In this case, after having finished editing, click with the mouse somewhere on the diagram, outside the edit box. The problem doesn't seem to appear on FDT 4.</li>
<li>(KI #2 from the previous version) Drag and drop within the model tree: some invalid operations are permitted (e.g. move a class within another class, etc). Please be cautions when doing dnd within the model tree.</li>
</ol>
<h1>UML4AS version 1.0.0.M0  (2010-06-11)</h1>
<p>Please follow the install/uninstall instructions and make sure that you uninstall any older UML4AS version.</p>
<h2>Features / Solved Bugs</h2>
<ul>
<li>Copy/Cut and Paste (for model tree and diagrams)</li>
<li>Mac support</li>
<li>Improved AS3 compliance</li>
<li>Flower Modeling perspective</li>
<li>Parse error fail safe (synchronization continues even if there are  files with parse errors)</li>
<li>Bug fixes<br /> 
<ul>
<li>#2486-FI: Conditional Compilation Support</li>
<li>#2580-FI: Support for for flex4/generic arrays</li>
<li>#2496-FI: ActionScriptParser fails for methods outside classes</li>
<li>#2539-FI: Validation error for Flex 4/"library://ns.adobe.com/flex/mx"</li>
<li>#2540-FI: Parsing fails when including class names inside bodie.</li>
<li>#2541-FI: Documentation synchronization does not support special characters</li>
<li>#2542-FI: Parsing problem: Unexpected token DOT at line 1.</li>
<li>#2543-FI: Resource changed notification received before detection of metamodels</li>
<li>#2549-FI: Static initializer blocks</li>
<li>#2560-FI: Unexpected token STAR_ASSIGN (parameter or variable declaration)<br />#2603-FI: Sel tool doesn't select all items if zoom level is smaller than 100%</li>
<li>+ other bugs, discovered internally</li>
</ul>
</li>
</ul>
<h2>Known Issues</h2>
<ol>
<li>UML4AS doesn't work correctly if more than 1 eclipse instance exists. On Windows there is a work-around: Windows/Preferences/Flower Modeling Platform/"Use JavaScript bridge for ..." -&gt; enabled on the 2nd eclipse instance.</li>
<li>Drag and drop within the model tree: some invalid operations are permitted (e.g. move a class within another class, etc). Please be cautions when doing dnd within the model tree.</li>
</ol>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Fri, 11 Jun 2010 12:33:40 +0000</pubDate>
		</item>
		<item>
			<title>Requirements, Install, Uninstall</title>
			<link>http://www.uml4as.com/flower-platform/documentation/16-requirements-install-uninstall.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/16-requirements-install-uninstall.html</guid>
			<description><![CDATA[<h1>Requirements</h1>
<h2>Eclipse Versions</h2>
<p>{jumi [pn.inc]} is a product based on the <a href="http://www.eclipse.org">Eclipse Platform</a>. In order to use it, you should have an already existing installation of an Eclipse (or Eclipse based) IDE. If you don't, please download one from the Eclipse download section (<a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a>; Eclipse IDE for Java EE Developers is recommended).</p>
<p>The Eclipse version of your IDE should be at least 3.3. We have tested {jumi [pn.inc]} on the following configurations:</p>
<ul>
<li>Eclipse 3.3 + Flex Builder 3 Plug-in</li>
<li>Eclipse 3.5 + Flex Builder 3 Plug-in</li>
<li>FDT 3.5 (Eclipse 3.5 based)</li>
<li>Flash Builder 4 Standalone (Eclipse 3.5 based)</li>
<li>Flash Builder 4.5</li>
<li>Eclipse 3.6, 3.7</li>
</ul>
<h2>Operating Systems</h2>
<p>Windows family and Mac OS operating systems are supported. Linux OS is not supported.</p>
<h1>UML4AS v1.0.0 beta and above</h1>
<p>Use the easy-to-use install wizard. You can install the software directly over an existing {jumi [pn.inc]} installation (including M2, M1, etc.).</p>
<h1><a name="install-m2"></a>UML4AS v1.0.0.M2 and v1.0.0.M3</h1>
<p>If you upgrade from {jumi [pn.inc]} version 1.0.0.M1 or below, please uninstall <a href="http://www.uml4as.com/flower-platform/#uninstall-old">the application using the "old" procedure</a>. The installation is done using the local Eclipse update site mechanism.</p>
<ul>
<li><strong>download</strong> the <a href="http://www.uml4as.com/flower-platform/download">latest version</a> of {jumi [pn.inc]} and save it locally on you disk</li>
<li>for Eclipse version <strong>>= 3.4</strong>, go to Help/Install New Software.../Add/Archive... and select the file you have downloaded; then select Uncategorized/Flower Modeling Platform - UML4AS</li>
<li>for Eclipse version <strong>3.3</strong>, go to Help/Softare Updates/Find and Install.../Search for new features to install/New Archived Site and select the file you have downloaded; then select Uncategorized/Flower Modeling Platform - UML4AS</li>
</ul>
<h1>UML4AS v1.0.0.M1 and below</h1>
<h2>Install</h2>
<p>For the moment {jumi [pn.inc]} needs to be installed manually. We are investigating a better approach (either update site based or installer based). Please follow the following steps:</p>
<ul>
<li><strong>download</strong> the <a href="http://www.uml4as.com/flower-platform/download">latest version</a> of {jumi [pn.inc]} and unzip it somewhere on your disk, in a temporary folder (e.g. d:/temp/uml4as); you will see 2 directories: features, plugins</li>
<li>go to your existing Eclipse (or Eclipse based product, e.g. d:/java/eclipse); among others, you will see as well the following 2 directories: features, plugins</li>
<li><strong>uninstall </strong>{jumi [pn.inc]} if another version already exists (please see below)</li>
<li><strong>copy </strong>all the contents you unzipped, into the Eclipse directory (e.g. d:/temp/uml4as to d:/java/eclipse)</li>
<li><strong>start </strong>Eclipse; you should see an "About UML4AS" entry in the Help menu; that means the product has been successfully installed</li>
</ul>
<p> </p>
<p style="text-align: center;"><img style="border-style: solid; border-width: 1px;" alt="about_menu_entry" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_install/about_menu_entry.png" height="210" width="322" />  <img style="border-width: 1px; border-style: solid;" alt="about_dialog" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_install/about_dialog.png" height="210" width="311" /></p>
<p>Possible problems: if you don't see the "About UML4AS" menu entry, try the following:</p>
<ul>
<li>stop Eclipse</li>
<li>delete all files and folders starting with "com.crispico.flower.mp*" form the /features and /plugins folders<br />open a command prompt (e.g. Start Menu, Run, cmd)<br />go to the Eclipse folder (e.g. d:, cd d:/java/eclipse)<br />start Eclipse with the -clean argument (e.g. eclipse -clean; if eclipse.exe doesn't exist, there should be another executable, e.g. FlexBuilder.exe)</li>
<li>repeat the installation procedure; when starting eclipse, use the -clean command line option again</li>
<li>if the problem still persists, please use our <a href="http://www.flower-platform.com/forum">forum</a> to get in contact with us</li>
</ul>
<h2><a name="uninstall-old"></a>Uninstall</h2>
<p>To uninstall {jumi [pn.inc]} from your Eclipse installation, delete all files and folders starting with "com.crispico.flower.mp*"  form the /features and /plugins folders (from your Eclipse installation directory, e.g. d:/java/eclipse).</p>
<h1><a name="uml4as_java"></a>UML4AS + Java</h1>
<p>The extended version of {jumi [pn.inc]} that has support for the Java programming language has similar requirements and install instructions with the following notes:</p>
<ul>
<li>the Eclipse host installation needs to contain the JDT plugins (i.e. support for Java development) . You can use an Eclipse downloaded from here: <a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a>. Regarding commercial Flash IDEs: 
<ul>
<li><a href="http://fdt.powerflasher.com/">FDT</a> already has the JDT plugins</li>
<li><a href="http://www.adobe.com/products/flash-builder.html">Flash Builder</a> stand alone doesn't include the plugins. You could use a plain Eclipse installation and install the Flash Builder plugin instead</li>
</ul>
</li>
</ul>
<p>Before installing UML4AS + Java, please uninstall any existing version of UML4AS.</p>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Wed, 19 May 2010 16:10:42 +0000</pubDate>
		</item>
		<item>
			<title>Getting Started Tutorial</title>
			<link>http://www.uml4as.com/flower-platform/documentation/17-getting-started-tutorial.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/17-getting-started-tutorial.html</guid>
			<description><![CDATA[<p>You have successfully installed {jumi [pn.inc]}, and you are using it for the first time. You are in the right place.</p>
<h1>Creating a New UML4AS Model File</h1>
<p>For this tutorial, please create (or open an existing) ActionScript/Flex project. For example, <em>MyFirstUML4ASProject</em> that already has a source directory (<em>src)</em> and a MXML file (<em>MyFirstUML4ASProject.mxml</em>).</p>
<p> </p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="initial_project" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/initial_project.png" /></p>
<p>Create a new folder (right click on the project, New/Folder) and name it <em>model</em>. Create a new model file inside:</p>
<ul>
<li>right click on the <em>model</em> folder, New/Other/Flower Modeling Platform/UML4AS File;</li>
<li>first step of the wizard: select the file name (i.e. <em>model</em>);</li>
<li>2nd step: select an already existent directory that holds AS source files. E.g. select <em>src</em> from the current project. You can select directories from other projects as well, and you can also add them after the file is created (by right clicking on the Root entry of your file, Create ActionScript Element/SrcDirPackage).</li>
</ul>
<div style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="wizard1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/wizard1.png" />&nbsp;&nbsp;&nbsp; <img style="border-width: 1px; border-style: solid;" alt="wizard2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/wizard2.png" /></div>
<div style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="wizard3" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/wizard3.png" width="268" height="448" />&nbsp;&nbsp; <img style="border-width: 1px; border-style: solid;" alt="wizard4" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/wizard4.png" width="268" height="448" /></div>
<h1 style="text-align: justify;">Project Explorer, Automatic Synchronization</h1>
<p>The contents of an UML4AS model file can be viewed in the <em>Project Explorer</em> view. If this view is not already available on your system, enable it from Window/Show View/Other/General/Project Explorer. Once enabled, drag it over the existing <em>Navigator</em> view.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="proj_expl1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/proj_expl1.png" width="297" height="200" />&nbsp; <img style="border-width: 1px; border-style: solid;" alt="proj_expl2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/proj_expl2.png" width="275" height="200" /></p>
<p style="text-align: justify;">The <em>Project Explorer</em> view displays the content of the workspace just like the <em>Navigator</em> view. However please notice that&nbsp; the <em>model.uml4as</em> file has a + sign next to it in the <em>Project Explorer</em> view (that was not in the <em>Navigator</em>). Clicking on it, opens the file and displays its contents. But before doing that, adjust some global settings (from Window/Preferences/Flower Modeling Platform):</p>
<ul>
<li> Enable automatic synchronization -&gt; true. With this setting on, the model/code synchronization is performed automatically when a resource is saved in the workspace (source file and/or model file); otherwise it should be invoked manually, by right clicking on the SrcDir and selecting Synchronize.</li>
<li>Flat package presentation -&gt; true. With this setting on, the packages will be shown in a flat way (like in java) rather than a tree style presentation. (Note: as of UML4AS 1.0.0.M0, this setting is by default true).</li>
<li></li>
</ul>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="settings" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/settings.png" width="468" height="215" /></p>
<p style="text-align: justify;">When you open the model file, the synchronization is performed and you can see the model contents:</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="model_file_contents" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/model_file_contents.png" width="283" height="301" /></p>
<p style="text-align: justify;">The root entry contains the following elements:</p>
<ul>
<li>The <em>src</em> SrcDir (or longer, Source Directory Package). This is a special package that maps to a source directory on the file system. The path is relative to the current project. You can have several SrcDirs in a model file, and they can belong to other projects in the workspace as well (e.g. ../otherProject/src).</li>
<li><em>ActionScriptUnknownTypes</em> is another special package. {jumi [pn.inc]} puts here any type references that it finds during synchronization but cannot be resolved to a known implementation (e.g. primitive types, classes from the Flex framework or from swc libraries).</li>
</ul>
<h1>Adding and Modifying Source Files</h1>
<p>Add some source files in the project. For example:</p>
<ul>
<li><em>com.uml4as.example.MyInterface</em> with some methods</li>
<li><em>com.uml4as.example.MyClass</em> with some attributes and methods</li>
</ul>
<p>Please notice that when adding elements (packages, files) or saving files, the model structure is updated (because you turned on the automatic synchronization).</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="model_file_contents2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/model_file_contents2.png" width="334" height="374" /></p>
<h1 style="text-align: justify;">Working with Diagrams</h1>
<p>The model can be modified in two ways: from the model tree (by right clicking) or from diagrams. Of course, the main idea behind {jumi [pn.inc]} is to use diagrams. Right click on the <em>Root</em> package, Create Element/Package. Right click on it/Rename (or press F2) to change the name (e.g. <em>Diagams</em>). Right click on it, Create Diagram/Class Diagram. Double click and it opens.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="model_file_contents3" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/model_file_contents3.png" width="219" height="140" /></p>
<p style="text-align: justify;">Select some classes/interfaces from the model tree and drag them on the diagram (e.g.<em> MyClass, MyInterface, MyFirstUML4ASProject</em>).</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="dnd" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/dnd.png" width="496" height="179" /></p>
<p style="text-align: justify;">Now you can play with the diagram. For example,</p>
<ul>
<li>add a Realization between <em>MyClass</em> and <em>MyInterface</em> (using the Interface Realization tool from the toolbar),</li>
<li>add an Unidirectional Association between <em>MyFirstUML4ASProject</em> MXML class and <em>MyClass</em> class</li>
<li>hide uninteresting labels from the association (use CTRL + click for multiple selection)</li>
<li>rename the association attribute (by selecting + click or pressing F2) from <em>attribute1</em> to <em>myClass</em></li>
</ul>
<div style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="diagram1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/diagram1.png" width="501" height="359" /></div>
<div style="text-align: justify;">Saving the model,</div>
<div style="text-align: justify;">
<ul>
<li>makes the * dirty sign go away (from the diagram tab, the model file in Project Explorer and from Project Explorer tab),</li>
<li>synchronizes the model and the code; please observe the modifications made in the source files,</li>
<li>please observe as well the synchronization markers (upper/left corner of the element icon): they turned green (i.e. in sync with code); before they were red (i.e. element not in sync with the code) or yellow (i.e. some children not in sync with the code).</li>
</ul>
</div>
<h1 style="text-align: justify;">ActionScript and Analysis Elements, SrcDirs</h1>
<p>There are 2 types of model elements:</p>
<ul>
<li><strong>analysis elements</strong> (e.g. packages, classes, operations, etc.). They cannot be synchronized with code; they are generic elements, meant to be used while doing a high level analysis of the system, when discussing general principles, etc. They can be created from the "Create Element" context menu, or from the diagram</li>
<li><strong>language specific elements</strong> (in our case, <strong>ActionScript</strong>). They can be created from the tree (using the "Create ActionScript Element" context menu) or from the diagram as well. These elements map to ActionScript constructs.        
<ul>
<li>they have a slightly different icon with an "A" letter in the upper/right corner of the element icon,</li>
<li>they <strong>can be synchronized</strong> with the code <strong>IF</strong> they are contained in a SrcDir (directly or indirectly). In this case they have synchronization markers (upper left corner of the element icon),</li>
<li>if they are <strong>not contained</strong> in a SrcDir, they <strong>cannot be synchronized</strong>. Synchronizable AS Elements shouldn't be mixed with non-synchronizable ones</li>
</ul>
</li>
</ul>
<h1>Adding New Types on the Diagram</h1>
<p>There are 2 ways of doing this. The first one is by adding the element from the model tree and dragging it on the diagram. For example, add a <em>MyClass1</em> class (by right clicking on the <em>com.uml4as.example</em> ActionScript package) and drag it on the diagram.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="diagram2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/diagram2.png" width="485" height="221" /></p>
<p style="text-align: justify;">The other way of achieving this is to create the class from the diagram and move it (in the model tree) inside an ActionScript package. For example create the <em>MyClass2</em> on the diagram. You will notice that it has been created in the same package as the diagram. As you want it to be synchronized with the code, you need to move it inside an ActionScript package, e.g. <em>com.uml4as.example</em>.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="diagram3" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/diagram3.png" width="485" height="221" /></p>
<p style="text-align: justify;">Save the model file and observe the changes on the file system.</p>
<h1 style="text-align: justify;">Model Properties View, Documentation View</h1>
<p>The <em>Model Properties</em> view displays available properties for the selected model element (in diagram or model tree). To enable this view, go to Window/Show View/Flower Modeling Platform/Model Properties.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="properties_view" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/properties_view.png" width="288" height="206" /></p>
<p style="text-align: justify;">The <em>Documentation</em> view displays the documentation for the selected model element. To enable it, go to Window/Show View/Flower Modeling Platform/Documentation.</p>
<p style="text-align: center;"><img style="border-width: 1px; border-style: solid;" alt="documentation_view" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_getting_started/documentation_view.png" width="286" height="126" /></p>
<p style="text-align: justify;">As of UML4AS 1.0.0.M0, the Flower Modeling Perspective already contains the above views.</p>
<h1 style="text-align: justify;">Next Steps</h1>
<p>This tutorial has shown some basic usage principles. The next article in this Alpha documentation series will explain some other features more in detail.</p>
<p>Meanwhile please explore the {jumi [pn.inc]} product. If you find problems or if you would like a particular feature or if you just want to talk about it, we would be glad to discuss on the <a href="http://www.flower-platform.com/forum">forum</a>.</p>
<p>Thank you for reading and using {jumi [pn.inc]}.</p>
<div></div>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Wed, 19 May 2010 16:11:57 +0000</pubDate>
		</item>
		<item>
			<title>CodeSync Features Documentation</title>
			<link>http://www.uml4as.com/flower-platform/documentation/20-codesync-features-documentation.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/20-codesync-features-documentation.html</guid>
			<description><![CDATA[<h1>Basic Features</h1>
<h2>UML Compliance, Analysis Elements, ActionScript Elements</h2>
<p>{jumi [pn.inc]} is a graphical modeling tool that’s focused on code synchronization. The modeling language of {jumi [pn.inc]} is based on UML (Unified Modeling Language), with 2 particularities:</p>
<ul>
<li>It      supports a subset of the full UML specification, more precisely diagrams      and elements that are directly related to code, </li>
<li>It      extends existing UML elements that are rather generic, by adding      programming language specific elements. This way they are less generic and closer to the programming language.</li>
</ul>
<p>There are 2 types of elements (by elements we understand packages, classes, interfaces, attributes, operations, etc.):</p>
<ul>
<li><strong>Analysis</strong> Elements. They are      generic and cannot be synchronized with code. They are useful for high      level design, discussions, expressing ideas, etc.;</li>
</ul>
<p style="text-align: center;"><img class="img_border" alt="create_analysis_tree" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_analysis_tree.png" width="351" height="72" /> <img class="img_border" alt="create_analysis_diag" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_analysis_diag.png" width="112" height="77" /> <img class="img_border" alt="create_analysis" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_analysis.png" width="499" height="112" /></p>
<ul>
<li><strong>ActionScript</strong> specific elements. They      support AS specific constructs (i.e. annotations, constants, override      flag, etc.). </li>
</ul>
<p style="text-align: center;"><img class="img_border" alt="create_as_tree" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_as_tree.png" width="379" height="109" /><img class="img_border" alt="create_as_diag" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_as_diag.png" width="121" height="96" /><br /><img class="img_border" alt="create_as" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_as.png" width="584" height="257" /></p>
<p>ActionScript elements have a slightly different icons and an "A" letter in the <strong>upper right corner</strong>. ActionScript elements can be synchronized with code. For this, they need to be placed (directly or indirectly) inside a SrcDir. In this case they receive additional graphical elements: the <strong>synchronization markers</strong> in the <strong>upper left corner</strong> of the element icon.</p>
<h2>Code Synchronization and CodeSync Technology</h2>
<p>ActionScript model and code synchronization is THE feature of {jumi [pn.inc]}. To achieve this, a technology that’s called <strong>CodeSync</strong> is used. Compared to traditional tools, the CodeSync technology has a new and innovative way of working. It’s "more" focused on code, more flexible and friendlier to the developer.</p>
<p>The synchronization can work in 2 ways:</p>
<ul>
<li><strong>Automatically</strong>. It is      fired when elements from the workspace are saved (i.e. source code files      or model files);</li>
<li><strong>Manually</strong>.      The user invokes the synchronization manually using the context menu      action available on the SrcDir.</li>
</ul>
<p>The “Enable automatic synchronization” option from the “Flower Modeling Platform” preferences page controls this behavior.</p>
<h2>SrcDirs</h2>
<p>The CodeSync story begins with a <strong>SrcDir</strong>. The SrcDir (or longer, Source Directory Package) is a special package that maps to a source directory on the file system. Everything that’s contained within a SrcDir has a one to one mapping with what’s on the file system. An ActionScript SrcDir can contain only ActionScript elements (analysis elements are not welcome here).</p>
<p>On the other hand, an ActionScript element can be contained or not (directly or not) in a SrcDir. If it is the case, then it is synchronized with the code (it is called a <strong>synchronizable element</strong>). If not, it’s ignored during code synchronization.</p>
<p>A model file can have several SrcDirs, from the same or other projects from the Eclipse workspace.</p>
<h2>Synchronization Markers</h2>
<p>All ActionScript elements from (and including) a SrcDir (i.e. <strong>synchronizable elements</strong>) have graphical <strong>synchronization markers</strong>, in the upper left corner of the element icons, with the following meaning:</p>
<ul>
<li>Green      (<img style="margin: 0px;" alt="sync_markers_green" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_green.png" width="71" height="18" />) - the element &amp; its children are in sync with the code,</li>
<li>Red (<img style="margin: 0px;" alt="sync_markers_red" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_red.png" width="118" height="18" />) -      the element is not in sync with the code; it has modifications that are      not yet written,</li>
<li>Yellow (<img style="margin: 0px;" alt="sync_markers_yellow" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_yellow.png" width="158" height="18" />) - the element is in sync, but one of its children is not, or it is marked deleted,</li>
<li>Marked Deleted (<img style="margin: 0px;" alt="sync_markers_deleted" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_deleted.png" width="56" height="18" />) - the element is marked deleted; synchronizable elements cannot be directly deleted. They are marked for  deletion and they are deleted when synchronizing (or not, because a  delete can cause a conflict as well),</li>
<li>Conflict      (<img style="margin: 0px;" alt="sync_markers_conflict_red" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_conflict_red.png" width="110" height="18" />) - during the last synchronization, overlapping changes were detected; the      user needs to decide what to do in this case,</li>
<li>Conflicts on children (<img style="margin: 0px;" alt="sync_markers_conflict_orange" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_markers_conflict_orange.png" width="127" height="18" />) - the element has one/several children with conflicts.</li>
</ul>
<h2>CodeSync Differences</h2>
<p>The CodeSync Differences view is available from the tree context menu ("CodeSync Differences" entry), for each synchronizable element. It displays (for itself and its children) the state on the model, the state on the file system and the changes that were made.</p>
<p style="text-align: center;"><img class="img_border" alt="code_sync_differences" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/code_sync_differences.png" width="705" height="584" /></p>
<p>Using this view, changes made on the model can be reverted. This view is used as well when conflicts are detected. The user can keep the changes from the model, the changes from the code or a mix between them.</p>
<h1>Advanced Features</h1>
<h2>Timestamps and Version Management Systems</h2>
<p>The CodeSync engine processes files only if their timestamp has been modified since the last synchronization (or if there are changes on the model side). It adopts this strategy in order to optimize the synchronization speed. In the manual synchronization mode, a full synchronization (with disregard of timestamps) can be done by selecting "Synchronize Full (Ignore Time Stamps)" (on a SrcDir, although it is used rarely or never). The CodeSync Log view (see below) displays the action taken by the CodeSync engine for each file.</p>
<p style="text-align: center;"><img class="img_border" alt="sync_timestamps" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/sync_timestamps.png" width="298" height="57" /></p>
<p style="text-align: justify;">When working in teams and using version management systems, the same file has different timestamps for different users, even if the contents are the same. However the model file memorizes the timestamps only for the last user who modified the model. This means that the above mechanism doesn't work well (meaning there is no speed gain every time).</p>
<p style="text-align: justify;">There is a <strong>solution </strong>for this setup. Version management systems often have a setting to enforce the same timestamp for every working copy of the same repository. This setting should be enabled. For example on Subversion this setting is called "use-commit-times". It should be enabled for every user (e.g. on Windows, the file <em>c:\Documents and Settings\User\Application Data\Subversion\config</em> should contain <em>use-commit-times = yes</em>).</p>
<h2>UID Annotations and Refactor Support</h2>
<p>Synchronizable model elements (e.g. a class <em>Customer</em>) can be referenced:</p>
<ul>
<li>by other synchronizable elements (e.g. an attribute <em>customer </em>of type <em>Customer</em>),</li>
<li>by elements that are non synchonizable (i.e. don't have an equivalent on the file system; e.g. some relations: associations, dependencies or graphical elements diagrams and their contents: documentation notes, etc.)</li>
</ul>
<p>The second type of references (from non-synchronizable elements) are <strong>delicate </strong>some times. During most of the code synchronization operations, everything works fine.<br />However, if a <strong>refactor </strong>is done on the file system (<strong>rename </strong>or <strong>move </strong>for classes, attributes, etc), these references are lost (i.e. diagram data, documentation notes, associations, etc.).<br />Why is that? Because the CodeSync engine interprets the refactor operation as a <strong>delete + add</strong>, instead of a <strong>rename </strong>or <strong>move</strong> operation.</p>
<p>The <strong>solution </strong>for this problem is the use of Unique IDs (<strong>UID</strong>s) attached to the model elements' documentation (e.g. <em>@flowerModelElementId _t9B7oGUQEd-1u9VEndCgSA</em>). They appear <strong>only </strong>for elements that are referenced by non-synchronizable items (they don't appear on all the elements to reduce unnecessary UID pollution of the source files).</p>
<p style="text-align: center;"><img class="img_border" alt="uid0" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/uid0.png" width="272" height="111" /></p>
<p><strong>For example</strong>, if the class <em>Customer</em> is on the <em>Main</em> diagram, and it is renamed to <em>ImportantCustomer</em> and moved to another package:</p>
<ul>
<li><strong>without </strong>UID annotations, the diagram information is lost; the <em>Main</em> diagram won't contain the renamed class</li>
<li><strong>with </strong>UID annotation, the diagram <em>Main</em> will show the newly renamed and moved class, <em>ImportantCustomer</em></li>
</ul>
<p style="text-align: center;"><img class="img_border" alt="uid1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/uid1.png" width="430" height="215" /></p>
<div style="text-align: center;"></div>
<p style="text-align: center;"><img alt="arrow_down" src="http://www.uml4as.com/flower-platform/images/stories/content/arrow_down.png" width="32" height="32" /></p>
<div style="text-align: center;"></div>
<p style="text-align: center;"><img class="img_border" alt="uid2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/uid2.png" width="430" height="215" /></p>
<p>This setting can be modified for each SrcDir (from the context menu entry, "Use UID Annotations"). When this setting is toggled (enabled/disabled), the elements from the SrcDir that are referenced by non-synchronizable items are updated (i.e. their documentation is updated: a "@flowerModelElementId" is added/removed).</p>
<h2>Lock Synchronization (i.e. Ignore Elements)</h2>
<p>It can be useful sometimes to temporarily ignore some elements during synchronization.</p>
<p>For example, we are working on the model side at the <em>BasicCustomer</em> class. We need to suspend the current work for something more urgent. In this case we don't want to synchronize our draft modifications, as they are not finished, but we would like to continue to use the tool normally for the rest of the model.</p>
<p style="text-align: center;"><img class="img_border" alt="lock_sync" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/lock_sync.png" width="407" height="218" /></p>
<p>In this case we "lock" the <em>BasicCustomer</em> class.</p>
<ul>
<li>a red lock appears in the bottom right corner of the element icon, meaning that the element is locked;</li>
<li>all of its children have a blue lock; that means that a parent (direct on indirect) is locked;</li>
<li>all of its "parents" (direct or indirect) have a yellow lock; that means that on of their children (direct or indirect) is locked.</li>
</ul>
<p>This feature is useful as well when working in  teams. It can be enabled or disabled from the context menu, for  synchronizable elements. It is recommended to lock only "higher" level  elements: SrcDirs, packages or types (classes/interfaces).</p>
<h2>CodeSync Log</h2>
<p>{jumi [pn.inc]} keeps a detailed log of each synchronization operation. Using the CodeSync Log view (available in the tree’s context menu, for each element contained in a SrcDir, under "CodeSync Log" entry) you can view the log entries or erase them. The log should be erased from time to time to avoid having big model files.</p>
<p style="text-align: center;"><img class="img_border" alt="code_sync_log" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/code_sync_log.png" width="549" height="388" /></p>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Mon, 31 May 2010 17:31:32 +0000</pubDate>
		</item>
		<item>
			<title> Diagram Features Documentation</title>
			<link>http://www.uml4as.com/flower-platform/documentation/21--diagram-features-documentation.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/21--diagram-features-documentation.html</guid>
			<description><![CDATA[<h1>General</h1>
<h2>Opening and Closing a Model File. Flower Modeling Perspective</h2>
<p>A model file can be opened by clicking on the "+" next to it, in the Project Explorer view. Double clicking on the model file works as well. After opening, the user is invited to switch to the "Flower Modeling" perspective.</p>
<p style="text-align: center;"><img class="img_border" alt="mode_open" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/mode_open.png" width="115" height="23" /></p>
<p>The "Flower Modeling" perspective is available in the perspectives menu as well (Window/Open Perspective). Hint: you can switch perspectives easily (e.g. "Flower Modeling"  &lt;-&gt; Development) using shortcuts (e.g. CTRL + F8 by default in Windows).</p>
<p>A model file can be closed by right clicking on it and selecting "Close File" from the context menu. It is closed as well when the current project is closed.</p>
<p style="text-align: center;"><img class="img_border" alt="model_close" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/model_close.png" width="355" height="111" /></p>
<p>For example closing a file can be useful when there are too many open files and we need more memory. If undesired behaviors appear (especially for alpha versions), closing/reopening the file often gives results.</p>
<h2>Selection Tool</h2>
<p>The selection tool (from the diagram's toolbar) is the tool that is enabled by default.</p>
<p style="text-align: center;"><img class="img_border" alt="select_tool" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/select_tool.png" width="155" height="58" /></p>
<p>Besides mouse selection, key selection is possible as well:</p>
<ul>
<li>CTRL + click - toggles the selected state of an element,</li>
<li>SHIFT + click - makes the selected element "main" selected element (i.e. black anchors); useful for some commands where the "main" selected element is important,</li>
<li>CTRL + A - selects everything on the diagram.</li>
</ul>
<h2>Link Selection between Tree and Diagram</h2>
<p>The selection between the model tree and opened diagrams can be linked together using the "Link with Editor" button from the Project Explorer view.</p>
<p style="text-align: center;"><img class="img_border" alt="link_with_editor" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/link_with_editor.png" width="340" height="54" /></p>
<p style="text-align: justify;">With this option turned on, when selecting an element in the model tree, it is selected as well in the diagram (if a diagram containing it is opened). And vice versa, when selecting an element on the diagram, it is selected as well in the model tree.</p>
<h2>Zooming</h2>
<p>There are 3 ways to control the zoom on a diagram:</p>
<ul>
<li>using CTRL + mouse scroll wheel,</li>
<li>using the Zoom combo box in the toolbar,</li>
<li>using the Zoom tool and selecting a rectangular area on the screen.</li>
</ul>
<div style="text-align: center;"><img class="img_border" alt="zoom_tool" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/zoom_tool.png" width="139" height="127" /></div>
<div style="text-align: center;"></div>
<h1>Elements</h1>
<p>To create a class, interface or note, a tool from the toolbar needs to be used. Annotations, Attributes, Operations can be added using the buttons from classes/interfaces, or from the diagram context menu.</p>
<p style="text-align: center;"><img style="vertical-align: middle;" class="img_border" alt="create_as_diag" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features/create_as_diag.png" width="121" height="96" /><img style="vertical-align: middle;" class="img_border" alt="add_attr1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/add_attr1.png" width="258" height="151" /><img style="vertical-align: middle;" class="img_border" alt="add_attr2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/add_attr2.png" width="300" height="220" />&lt;</p>
<p><strong>Please note</strong> that new types (classes or interfaces) are created in the diagram's package. In order to make it synchronizable it needs to be <strong>moved </strong>inside a SrcDir.</p>
<h1>Relations</h1>
<h2>Creating and Moving</h2>
<p>To create a relation or a note connector, a tool from the toolbar needs to be selected + a drag and drop (from the source element to the destination element). To move an end of an already existing connection, one of its end anchors need to be dragged and dropped on a new target.</p>
<p style="text-align: center;"><img style="margin-left: 1px; vertical-align: middle;" class="img_border" alt="relations_toolbar" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_toolbar.png" width="205" height="146" /><img style="margin-right: 1px; vertical-align: middle;" class="img_border" alt="relations_move" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_move.png" width="552" height="135" /></p>
<p style="text-align: justify;">When an association end is moved, its corresponding attribute is moved as well.</p>
<h2>Bend Points</h2>
<p>Bend points can be added on an existent connection by starting dragging from the connection. They can be moved by dragging their anchors and can be removed by in-lining the 2 segments linked to the bend point.</p>
<p style="text-align: center;"><img class="img_border" alt="relations_bend_point" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_bend_point.png" width="549" height="172" /></p>
<h2>Labels</h2>
<p>Some connections can have labels (e.g. associations, dependencies). They can be edited using the in-place editor (see below), removed ("Hide Label" from the label's context menu) or shown ("Show ..." from the connection's context menu). Label visibility can be controlled using styles as well (see below).</p>
<p style="text-align: center;"><img class="img_border" alt="relations_labels_remove" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_labels_remove.png" width="586" height="127" /></p>
<p style="text-align: center;"><img class="img_border" alt="relations_labels_add" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_labels_add.png" width="586" height="180" /></p>
<h2>Displaying Existing Relations and Related Elements</h2>
<p>If an element has relations but they are not displayed on the diagram, the following context menu commands are useful:</p>
<ul>
<li>"Display Missing Relations" - displays all the relations for which the opposite end (i.e. the related element) already exists on the diagram,</li>
<li>"Add Related Elements and Display Relations" - adds related elements on the diagram if they don't already exist (i.e. opposite ends of the relations) and then displays the relations; this command includes the previous one.</li>
</ul>
<div style="text-align: center;"><img class="img_border" alt="relations_related" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/relations_related.png" width="459" height="135" /></div>
<h2>In-place Editor and Content Assist</h2>
<p>Many elements can be edited directly on the diagram by either clicking to select and clicking again for edit, or by pressing F2. To accept the modifications hit ENTER, CTRL + ENTER or click on the diagram (outside the edit box). To cancel the changes hit ESC.</p>
<p style="text-align: center;"><img class="img_border" alt="ied_class" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/ied_class.png" width="168" height="100" /><img class="img_border" alt="ied_association" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/ied_association.png" width="168" height="100" /><img class="img_border" alt="ied_note" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/ied_note.png" width="121" height="100" /></p>
<p style="text-align: justify;">When editing attributes (or association ends) or operations, a content assist is available that proposes existent types from the model. The content assist is opened automatically after typing ":" or when pressing CTRL + SPACE.</p>
<p style="text-align: center;"><img class="img_border" alt="ied_content_assist" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/ied_content_assist.png" width="376" height="173" /></p>
<p style="text-align: justify;">The in-place editor <strong>syntax </strong>is the following</p>
<ul>
<li>for attributes: <span style="font-family: courier new,courier;">[visibility] attributeName [: fully.qualified.name.attributeType][=defaultValue]</span>; e.g. <em>-attribute2 : com.uml4as.example.MyClass</em></li>
<li>for operations: <span style="font-family: courier new,courier;">[visibility] operationName ({parameterName_i [: fully.qualified.name.parameterType_i] [= parameterDefaultValue_i]}) [: operationReturnValue] </span>with i &gt;= 0; e.g. <em>~myMethod1(param : int) : String</em> or <em>-get value() : String</em></li>
<li>for annotations, several forms are supported:                                               
<ul>
<li><span style="font-family: courier new,courier;">annotationName</span>; e.g. <em>Annotation,</em></li>
<li><span style="font-family: courier new,courier;">annotationName(value)</span>; e.g. <em>Annotation(value),</em></li>
<li><span style="font-family: courier new,courier;">annotationName({key_i = value_i})</span> with i &gt;= 1; e.g. <em>Annotation(p1 = value1, p2 = value2).</em></li>
</ul>
</li>
</ul>
<p style="text-align: justify;">[] means it could be missing. {} means it can be repeated several times, separating with a comma ",".<br /><br />visibility can be:</p>
<ul>
<li>- private</li>
<li># protected</li>
<li>+ public</li>
<li>~ package</li>
</ul>
<p><strong>Type search</strong> strategy:</p>
<ul>
<li>if the type name <strong>is fully qualified</strong> (e.g. <em>com.uml4as.example.MyClass)</em>: the type is searched for in the specified package (e.g. <em>com.uml4as.example</em>); if found, it is used; otherwise a new class is created (e.g. named <em>MyClass</em>);</li>
<li>if the type name <strong>is not fully qualified</strong> (e.g. <em>MyClass</em>),                                              
<ul>
<li>if editing in the diagram (e.g.&nbsp; <em>Diagrams/MyDiagram</em>): the default package (the root package from the compiler's point of view) is searched for the type; if found, it is used; otherwise, the <strong>diagram's package </strong>is searched for that type; if found it is used; otherwise a new class is created there (e.g. <em>Diagrams/MyClass</em>);</li>
<li>if editing in the tree (e.g. editing an attribute for <em>com.uml4as.example.MyOtherClass</em>): the default package is searched for the type; if found, it is used;  otherwise, the <strong>current element's package </strong>is searched for that type; if found it is used; otherwise a new class is  created there (e.g. <em>com.uml4as.example.MyClass</em>).</li>
</ul>
</li>
</ul>
<h1>Associations</h1>
<h2>Creating Associations from Attributes</h2>
<p>An attribute can have an association attached to it, in which case there is a small arrow icon in the bottom right corner of the element icon. To create an association from an existing attribute (that has no association), the "Create Association from Attribute" context menu command needs to be used.</p>
<p> </p>
<p style="text-align: center;"><img class="img_border" alt="assoc_from_attribute" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_from_attribute.png" width="464" height="170" /></p>
<p style="text-align: justify;">An uni-directional association will be created between the current class (having the current attribute as end, e.g. <em>customer</em>) and the attribute type as other end (non-navigable). If the other end exists on the diagram, a graphical connector is added on the diagram as well; otherwise "Add Related Elements and Display Relations" needs to be used, to put it on the diagram.</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_from_attribute2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_from_attribute2.png" width="464" height="94" /></p>
<h2 style="text-align: justify;">Splitting and Combining Associations</h2>
<p>A bi-directional association can be split into 2 uni-directional associations and vice versa, 2 uni-directional associations (that are compatible, i.e. link the same 2 types) can be combined into 1 uni-directional association. "Split into Uni-Directional Associations" and "Combine into a Bi-Directional Association" context menu commands are used for this.</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_split" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_split.png" width="590" height="198" /></p>
<p style="text-align: center;"><img class="img_border" alt="assoc_combine" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_combine.png" width="590" height="198" /></p>
<h2 style="text-align: justify;">Example: Creating an One to Many Association after Importing Code</h2>
<p>When code is first synchronized for an existing project (i.e. imported), it might me useful to create some associations for some existing constructs. For example we have in class <em>Customer</em> an attribute <em>orders:ArrayCollection</em> and in class <em>Order</em> an attribute <em>customer:Customer</em>. We want to create a one to many bi-directional association between these 2 classes.</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_eg1" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_eg1.png" width="384" height="108" /></p>
<p style="text-align: justify;"><strong>Step 1: create 2 uni-directional associations.</strong> We select the 2 attributes (<em>orders</em> and <em>customer</em>) and click on "Create Association from Attribute". This creates an association between <em>Order</em> and <em>Customer</em> and another one between <em>Customer</em> and <em>ArrayCollection</em>. The first one is already displayed on the diagram. We need to select "Add Related Elements and Display Relations" for class <em>Customer</em> to have the second association on the diagram.</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_eg2" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_eg2.png" width="457" height="147" /></p>
<p style="text-align: justify;"><strong>Step 2: combine associations.</strong> We move the target of <em>Customer/ArrayCollection</em> association from <em>ArrayCollection</em> to <em>Order</em>. We have now 2 opposite uni-directional associations that can be combined using "Combine into a Bi-Directional Association".</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_eg3" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_eg3.png" width="467" height="96" /></p>
<p style="text-align: justify;"><strong>Step 3: adjust multiplicities.</strong> Using the Model Properties view to adjust the Lower/Upper Multiplicity: <em>0..*</em> for <em>orders</em> and <em>0..1</em> for <em>customer</em>.</p>
<p style="text-align: center;"><img class="img_border" alt="assoc_eg4" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/assoc_eg4.png" width="467" height="96" /></p>
<h1>Notes and Documentation</h1>
<p>There are 2 types of notes:</p>
<ul>
<li>stand alone; they can be linked to 0, 1 or more elements with note connectors</li>
</ul>
<div style="text-align: center;"><img class="img_border" alt="note_normal" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/note_normal.png" width="536" height="148" /></div>
<p style="text-align: justify;"> </p>
<ul>
<li>linked to documentation; in this case the note needs to be linked to only one element that allows documentation. When the note changes, the documentation is updated and vice versa (i.e. documentation changed -&gt; note updated). To activate this behavior, there is a context menu entry "Retrieve documentation".</li>
</ul>
<p style="text-align: center;"><img class="img_border" alt="note_link_menu" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/note_link_menu.png" width="432" height="96" /><br /><img alt="arrow_down" src="http://www.uml4as.com/flower-platform/images/stories/content/arrow_down.png" width="32" height="32" /><br /><img class="img_border" alt="note_link" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/note_link.png" width="432" height="96" /></p>
<p>Notes that are linked with documentation have an icon in the upper left corner. They can be unlinked by deleting the note connector. Every note (linked or not) can be edited directly from the diagram or using the documentation view.</p>
<h1>Compartments</h1>
<h2>Showing and Hiding</h2>
<p>Analysis elements (classes, interfaces) have 2 compartments: attributes, operations. For ActionScript elements:</p>
<ul>
<li>classes have 3 compartments: annotations, attributes, operations</li>
<li>interfaces have only 2: annotations and operations</li>
</ul>
<p>Compartments can be hidden by using the "-" button from the element's compartment, or from the context menu. They can be shown using the context menu.</p>
<p style="text-align: center;"><img style="vertical-align: middle;" class="img_border" alt="compartments_button" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/compartments_button.png" width="184" height="99" /><img style="vertical-align: middle;" class="img_border" alt="compartments_cm" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/compartments_cm.png" width="495" height="132" /></p>
<p>Compartment visibility can be controlled as well using styles (please see below).</p>
<h2>Filtering</h2>
<p>Compartment contents can be filtered (using the "Filter Compartment Elements" context menu entry).</p>
<p style="text-align: center;"><img class="img_border" alt="compartments_filter" src="http://www.uml4as.com/flower-platform/images/stories/content/doc_main_features_diagram/compartments_filter.png" width="556" height="407" /></p>
<p>There are 2 filtering strategies:</p>
<ul>
<li><strong>Hide only selected elements</strong> (new elements are shown by default) - for this strategy the hidden elements are specified explicitly and newly  added ones will be visible. E.g. if a new attribute appears after synchronization, it will be displayed. </li>
<li><strong>Show only selected elements</strong> (new elements are hidden by default) - for this strategy the shown elements are specified explicitly and  newly  added ones will be hidden. E.g. if a new attribute appears after  synchronization, it won't be displayed. <br />This behavior is useful sometimes, when we want emphasize only some elements (that participate to a feature of the app) and we don't want the diagram to be polluted in the future with new elements that may appear and are not related to the feature.</li>
</ul>
<p>Compartment filtering can be controlled using styles as well; please see below. The "inherited" option relates to styles as well.</p>
<h1>Styles</h1>
<p>Documentation for the styling mechanism will be soon provided.</p>
<p> </p>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Tue, 01 Jun 2010 14:36:55 +0000</pubDate>
		</item>
		<item>
			<title>Flower Platform Error Handling and Reporting Strategy</title>
			<link>http://www.uml4as.com/flower-platform/documentation/33-flower-platform-error-handling-and-reporting-strategy.html</link>
			<guid>http://www.uml4as.com/flower-platform/documentation/33-flower-platform-error-handling-and-reporting-strategy.html</guid>
			<description><![CDATA[<p>We want every product from the Flower Platform family to <strong>converge </strong>towards perfection.</p>
<p>We <strong>don't </strong>want to <strong>hide </strong>errors and/or provide superficial corrections (e.g. unnecessary !null checks everywhere, etc.). This can lead to unwanted application states and behaviors that can be annoying, hard to reproduce, etc.</p>
<p>It's better to <strong>see </strong>errors than to swallow them and have obscure bugs &amp; behaviors.</p>
<p>That's why you are seeing error dialogs from time to time. We recommend <strong>enabling error reports sending</strong>. You can always see what data is sent, you are not bothered while you work and you help a lot the user community.</p>]]></description>
			<author>contact@crispico.com (Admin Admin)</author>
			<category>Documentation</category>
			<pubDate>Thu, 23 Dec 2010 11:51:53 +0000</pubDate>
		</item>
	</channel>
</rss>
