Git Product home page Git Product logo

tango-simlib's Introduction

tango-simlib: Easily generate TANGO device simulators

Main website: http://tango-simlib.readthedocs.io

Introduction

tango-simlib is a library that aids the data-driven development of TANGO device simulators. It aims to make it easy to develop basic simulators while making it possible to implement more complex simulators. In addition to the simulated device interface, a separate TANGO simulation-control interface is generated, allowing the simulator to be manipulated via a back-channel to simulate e.g. failure conditions on the simulated device interface.

Using only the basic TANGO interface description captured via a POGO generated XMI file, a basic simulator with randomly varying attributes and no-op command handlers can be generated with no further coding. Attribute simulation parameters and simple command behaviour can be specified using a Simulator Description Datafile (SIMDD). The format of this file is currently a working proposal and subject to change. A more formal format specification is being worked on.

Note that tango-simlib does not generate simulator code. Rather, the simulator's behaviour is driven by the description data at run-time using Python's dynamic programming features. If the description files (XMI or SIMDD) are modified, the simulator device server only needs to be restarted for the changes to take effect.

Basic Usage

Installation

Note that installation requires the TANGO binary prerequisites to be installed. If you cannot install the PyTango package you will not be able to install tango-simlib. For more, documentation.

Installation from source, working directory where source is checked out

$ pip install .

This package is available on PYPI, allowing

$ pip install tango-simlib

Documentation

Check out the documentation for more information. Download Manual: https://media.readthedocs.org/pdf/tango-simlib/latest/tango-simlib.pdf

License

This project is licensed under the BSD 3-Clause License - see license for details.

Contribute

Contributions are always welcome! Please ensure that you adhere to our coding standards CAM_Style_guide.

tango-simlib's People

Contributors

athanaseus avatar brickza avatar ajoubertza avatar lvdheever avatar

Watchers

James Cloos avatar Juande Santander-Vela avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.