|
Model0_3
Summary of model version 0.3.
Model 0.3
IntroductionThis model release adds some fundamental new model elements such as domain object, domain object instances, and sessions. Existing atomic operations and composite operations are now documented. Generated web application runtime code is now formatted through the side project iacleaner 0.2. (issue 13) Usability FeaturesDiagram editors now reliably render both contained elements and referenced shortcut elements, even if they are not directly contained within the diagram root element. (issue 47)
You can select a model element and generate all elements that should be contained within it.
Three new inference actions use the Drools inference engine to infer new knowledge about a given model element. These can be accessed by right clicking an element in the editor, and selecting IAML Model > (action name). More information is available in the Knowledge Inference section below. Model elements render the names of their parent elements; this is to help with identifying the source of shortcut elements. (issue 40) A copy of the given model instance diagram can be exported automatically to PNG by right clicking the .iaml_diagram file, and selecting "Export all diagram parts to PNG images". (issue 9) Models can be migrated between different versions: See ModelMigration. Generated ElementsWhen deleting a generated element, all elements generated by that element will also be removed (issue 29 - GeneratedElementDeleter.java). If you try and delete a generated element that, in some way, is used elsewhere by the application, you will now get a warning message asking if you'd still like to continue with removing it (GeneratedElementHandler.java). In particular, if a generated element - or one of its directly contained generated elements, or one of the other elements generated by it, all recursively - is connected via a WireEdge, ExecutionEdge or DataFlowEdge to another element which is not generated, a message box will show with information on:
Knowledge InferenceNew Instance Wires
If a NewInstanceWire is connected from a DomainObject to a DomainObjectInstance, the attributes from the DomainObject will automatically populate the DomainObjectInstance unless overridden. Input Form Population
If an InputForm is connected to a DomainObjectInstance or DomainObject, then attributes within the instance will automatically create editable InputTextFields within the form. Following the inference below of SyncWires with ApplicationElements, these new text fields will also automatically sync up. Domain Stores from Properties files
If a DomainStore is of type PropertiesFile, the DomainStore will be automatically populated from the values in the PropertiesFile (in particular, this will create a DomainObject named "properties", and all properties in the file will be added as attributes). Sync Wires with Application Elements
If two ApplicationElements are connected via a SyncWire labelled "sync", and these elements both contain other elements that match to each other (currently through a case-insensitive naming match), these elements will also gain a SyncWire between each other. Domain Object Instance Mappings
If a DomainObject is connected to a DomainObjectInstance via a NewInstanceWire, this action will populate the object instance with DomainAttributeInstance_s matching the attributes within the DomainObject. New ElementsSessions
Operation/Condition Modelling (2)Temporary Variables
Execution Flow
Data Flow
Start Node
Finish Node
Cancel Node
For a discussion of possible operation components and pre-defined composite operations, see IamlOperations or IamlCompositeOperations.
Buttons
If a Button contains an EventTrigger labelled click or onClick, this EventTrigger will be called when the button is clicked or selected.
Domain Object Instance
If "autosave" is set to false on the DomainObjectInstance, then changes to the attributes within the instance will not be automatically saved. The "save" operation will have to be called manually.
Domain Attribute Instance
DomainObjectInstances and DomainAttributeInstances can be stored within Sessions; otherwise, all visitors to the site will access the same instance.
Login Handler (Secret Key)See LoginHandler New WiresSelect Wire
See IamlSelectWire for more information.
New Instance Wire
If the targeted DomainObjectInstance or DomainAttributeInstance is stored within a Session, then the new instance will only reside in that session, and will only be saved to the database if "autosave" is enabled or the "save" operation is called.
|
Sign in to add a comment