1 //----------------------------------------------------------------------------------
4 // \author Christian Caremoli
7 //----------------------------------------------------------------------------------
14 \b %YACS is a tool to supervise execution of complex interconnected
15 scientific applications on computer networks and clusters.
16 Interconnected scientific applications can be seen as a collection
17 of computational tasks that are executed in a known order.
19 In %YACS such a kind of application is described by a calculation schema.
20 %A calculation schema can be defined with an XML syntax and is mainly
21 a graph of nodes that refer to computational tasks or control structures.
22 Nodes are connected by control and data flow links.
26 - Build calculation schemas from XML files
27 - Execute calculation schema (batch, step by step)
28 - Can manage mainly Salome component nodes, inline python nodes but
29 also to a lesser extent : C++ component nodes, XML component nodes
33 %YACS is composed of several packages
34 - \subpage bases : common base classes (threads,...) and constants
35 - \subpage engine : calculation schema generic classes (calculation nodes, control nodes,
36 control and data flow links, ...)
37 - \subpage runtime : implementation of generic calculation nodes for Salome platform
38 - \subpage xml_loader : XML reader for generic calculation schema
39 - \subpage gui_design : Graphic User Interface design
41 A Python API is provided by wrapping with swig : \subpage python
45 For building %YACS, you need some prerequisites
46 - g++ 4.1 or more (mandatory)
49 - omniorb 4.1 or more (mandatory)
50 - python 2.3 and + (mandatory)
51 - swig 1.3.31 (mandatory)
52 - cppunits (optional, for unit tests only)
53 - Salome 4.1.x (optional)
55 If you want to install %YACS for SALOME, you need to set environment
56 variable: \b KERNEL_ROOT_DIR.
58 If you want to install %YACS with SALOME GUI, you need to set environment
59 variable: \b GUI_ROOT_DIR.
61 The building process is the traditional cmake/make/make install:
62 - cmake -DCMAKE_INSTALL_PREFIX=path_to_install ../src_path
65 Then you can run unit tests if cppunits is installed :
68 Then you can run a small demo in Demo directory:
71 - launch the echoSrv server : ./echoSrv& (if the omniorb name server is not
72 running you need to launch it : omniNames -start -logdir /tmp & should be enough)
73 - run yacs supervisor with the schema.xml file : ../src/yacsloader/driver schema.xml
75 Finally you can install yacs:
77 - read the doc in doc directory
78 - go to src/yacsloader/samples directory for XML examples
82 Many things but mainly:
83 - add resource management features
88 /*! \defgroup TypeCodes TypeCodes
91 /*! \defgroup Nodes Nodes
94 /*! \defgroup Ports Ports
97 /*! \defgroup AdaptorPorts AdaptorPorts
100 /*! \defgroup Executors Executor objects