-->
Home » , , , , , » Maria is a reachability analyzer for concurrent systems that uses Algebraic System Nets.
Tuesday
8 July 2014

Maria is a reachability analyzer for concurrent systems that uses Algebraic System Nets.

Maria is a reachability analyzer for concurrent systems that uses Algebraic System Nets (a high-level variant of Petri nets) as its modelling formalism. It has been written in C++, and its is freely available under the terms of the GNU General Public License.

Maria relies on external programs translating LTL formulae into generalised Büchi automata or finite-word automata. It communicates with these programs by writing a formula to the standard input of the translator and by reading the translated automaton from the standard output of the translator. Each formula is translated in a separate run of the external program. The program is invoked without arguments.

Maria maps the state numbers in the property automata to a contiguous sequence. If you want to see the automata after this mapping, define the preprocessor symbol DEBUG_AUTOMATON when compiling the file Property.C. In that way, Maria will dump the mapped automaton to the standard output. The automaton can be visualised with the lbt2dot tool of LBT.

To grab the formula sent by Maria to the external translator, write a wrapper shell script for the translator that does something like tee formula.txt | exec the-real-translator.

maria modular analyzer

Extensions.

An LTL-X model checker for modular state spaces is available separately. Because the implementation is incomplete, it is available as a patch file against version 1.3.4 and as a patch file against version 1.3.5. Please refer to the installation instruction..

Status of the Tool.

The reachability analyzer, the on-the-fly model checker and the reachability graph traverser have been working since 1999, when version 0.1 was released. Version 0.2 that was published in 2001 has more advanced features, such as model checking with fairness constraints, a net unfolder, a C code generator, and a graphical user interface.

The reachability graph visualization tool is based on GraphViz, a graph visualization library developed at AT&T. There are two implementations of the graph visualizer:

  • The first implementation, developed in April 2001, is based on the graph editor dotty written in a scripting language lefty of GraphViz. It is the recommended graphical front-end, and it works with older versions of GraphViz.
  • The second implementation, developed in June 2001, is based on Tcl/Tk version 8.3 and the tcldot library of an up-to-date development version of GraphViz. This version is experimental, and it lacks many features. It can display only one graph at a time.

Marko Mäkelä stopped developing the tool in 2004. Version 1.3.5 (with minor portability and performance improvements) will most likely be the last one prepared by him.

External Tools.

  • GraphViz visualizes graphs
  • LBT translates LTL formulae to Büchi automata
  • TVT is not exactly utilized by Maria, but Maria can analyze LSTS models in the TVT format.
  • Sforza+ translates Object Petri Nets in the LOOPN++ syntax into Maria syntax.

Obtaining the Code.

The source code is distributed via http://www.tcs.hut.fi/Software/maria/src/. It can be translated into machine executable form e.g. with GCC.

You can also get the most recent development version of the source code and the documentation.

For the convenience of Windows users, we provide a zip file containing an executable that was compiled with gcc-2.95.2 configured as a cross-compiler for the mingw target platform. This version is at a preliminary stage. The option for generating C code is disabled, and graph visualization does not work.

Released Versions.

0.1
September 17, 1999

0.2
August 10, 2001

1.0
November 1, 2001

1.0.1
February 5, 2002

1.1
April 23, 2002

1.2
June 23, 2002

1.3
September 4, 2002

1.3.1
November 15, 2002

1.3.2
December 5, 2002

1.3.3
December 9, 2002

1.3.4
June 20, 2003

1.3.5
July 29, 2005

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

0 commenti:

Post a Comment

Random Posts

  • giFT plugin for Ares P2P network.
    17.08.2014 - 0 Comments
    giFT-Ares is a plugin for giFT that connects to the Ares peer-to-peer filesharing network. Here you can find last (2010.11.23) working packages for Ubuntu GNU/Linux distributions. giFT filesharing system is a modular daemon capable of abstracting…
  • Musix Gnu Linux (collection of software for audio production, graphic design, video editing and general purpose applications) 2.0 released
    29.11.2009 - 0 Comments
    Musix GNU+Linux is a live CD and DVD Linux distribution for the IA-32 processor family based on Debian. It contains a collection of software for audio production, graphic design, video editing and general purpose applications. The initiator and…
  • MenuetOS is an Operating System in development for the PC written entirely in 32/64 bit assembly language.
    20.05.2011 - 0 Comments
      MenuetOS is an Operating System in development for the PC written entirely in 32/64 bit assembly language. Menuet64 is released under License and Menuet32 under GPL. Menuet supports 32/64 bit x86 assembly programming…
  • EDE small and fast desktop environment.
    19.05.2012 - 0 Comments
     EDE is small desktop environment built to be responsive, light in resource usage and to have familiar look and feel. It runs on Linux, BSD, Solaris, Minix, Zaurus and even on XBox. Previous 1.x versions were based on a modified version of…
  • Cervisia is a graphical frontend for the CVS client
    26.06.2009 - 0 Comments
    Cervisia is a graphical front end for Concurrent Versions System (CVS). Cervisia implements the common cvs functions of adding, removing, and committing files. More advanced capabilities are importing and checking-out modules, adding/removing…
  • Adding New Users to MySQL
    12.05.2009 - 0 Comments
    You can add users two di erent ways: by using GRANT statements or by manipulating the MySQL grant tables directly. The preferred method is to use GRANT statements, becausethey are more concise and less error-prone.There are also a lot of contributed…
  • BlankOn is an Ubuntu-based distribution developed by the Indonesian Linux Mover Foundation and BlankOn developer team.
    15.08.2010 - 0 Comments
    BlankOn is an Ubuntu-based distribution developed by the Indonesian Linux Mover Foundation and BlankOn developer team.It is an Indonesian distribution that includes a variety of software that is widely used by consumers in general, such as office…
  • UNetbootin allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions.
    15.08.2012 - 0 Comments
    UNetbootin allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions without burning a CD. It runs on Windows, Linux, and Mac OS X.  You can either let UNetbootin download one of the many distributions…
  • OpenIndiana 2019.10 released
    07.11.2019 - 0 Comments
    OpenIndiana is a continuation of the OpenSolaris operating system. OpenIndiana is part of the Illumos Foundation, and provides a true open-source community alternative to Solaris 11 and Solaris 11 Express, with an open development model and full…
  • Vyatta Open Networking, the Open-Source Alternative to Cisco.
    02.04.2010 - 0 Comments
    Vyatta software is a complete, ready-to-use, Debian-based distribution that is designed to transform standard x86 hardware into an enterprise-class router / firewall.Vyatta software includes support for commonly used network interfaces, and…

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->