A1 Modeller Concept

A1

Teodric Abstract: This document is the concept for the A1 modeller, a tool that has evolved from the needs of the Haven project .  End users may wish to see the A1 product page instead.  See also A1 Modeller Treatment .

Availability: Public

Contents

Introduction - Basic Properties - Details - Formats - Release Conditions and End User License - Status - Future Work - References - ThanksCopyright

Introduction

I've been frustrated many times by lack of a decent but simple modelling/diagramming tool. Visio is ok but it's really about diagrams, not models. Rational Rose is the other way around with in-depth developer support but poor on usability and very unflexible. Neither has decent export or open formats and both are expensive. Free/Shareware tools are not good enough (most are simple diagram/flowchart tools). Of open source applications only Dia (which is basically a Visio clone) is worth mentioning.

Basic Properties

A1 is an attempt to create a tool that fills the needs of primarily developers, without the rather extreme focus (and cost) of Rose but with the graphical flexibility and ease of use of more graphics oriented tools.
([secondary feature] indicates features that may not be fully implemented in the initial release.)

It has special support for development related content:
It is flexible
It has support for team development
A1 does not feature
The design priorities when creating A1 include
A1 is not designed with A1. The application architecture internally is less polished than the ones it is meant to support.

Using A1 to sketch an application or component design should be very straightforward. Start the application, and lay out the main building blocks in a view of your choice. For a larger or more thorough design, start in the appropriate views and apply your UML modelling skills. Integrating design fragments should also be relatively simple - for example a small state diagram fragment can easily be grafted onto a larger document, fusing the objects and states involved to those in the main document.
A1 does not enforce any design model or philosophy, nor is it meant to teach, endorse, advertise or tie the user to a product or manufacturer.

A1 is an enabler for the user, not a product for the maker.

Details

Shapes

Object, class, state... symbols are the main building blocks when creating a document
Relations connect symbols. Together with symbols, relations are what the user is interested in when applying A1 to a problem.
Handles, connect points, arrow heads and so on - the basic constituent parts of a diagram tool
The symbolic content parts of relations and symbols: properties and parameters

Definitions

A1 allows the user to define new data types and reuse them. Most of the data types used by the fundamental shapes in the application are defined in the same way.
Shapes are defined in terms of constituent parts (member data), graphical properties and relational or semantic properties.
Diagram types expose certain aspects of the document's (the model's) total data. An interaction diagram for instance shows the run-time interaction between object instances, while the class diagram shows the classes to which the objects belong and their structural relationships. Behind the views, the objects and the classes exposed in the two diagrams are connected and adding a method to the class in the class view makes the method available in the interaction view.

Formats

All application data is in XML using the semantics described for A1 (there will be a published format). This is also the document format for documents on file, and is the definition format for the built in types and user extensions. Database storage is slightly more complicated and not documented at this time.

Release Conditions and End User License

The initial plan for release is to release A1 as shareware. This means a time limited trial period after which a license must be paid or the application uninstalled. This shareware release would be for the Windows platform, specifically targetting Windows 2000 and later (including Windows XP but not Windows ME). Releasing A1 for open source platforms is under consideration - most likely this would be completely free and possibly in source form. The platforms under consideration are KDE and GNOME, compile targets primarily Linux (2.2 and later) and FreeBSD.

Status

A1 is currently (March 2002) under implementation. It will not be released until the basic feature set is completed. Whether it is released before the secondary features are implemented or not remains to be decided.

Temporary or intermediate working releases may appear in the A1 Product Page .


Current screenshot
Current screenshot (click for full view )

Current Status

Features Missing

Lots of them.

Known Bugs

Most crash bugs are eliminated (in some cases by shutting off user access to a selection.
Opening/closing document views is still a crash bug. The same bug also provokes a crash when opening a view inside a host document (OLE).
OLE in itself does not work, possibly this is only caused by the previously mentioned view bug.
The model browser toolbox has a sizing bug causing it to gradually corrupt its display.

Future Work

Once the basic and secondary feature sets are completed further development will be considered. Extending the set of supported database platforms is one obvious feature. Depending on whether a non-Windows client is made or not (see above) there may be need for non-ODBC implementations as well. Apart from ODBC, the database targets are PostgreSQL (primary target), mySQL, Microsoft SQL Server, Oracle.

References

Thanks

Thanks to friends and colleagues who helped and provided input - especially Jan Mattsson and people at IT-huset, Ulf Lindbäck.

Copyright

This text was written in its entirety by Olof Ekström. For more information about the author of this page, see Olof Ekström's personal information in the Haven Project Profiles document.

Rational Rose is a registered trademark of Rational Corporation. Visio is a registered trademark of Microsoft Corporation.

In no way is the A1 Modeller or Extro System related to or endorsed by any other company or trademark holder mentioned in this document.

Copyright © 2002 Olof Ekström/Extro System. All rights reserved.

Bälinge/Uppsala, Sweden, February-March 2002