=========
PySECSGEM
=========
This set of code was written in order to test SECSGEM compliant equipement
and host. By extent it could serve to replace secsgem layer.
Public
------
Equipment developpers
~~~~~~~~~~~~~~~~~~~~~
- Simulate host
- make unit test
- check SEMI compliancy
Host developpers
~~~~~~~~~~~~~~~~
- Simulate equipment
- Discover equipments capability, variables, statemachine, flow
SEMI standard writter
~~~~~~~~~~~~~~~~~~~~~
That's part of people are not in the public of this application. however if
the application was remodeled to implement a grammar parser this tool could
be useful for standard writter:
- write a new transport layer
Presentation
------------
SSHELL
~~~~~~
SShell stands for SECSGEM Shell. This application allowed you to send and
receive SECSGEM messages as easily as you would send message with a chat app.
The message can be prepared in the `secsim.sml` file or dynamically on runtime.
Build an equipment simulator
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Look at the module ``equipments.essais`` to understand how to build an equipment
simulator. Then open SShell to use the simulator.
Advantage compared to other solution
""""""""""""""""""""""""""""""""""""
* Auto response based on message input
* Auto response based on state changed
* Dynamic compilation of message to send
* Hot code loading of replies functions (no reload)
Build a host simulator
~~~~~~~~~~~~~~~~~~~~~~
TODO: Think the best design
Equipment Characterization
~~~~~~~~~~~~~~~~~~~~~~~~~~
The characterization equipment is done via the hosts.characterizer module.
This module contains few classes:
- `Host`
- `EquipementItems`: will seemlessly retrieve information about SV, EC, AL
and DV. These information are programmaticaly queryable; it will help
during a discovery phase of an equipment.
- InteractiveRunner: For the moment it's only a tool to help human to send
message.
- Test classes: that's some basic unit test you would like to run on every
equipment. And it's here also as sample for unit test developper.
Samples
"""""""