Open toolkit for systems modelling


About Systo

Systo has evolved from a long-standing interest in the development of software tools for modelling dynamic systems, mainly in the area of ecological and environmental research.

The main focus for my work in this area has desktop software - traditional software which you install on yor computer. The main example of this is Simile, which combines the traditional stock-and-flow notation ("System Dynamics") with the ability to represent complex sets of objects.

Over the last few years I have become interested in the possibilities of web-based modelling. This has the potential to make modelling much more accessible, and to avoid the need to download and install software - you just need a web browser.

Initially, I began by following the traditional path for web-based software. This involves having a single web address, where all your users go. They typically need to register to use the site, then you - the developer of the site - decide on the experience they have: how they can view and run models, make their own, store them in a web database, share them with others, and so on. A typical example of this is Insight Maker a very popular web site for System Dynamics modelling. This approach is the norm for just about all web applications, to the point where we can't really conceive of any other way of working.

And yet...
The original idea of the web was not like this. Rather, Tim Berners-Lee develoepd it as a sort-of peer-to-peer network, where anyone could post their data on their own part of the web, and anyone else could access it along and combine it with other people's data.

Systo is a realisation of that idea for systems modelling. Anyone can write a web page which can access other people's:

no matter where they are posted on the web. The glue that holds these together on the web page is HTML. So, writing a web page which presents models and various tools for displaying the wmodel is little different from writing a regular web page. You say which models you want (from anyowhere one the web), which widgets you want (from anywhere on teh web), and how they are to belaid out on the page, just as you would lay out a conventional web page with text and images.

Of course, most people don't want to have to make their own web page. And most people won't. In fact, when they visit a particular Systo page, they may be unaware of what has gone on underneath. But the point is that we are now making it possible for there to be perhaps hundreds of web pages which support modelling, rather than a single, monolithic, "walled garden" web site.

Some web pages may be designed to be very focussed: perhaps presenting a single model (along with text and images about the system being modelled), and restricting what visitors to the page can do with it. But other web pages could be much more generic - even, for example, emulating the appearance and functionality of (for example) Insight Maker. All using the same set of widgets, just put together in different ways.

Systo is in fact much more than that. For example, Systo allows anyone to define their own diagramming language, and this can then be made available for others to use just as easily as models and widgets can be shared. But this is the core idea.

An analogy I like to use is that conventional software is like a car - you have to choose one model or another, on the basis of a set of features, some good, some not so good. Systo is like a kitchen - you are provided with a basic infrastructure (like the gas, electricity and water in a kitchen) and you can then populate the kitchen with your own choice of cooker, worktop, cabinets, toaster etc. See this blog post to read more about this.