op_ex_mc.cpp File Reference

This tutorial demonstrates methods for verifying the mutual controllability condition of two given automata. More...

#include <stdio.h>
#include <iostream>
#include "libfaudes.h"

Go to the source code of this file.

Functions

int main (int argc, char *argv[])

Detailed Description

This tutorial demonstrates methods for verifying the mutual controllability condition of two given automata.

A definition of mutual controllability is given in S.-H. Lee and K. C. Wong, “Structural decentralised control of concurrent DES,” European Journal of Control, vol. 35, pp. 1125-1134,2002.

/** @file op_ex_mc.cpp 

This tutorial demonstrates methods for verifying the mutual controllability condition of 
two given automata. A definition of mutual controllability is given in 
S.-H. Lee and K. C. Wong, “Structural decentralised control of concurrent
DES,” European Journal of Control, vol. 35, pp. 1125-1134,2002.

@ingroup Tutorials

@include op_ex_mc.cpp
*/

#include <stdio.h>
#include <iostream>
#include "libfaudes.h"


// make libFAUDES namespace available
using namespace faudes;


int main(int argc, char* argv[]) {

  // read two generators from file input
  System gen1("./data/ex_mc/ex_mc1.gen");
  System gen2("./data/ex_mc/ex_mc2.gen");
  
  // Verify mutual controllability of gen1 and gen2. In this case, mutual controllabiity is violated.
  bool mc = IsMutuallyControllable(gen1,gen2);
  std::cout << "#################################################\n";
  std::cout << "# Mutual controllability verification - result: " << mc << std::endl;
  std::cout << "#################################################\n";
  
  // read one further generator from file input
  System gen3("./data/ex_mc/ex_mc3.gen");
  // Verify mutual controllability of gen3 and gen2. In this case, mutual controllability holds.
  mc = IsMutuallyControllable(gen3,gen2);
  std::cout << "##################################################\n";
  std::cout << "# Mutual controllability verification - result: " << mc << std::endl;
  std::cout << "##################################################\n";

    
  return 0;
}

Definition in file op_ex_mc.cpp.


Function Documentation

int main ( int  argc,
char *  argv[] 
)

Definition at line 22 of file op_ex_mc.cpp.

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen