The Wiki has moved!

The new Wiki is located at: https://gitlab.eecs.umich.edu/wikis/desuma/-/wikis/home
-- EECS DCO

DESUMA

From DESUMA Wiki
DESUMA
Jump to: navigation, search
(DESUMA Software)
m (Input Reference)
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Welcome to the DESUMA Wiki! ==
+
== DESUMA Software ==
 +
[[File:DESUMA1.png|400px|thumb|right|DESUMA 1.5.4 interface for Windows]]
 +
The Discrete Event System, University of Michigan and Mount Allison University, or DESUMA, is a software and educational tool used to build, analyze and control models of Discrete Event Systems (DES) as finite-state automata (FSA). It consists of the integration between the UMDES library (a set of commands for DES operations), developed at the University of Michigan under [http://web.eecs.umich.edu/~stephane/ Prof. Stephane Lafortune], and the graphical environment for visualizing discrete event systems, called GIDDES (Graphical Interface for the Design of Discrete Event Systems), developed at Mount Allison University under [http://www.mta.ca/~lricker/ Prof. Laurie Ricker]. DESUMA allows the user to perform a variety of manipulations of discrete event systems modeled by FSA related to model-building, fault diagnosis, verification, control under full and partial observation, and decentralized control.
  
DESUMA is a software tool to build, manipulate, analyze, and control models of Discrete Event Systems expressed as finite state automata (FSA).
+
Continuous development of DESUMA is a joint effort between Mount Allison University (Prof. Ricker and her colleagues) and University of Michigan (Prof. Lafortune and his colleagues).
Feedback is important! Please post in the forum or comment on a page if you have suggestions!
+
  
== DESUMA Software ==
+
'''Note:''' UMDES commands are embedded within the DESUMA software. However, running commands from the command line is also possible. See UMDES section for more.
  
DESUMA is an integration of the UMDES library, developed at the University of Michigan (USA), with the graphical environment for visualizing discrete event systems, called GIDDES, developed at Mount Allison University (Canada). DESUMA allows the user to perform a variety of manipulations of discrete event systems modeled by FSA related to model-building, fault diagnosis, verification, control under full and partial observation, and decentralized control. DESUMA and GIDDES are written in Java. The development of DESUMA is a joint effort between Mount Allison University (Prof. Laurie Ricker and her students) and the University of Michigan (Prof. Stéphane Lafortune and his students).
 
  
 
== DESUMA2 ==
 
== DESUMA2 ==
 +
[[File:DESUMA2.png|400px|thumb|right|DESUMA 2.0.0 interface for Windows]]
 +
DESUMA2 is the latest software version made public in 2014. Notable changes from the previous DESUMA version include the FSA layout being done using J-Graph instead of GraphViz due to compatibility problems with the latest JAVA versions. Several GUI related enhancements were made, and known bugs in the underlying UMDES commands were fixed.
  
DESUMA2 is the new version of DESUMA made public in 2013. The most significant change from the previous versions of DESUMA is that the layout of FSA is done using J-Graph instead of GraphViz. This change was motivated by compatibility problems of GraphViz with newer versions of Java. In addition, several enhancements were made in DESUMA2 related to the GUI part, and known bugs in the underlying UMDS commands were fixed. Please note that the UMDES commands are embedded within DESUMA2. However, it is also possible to run UMDES commands from the command line; see UMDES section in that regard.
+
== DESUMA Resources ==
  
Since DESUMA2 subsumes DESUMA, this wiki is focused on describing the main features of DESUMA2. Please follow the instructions below for downloading DESUMA2. Older versions of DESUMA are still available on the [http://www.eecs.umich.edu/umdes/toolboxes.html UMDES website].
+
=== Tutorial ===
 +
:Please visit [[Getting Started with DESUMA2]] for information on using DESUMA2 and its interface.
  
=== Download of DESUMA2 ===
+
:Visit [[DESUMA2 Functions]] for information on the UMDES menu within DESUMA2.
  
to be completed
+
=== DESUMA Software Download ===
 +
:Click this [https://www.eecs.umich.edu/umdes/projects/lib/download_access/submit_desuma.html link] to download the latest and/or older versions of DESUMA
  
== DESUMA2 Tutorial ==
+
:Visit [[DESUMA Installation Instructions]] for proper step by step procedures of installation.
  
Please visit [[Getting Started]] for information on using DESUMA2 and its interface.
 
 
Visit [[Functions (Getting Started)]] for information on the UMDES menu within DESUMA2.
 
  
 
== UMDES ==
 
== UMDES ==
  
UMDES is a library of C routines for creating and manipulating discrete event systems modeled as FSA. In particular, many of the algorithms for the theory of supervisory control and from the theory of diagnosability of DES are implemented in UMDES. While the main commands in UMDES are embedded within DESUMA and DESUMA2, users may still wish to run these commands from the command line. For this reason, we continue to provide compiled versions of the UMDES commands for separate download.
+
UMDES is a library of routines, written in C, for creating and manipulating discrete event systems modeled as FSA. In particular, many of the algorithms for the theory of supervisory control and from the theory of diagnosability of DES are implemented in UMDES. While the main commands in UMDES are embedded within DESUMA, users are still able to run these commands from the command line. For this reason, compiled UMDES commands are available for download.
  
A slight source of confusion is that the names of the UMDES executables do not always exactly match the names of the same commands in the DESUMA and DESUMA2 menus for UMDES. Please refer to the links below for more information regarding UMDES commands, when used from the command line.
+
'''Note:''' A slight source of confusion is that the names of the UMDES executables do not always exactly match the names of the same commands in DESUMA and DESUMA2 menus for UMDES.
  
=== UMDES Download ===
+
 
 +
=== UMDES Resource ===
  
 
Please go to the [[UMDES Software Library]] page for more information on downloading and using UMDES separately from DESUMA and DESUMA2.
 
Please go to the [[UMDES Software Library]] page for more information on downloading and using UMDES separately from DESUMA and DESUMA2.
 +
 +
 +
== UMDES21 ==
 +
 +
UMDES21 is a library of routines, written in java, for verifying the opacity of discrete event systems modeled as FSA. In particular, current-state opacity, initial-state opacity, infinite-step opacity, and K-step opacity verification are implemented in UMDES21. The main commands in UMDES21 are embedded within DESUMA, and users are able to run these commands under the UMDES21 menu in DESUMA.
 +
 +
=== Input Reference ===
 +
 +
'''Current State Opacity Verifier'''
 +
 +
:Input:
 +
:1) A graph to perform current-state opacity test on
 +
 +
::Format: .fsm
 +
 +
:2) A state data file: a file that lists the names of all the secret states
 +
 +
::Format: .states
 +
 +
:Output:
 +
:1) "This fsm obeys current-state opacity"
 +
 +
