About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES
C++ API
Sections
Sets
Generators
Functions
PlugIns
Tutorials
Index
Classes
Files
cfl_conflequiv.h
Go to the documentation of this file.
1
/** @file cfl_conflequiv.h
2
3
Abstractions that maintaine conflict-equivalence.
4
5
*/
6
7
/* FAU Discrete Event Systems Library (libfaudes)
8
9
Copyright (C) 2015 Michael Meyer and Thomnas Moor.
10
Exclusive copyright is granted to Klaus Schmidt
11
12
This library is free software; you can redistribute it and/or
13
modify it under the terms of the GNU Lesser General Public
14
License as published by the Free Software Foundation; either
15
version 2.1 of the License, or (at your option) any later version.
16
17
This library is distributed in the hope that it will be useful,
18
but WITHOUT ANY WARRANTY; without even the implied warranty of
19
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
Lesser General Public License for more details.
21
22
You should have received a copy of the GNU Lesser General Public
23
License along with this library; if not, write to the Free Software
24
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
25
26
27
#ifndef FAUDES_CONFEQUIV_H
28
#define FAUDES_CONFEQUIV_H
29
30
#include "
cfl_definitions.h
"
31
#include "
cfl_generator.h
"
32
33
34
namespace
faudes {
35
36
/**
37
* Test for conflicts
38
*
39
* A family of generators is non-blocking, if their parallel composition
40
* is non-blocking (all accessible states are co-accessible).
41
*
42
* This implementation applies a number of conflict equivalent
43
* simplifications before finally testing for conflicts in the
44
* parallel composition; see also
45
* ConflictEquivalentAbstraction(vGenerator&, const EventSet&)
46
* This approach has been originally proposed by R. Malik and H. Flordal
47
* in "Compositional verification in supervisory
48
* control", SIAM Journal of Control and Optimization, 2009.
49
*
50
* The current implementation is experimental with code based on Michael Meyer's
51
* BSc Thesis.
52
*
53
*
54
* @param rGenVec
55
* Vector of input generators
56
* @return res
57
* true if there are no conflicts
58
*
59
* @ingroup GeneratorFunctions
60
*/
61
extern
FAUDES_API
bool
IsNonblocking
(
const
GeneratorVector
& rGenVec);
62
63
64
/**
65
* Conflict equivalent abstraction.
66
*
67
* Two generators are conflict equivalent w.r.t. a set of silent events,
68
* if, for any test generator defined over the not-silent events, either
69
* both or non are conflicting. This functions implements a selection of
70
* conflict equivalent transformations proposed by R. Malik and H. Flordal
71
* in "Compositional verification in supervisory control", SIAM Journal of
72
* Control and Optimization, 2009.
73
*
74
* The current implementation is experimental with code based on Michael Meyer's
75
* BSc Thesis.
76
*
77
* @param rGen
78
* Input generator
79
* @param rSilentEvents
80
* Set of silent events, i.e., events not shared
81
* with any other generator to compose with.
82
*
83
* @ingroup GeneratorFunctions
84
*/
85
extern
FAUDES_API
void
ConflictEquivalentAbstraction
(vGenerator& rGen,
const
EventSet
& rSilentEvents);
86
87
88
89
90
}
// namespace faudes
91
92
#endif
93
libFAUDES 2.28a
--- 2016.09.13 --- c++ api documentaion by
doxygen
>>
C++ API
Introduction
Sets
Generators
Functions
PlugIns
Tutorials
Classes
Files
Top of Page