Agile UML 2.2

2.2

Description

This release provides major new facilities to reverse-engineer and re-engineer Cobol85, VB6, JavaScript and C programs. There are also new facilities to learn CSTL/CGTL code generators from examples. 

The menus have been re-organised in accordance with usability guidelines, and assistance facilities on the KM3 editor have been improved. 

An architecture diagram editor has been added, to create and edit UML 2 component diagrams. 

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

The core architecture of AgileUML as described in our 2016 textbook "Agile MBD with UML-RSDS" has not changed. The core OCL 2.4 Expression heirarchy and UML 2.2 Entity/Attribute/Association/UseCase/Statement heirarchies remain the foundation of the AgileUML architecture. Most change has focussed on reverse-engineering facilities (ASTTerm hierarchy) and CSTL/CGTL, and example-based learning (ModelSpecification.java, ObjectSpecification.java). The UI classes UmlTool.java and UCDArea.java have been rationalised in accordance with HCI principles.  

Security Issues

There are no vulnerabilities due to our code. 

Non-Code Aspects

User documentation has been updated. Some inbuilt documentation and help facilities are included and have been updated. The main tool manuals have been updated and are located at www.agilemde.co.uk

Conforms To UI/UX Guidelines
Yes (document review in detail)
Usability Details

The learnability, accessibility and customisability of the tool were considered in detail. 

Learnability: The menus and menu items were re-organised in order to conform to the natural order of the model construction, modification, analysis and utilisation process steps carried out by typical users. The File menu provides options which instantiate models either from saved files or from source code programs (reverse-engineering/abstraction) or from textual requirements (requirements formalisation). 

The Create and Edit menus provide options to modify models and create auxiliary models such as state machines, interactions and architectures. 

The Analyse menu and View menus provide options to perform semantic analysis and view model elements and analysis results. 

The Transform menu provides options to enhance or transform menus, eg., by refactoring to remove design flaws discovered during analysis. 

The Synthesis menu provides options to refine models towards code (ie., CIM to PIM transformations) and generate tests. 

The Build menu provides options to generate code from models. 

Accessibility: The main text editor for models has been improved with context-sensitive assistance to help users learn the correct OCL and UML notations. 

Customisability: Plugins can be defined as jar files and will be loaded at tool initialisation. CSTL scripts are external to the tool and can be edited by users directly, as can library components (loaded via the Extensions menu). 

End of Life

None.

Standards

OCL 2.4 (plus extensions). UML 2.2 core class diagram notation.

Communities

The tools have been demonstrated at ICSE, to industrial contacts and on the strumenta language engineering community forum.