:2) "This fsm violates current-state opacity"
 +
 +
::"The violating states (in the observer) are…”
 +
 +
 +
 +
'''Initial State Opacity Verifier'''
 +
 +
:Input:
 +
 +
:1) A graph to perform initial-state opacity test on
 +
 +
::Format: .fsm
 +
 +
:2) An initial state data file: a file that lists the names of all the initial states, and their secrecy status
 +
 +
::Format: .init
 +
 +
:Output:
 +
 +
:1) "This fsm obeys initial-state opacity"
 +
 +
:2) "This fsm violates initial-state opacity",
 +
 +
::"The violating states (in the observer of the reversed automaton) are…”
 +
 +
 +
 +
'''Infinite/K-Step Opacity Verifier'''
 +
 +
:Input:
 +
:1) A graph to perform infinite/K-step opacity test on
 +
 +
::Format: .fsm
 +
 +
:2) A state data file: a file that lists the names of all the secret states
 +
 +
::Format: .states
 +
 +
:3) K value: infinite step(any input K<0), K-step(the specific value K>=0)
 +
 +
::Format: integer
 +
 +
:4) Ultra fast mode: no Two-Way Observer generated; or
 +
 +
::Fast mode: Two-Way Observer generated
 +
 +
:Output:
 +
 +
:1) "This fsm obeys infinite/K step opacity"
 +
 +
:2) "This fsm violates infinite/K step opacity",
 +
 +
::"The violating states (in the Two-Way Observer) are…”
 +
 +
:3) If “Fast Mode” is chosen, the Two-Way Observer will be generated in .fsm format under the directory /temp.
 +
 +
=== Format Reference ===
 +
1) '''.fsm'''
 +
 +
:Line1: <#of states>
 +
 +
:Line2: <state name> <marked? 1(Y):0(N)> <#of transitions>
 +
 +
:Line3: <event name> <next state name> <observable? o(Y):uo(N)>
 +
 +
:…
 +
 +
'''Example:'''
 +
 +
:4
 +
 +
:state0 0 2
 +
 +
:uo state1 uo
 +
 +
:uo state2 uo
 +
 +
 +
:state1 0 2
 +
 +
:a state3 o
 +
 +
 +
:state2 0 1
 +
 +
:b state1 o
 +
 +
 +
:state3 1 1
 +
 +
:a state2 o
 +
 +
 +
 +
2) '''.states'''
 +
 +
:Line1: <secret state name1>
 +
 +
:Line2: <secret state name2>
 +
 +
:…
 +
 +
 +
'''Example:'''
 +
 +
:state4
 +
 +
:state2
 +
 +
 +
 +
3) '''.init'''
 +
 +
:Line1: <initial state name1> <secret? 1(Y):0(N)>
 +
 +
:Line2: <initial state name2> <secret? 1(Y):0(N)>
 +
 +
:…
 +
 +
 +
'''Example:'''
 +
 +
:state2 1
 +
 +
