UltraDES 2.1.0
See the version list below for details.
dotnet add package UltraDES --version 2.1.0
NuGet\Install-Package UltraDES -Version 2.1.0
<PackageReference Include="UltraDES" Version="2.1.0" />
paket add UltraDES --version 2.1.0
#r "nuget: UltraDES, 2.1.0"
// Install UltraDES as a Cake Addin
#addin nuget:?package=UltraDES&version=2.1.0
// Install UltraDES as a Cake Tool
#tool nuget:?package=UltraDES&version=2.1.0
UltraDES
UltraDES is a library for modeling, analysis and control of Discrete Event Systems. It has been developed at LACSED | UFMG (http://www.lacsed.eng.ufmg.br).
Before using UltraDES
Requirements:
- Supported OS: Windows, or virtual machine on Linux.
- Your computer must have a installed version of Microsoft Visual Studio (2014 or later version).
- Download the latest version of UltraDES (https://github.com/lacsed/UltraDES.git), by clicking on Clone or Download and then Download Zip.
First steps
- Extract all the files of the zip or tar.gz file in your working directory.
- Double click on the UltraDES.sln file.
- Congratulations, you are ready to use UltraDES!
What is inside
Initially you are going to find four projects in the Solution Explorer:
- Other examples
- Test - Modular Supervisor
- Test - Monolithic Supervisor
- UltraDES (non executable)
To read the codes, click on the file .cs inside each project.
How to run the projects
- Before running the code, you need to set the project as Startup Project.
- On Solution Explorer select the project you want to run.
- On the menu Project, select Set as Startup Project - Project>Set as Startup Project.
- To run the code, click on Debug menu - Debug>Start Debugging.
Creating a new project
- On the menu File, select New>Project.
- On the New Project window:
- Select Visual C#>Console App (.NET Framework).
- Give your project a name.
- The location of your project should be the same as the other UltraDES projects.
- In the Solution field, choose Add to Solution.
- Click on OK to create your project.
- Remember to set your project as Startup Project (see How to run the projects).
- Congratulations, you just created your project!
Inside your project
- In the Solution Explorer, double click on your project.
- Inside your project, right click on the item References>Add Reference...
- On the Reference Manager window, select Projects>Solution and select UltraDES.
- Click Ok to close the window.
- To write your code, click on the file .cs inside your project.
- On the .cs file of your project, add the UltraDES library in the header (
using UltraDES;
).
In your main function, add the code below to create and see your first Automaton.
Creating States
State s1 = new State("s1", Marking.Marked);
State s2 = new State("s2", Marking.Unmarked);
Creating Events
Event e1 = new Event("e1", Controllability.Controllable);
Event e2 = new Event("e2", Controllability.Uncontrollable);
Event e3 = new Event("e3", Controllability.Controllable);
Event e4 = new Event("e4", Controllability.Uncontrollable);
Creating Transitions
var t = new Transition(s1, e1, s2);
Creating an Automaton
var G1 = new DeterministicFiniteAutomaton(new[]
{
new Transition(s1, e1, s2),
new Transition(s2, e2, s1)
}, s1, "G");
var G2 = new DeterministicFiniteAutomaton(new[]
{
new Transition(s1, e3, s2),
new Transition(s2, e4, s1)
}, s1, "G");
Operations with Automata
Making a Parallel composition
var Gp = G1.ParallelCompositionWith(G2);
Showing the Automaton
G.drawSVGFigure("G", true);
Other examples
For more examples on how to create more complex automata or how to use the methods, read the other projects.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on UltraDES:
Package | Downloads |
---|---|
PlanningDES
A set of interfaces, classes and functions to facilitate the creation of production planning algorithms using UltraDES |
GitHub repositories
This package is not used by any popular GitHub repositories.