A few weeks ago I wrote about model-based development in Modelling: not just for big boys? At the end of the article I said “So is modelling just for big boys? Well, I hate to say it, but unless companies change their views on an appropriate level of expenditure for tools, yes it is, today. However, I have heard that one company is planning an announcement that could change this scenario quite markedly. And if the rumour is true, there may soon be a tool that will be very cost-effective for the single user.”
Well, today, this announcement is being made. Artisan Software Tools is releasing a version of a fully featured version of their modelling tool, Artisan Studio. And Artisan Studio Uno is free. Gratis. Costs nothing, nada, bubkiss, zip, zilch, zero. This is certainly cost-effective, at least in cash terms.
Generally, if a thing looks too good to be true, then it usually is too good to be true. Like the emails that I get every day from Nigeria and elsewhere offering me a chance of a share in several million dollars. Artisan Studio Uno doesn’t want your bank account details, just register (name, address and email) and download.
Before Artisan Studio Uno, there were, and still are, other free versions of tools that normally cost significant numbers of dollars, but usually these come with significant limitations. It may be a time limit, often called an evaluation version. After time is up, the software self-destructs (without the smoke of Mission Impossible – if you are old enough to remember). Or it reacts to “run” by putting up a message saying, “If you want go on using me, pay money.” (Artisan previously offered an evaluation version of Artisan Studio.) Or significant features will be missing, so that you cannot complete the project, or it will be size limited. But Artisan, or rather the VP of Marketing at Artisan, Hedley Apperly, says that this isn’t the case with Studio Uno. “This is a real, industrial-strength modelling tool. It is not a toy.” You can do everything with Artisan Studio Uno that you can with the full priced product except access a shared repository. So Artisan Studio Uno is a free, single user, fully featured SysML/UML modelling tool.
Why are they doing it? There is an educational element, linked to a self-serving element. Artisan believes that, with SysML, modelling now has a very important role to play in embedded system development, but that the price has been a barrier to adoption. Now that the price barrier has gone, it is possible for everyone to learn SysML by developing real applications. The company also believes that, once people become accustomed to using model-based system development, they will want to be able to extend from single desk-tops to team development. To do this, they will want to upgrade to a tool that provides sharing, and, of course, the hope is that it will be full strength Artisan Studio.
Modelling started in the IT environment, as a logical continuation of the path to more abstraction: machine code replaced by assembler, replaced by high level languages, replaced by models and code generation. If you try to describe a system in simple natural language, it quickly becomes very difficult: a prime example is how to describe what happens when there is a range of options, each of which has different consequences. And one could debate forever what is simple natural language – one speaker’s common terminology can be jargon or gobbledygook to a listener. So you start to draw pictures. (Most engineers quickly start to draw pictures.) By creating a standardised set of pictures, it is a lot easier to describe a system with clear understanding of relationships between elements and how the information flows and to share that description. So UML – Unified Modelling Language – was born. While one could also debate forever exactly how easy it is to read a UML diagram, it is a certainly a lot easier than wading through pages of text. (Although most modelling systems will generate the pages of text for you, if required.) The model pictures are relatively easy to understand by non-technical people, such as management and the people who are going to use the system.
The embedded world followed the same trajectory of abstraction as IT, but when it reached the stage of modelling, it discovered that UML couldn’t describe hardware. So enter SysML (System Modelling Language) which uses a subset of UML with extensions for hardware description. Artisan was a key player in defining SysML, and Artisan Studio is centred on SysML. With SysML you describe the overall system, and then, with the subset of UML, you move towards software and code generation, while maintaining the clear understanding of the relationships between the different elements of the system.
Once you download Artisan Studio Uno, you can start with a clear screen and begin to build your model at the top level, establishing requirements and then dragging and dropping elements and defining the relationship between them. But in real life you often don’t start with a clean screen. The system requirements may have been defined with a tool, so Artisan Studio Uno allows you to pull in requirements from Telelogic’s Doors, the market leader. You can also pull in written system requirements from Word, but it may be necessary to edit these into the modelling schema. Artisan Studio Uno will even accept models created in Rational Rose and in Artisan Studio.
Artisan Studio Uno understands the model and will stop you creating things that are illogical or illegal. A report generator goes beyond error checking to provide an in-depth analysis of the consistency, item usage, references and other matters to improve the overall quality of the model.
You then go on to refine the model, digging deeper and modelling more detail in specific models, until you reach the point where, for those elements that will be implemented in software, you are ready to create code. If you use your normal development tool chain, you start with the assurance that you are coding from a very high quality starting point, and that most, if not all, areas of ambiguity have been removed. At the other end of the process, testing and system integration take place against a blueprint of what should be happening.
You can also use a code generator. There are free UML to code generators, mainly for the enterprise, or you could upgrade to use Artisan’s Automatic Code Synchronizer (ACS) which, as its name suggests, as well as generating code, keeps code and model in synchronisation. Change the model and the code changes, change the code and the model is updated. If you already have code, in C, C++, C#, Ada or Java, for some elements of the system, this can be sucked in and used to build a model, although, again, depending on the structure of the code, there may be extra work: well structured code easily maps into a model, while spaghetti code will probably require that the model is edited.
If you learn how to use SysML and start integrating modelling into your development process, are you going to be left dangling with an obsolete tool? Hedley Apperly says no. Artisan Studio Uno is based on Artisan Studio 7.0, released in early September, and regular updates for Artisan Studio Uno will be available to registered users every six to nine months, in parallel with the updates of Artisan Studio.
Besides the software, the Artisan website gives you downloadable tutorials on Studio and on SysML, both of which are extensive and approachable. When you are using the tool, the built-in Mentor provides a different tutorial approach. That said, even with working through the tutorial examples, you would probably need to work through something real and relevant to get a detailed understanding of modelling and how it will help you.
So, is it too good to be true? No, I don’t think so. Even if you download Studio Uno only out of curiosity to see how modelling works, it will be interesting. However, Artisan Studio Uno is an industrial strength modelling tool that you can use on real projects, without any risk and with the only investment being your learning time. Since you cannot share the repository, the store for all files, models etc, collaborative working is not easy. But when you get to that point I am sure Artisan would be very happy to talk to you on what to do next.