:state3 0
 +
 +
:state0 1

Revision as of 20:43, August 22, 2017

Contents

DESUMA Software

DESUMA 1.5.4 interface for Windows

The Discrete Event System, University of Michigan and Mount Allison University, or DESUMA, is a software and educational tool used to build, analyze and control models of Discrete Event Systems (DES) as finite-state automata (FSA). It consists of the integration between the UMDES library (a set of commands for DES operations), developed at the University of Michigan under Prof. Stephane Lafortune, and the graphical environment for visualizing discrete event systems, called GIDDES (Graphical Interface for the Design of Discrete Event Systems), developed at Mount Allison University under Prof. Laurie Ricker. DESUMA allows the user to perform a variety of manipulations of discrete event systems modeled by FSA related to model-building, fault diagnosis, verification, control under full and partial observation, and decentralized control.

Continuous development of DESUMA is a joint effort between Mount Allison University (Prof. Ricker and her colleagues) and University of Michigan (Prof. Lafortune and his colleagues).

Note: UMDES commands are embedded within the DESUMA software. However, running commands from the command line is also possible. See UMDES section for more.


DESUMA2

DESUMA 2.0.0 interface for Windows

DESUMA2 is the latest software version made public in 2014. Notable changes from the previous DESUMA version include the FSA layout being done using J-Graph instead of GraphViz due to compatibility problems with the latest JAVA versions. Several GUI related enhancements were made, and known bugs in the underlying UMDES commands were fixed.

DESUMA Resources

Tutorial

Please visit Getting Started with DESUMA2 for information on using DESUMA2 and its interface.
Visit DESUMA2 Functions for information on the UMDES menu within DESUMA2.

DESUMA Software Download

Click this link to download the latest and/or older versions of DESUMA
Visit DESUMA Installation Instructions for proper step by step procedures of installation.


UMDES

UMDES is a library of routines, written in C, for creating and manipulating discrete event systems modeled as FSA. In particular, many of the algorithms for the theory of supervisory control and from the theory of diagnosability of DES are implemented in UMDES. While the main commands in UMDES are embedded within DESUMA, users are still able to run these commands from the command line. For this reason, compiled UMDES commands are available for download.

Note: A slight source of confusion is that the names of the UMDES executables do not always exactly match the names of the same commands in DESUMA and DESUMA2 menus for UMDES.


UMDES Resource

Please go to the UMDES Software Library page for more information on downloading and using UMDES separately from DESUMA and DESUMA2.


UMDES21

UMDES21 is a library of routines, written in java, for verifying the opacity of discrete event systems modeled as FSA. In particular, current-state opacity, initial-state opacity, infinite-step opacity, and K-step opacity verification are implemented in UMDES21. The main commands in UMDES21 are embedded within DESUMA, and users are able to run these commands under the UMDES21 menu in DESUMA.

Input Reference

Current State Opacity Verifier

Input:
1) A graph to perform current-state opacity test on
Format: .fsm
2) A state data file: a file that lists the names of all the secret states
Format: .states
Output:
1) "This fsm obeys current-state opacity"
2) "This fsm violates current-state opacity"
"The violating states (in the observer) are…”


Initial State Opacity Verifier

Input:
1) A graph to perform initial-state opacity test on
Format: .fsm
2) An initial state data file: a file that lists the names of all the initial states, and their secrecy status
Format: .init
Output:
1) "This fsm obeys initial-state opacity"
2) "This fsm violates initial-state opacity",
"The violating states (in the observer of the reversed automaton) are…”


Infinite/K-Step Opacity Verifier

Input:
1) A graph to perform infinite/K-step opacity test on
Format: .fsm
2) A state data file: a file that lists the names of all the secret states
Format: .states
3) K value: infinite step(any input K<0), K-step(the specific value K>=0)
Format: integer
4) Ultra fast mode: no Two-Way Observer generated; or
Fast mode: Two-Way Observer generated
Output:
1) "This fsm obeys infinite/K step opacity"
2) "This fsm violates infinite/K step opacity",
"The violating states (in the Two-Way Observer) are…”
3) If “Fast Mode” is chosen, the Two-Way Observer will be generated in .fsm format under the directory /temp.

Format Reference

1) .fsm

Line1: <#of states>
Line2: <state name> <marked? 1(Y):0(N)> <#of transitions>
Line3: <event name> <next state name> <observable? o(Y):uo(N)>

Example:

4
state0 0 2
uo state1 uo
uo state2 uo


state1 0 2
a state3 o


state2 0 1
b state1 o


state3 1 1
a state2 o


2) .states

Line1: <secret state name1>
Line2: <secret state name2>


Example:

state4
state2


3) .init

Line1: <initial state name1> <secret? 1(Y):0(N)>
Line2: <initial state name2> <secret? 1(Y):0(N)>


Example:

state2 1
state3 0
state0 1
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
EECS @ UM
Tools