GithubHelp home page GithubHelp logo

comb's Introduction

Comb

User guide

  1. Install Eclipse IDE for Java and DSL Developers, and install the Sirius 6.5 plug-in from the Eclipse Marketplace.
  2. Clone or download the project.
  3. Import the projects into your Eclipse IDE.
  4. Start a new run-time Eclipse with the aforementioned projects: right click on a plug-in project (e.g. comb.expression.design) -> Run As -> Eclipse Application.
  5. Import the comb.expression.design and the comb.examples projects into your run-time Eclipse.
  6. Open the Modeling Perspective: Eclipse -> Window -> Perspective -> Open Perspective -> Other -> Modeling
  7. In the Model Explorer view extend the Comb element within the My.comb file of the comb.examples project. Here you can see the root elements of the contained expressions and a graphical Sirius editor new CombDiagramDescription. To open it, double click it.
  8. Here you can edit and save your requirements. You can observe various properties of the selected element in the Properties view.
  9. The various functions of a comb requirement can be accessed by right clicking on an element under the main Comb element in the Model Explorer view and select "Comb generator".
  10. Graphical trace representations are generated in dot format into the comb.examples project. These can be used by Graphviz (see "Further dependencies" section).

Further dependencies

The generated .dot format files can be viewed online, using Graphviz online

For in-Eclipse graphical trace representation, the following dependencies are needed:

  1. Graphviz needs to be installed, where the dot executable path
    a. needs to be in the environment paths, or
    b. it can be specified manually in the Eclipse -> Window -> Preferences -> Graphviz menu.
  2. The TextUML Toolkit 2.13.0 Eclipse plug-in needs to be installed (may not work on operating systems other than Windows). Its view can be accessed trough the Image Viewer view (Eclipse -> Window -> Perspective -> Open Perspective -> Other -> Image Viewer)

The contents of the Comb project

  • comb.examples: contains the example files of the Comb project
  • comb.expression.design: contains the graphical and textual representation of the operators. Also includes the configuration file (placed here, so its easier to access from the run-time eclipse)
  • comb.expression.metamodel: contains the metamodel and the generated code which describe the supported operators
  • comb.expression.metamodel.edit and comb.expression.metamodel.editor: projects generated from the comb.expression.metamodel project, will be used as Eclipse plugins which contain the implementation of the model editor
  • comb.external.LTL2Buchi: contains the external LTL2Bchi project used for generating Büchi-automatons from LTL requirements
  • comb.external.BatMonGen: contains the external BatMon Gen project used for generating monitor components from Büchi-automatons
  • comb.external.jSSTL: contains the external jSSTL project used for generating monitor components from MTL, MITL, STL and SSTL based requirements
  • comb.generator.action: contains the files which are implementing the functions of the context menu (like import, export, saving different automaton formats and interpretations, initiating monitor synthesis)

Special thanks

Special thanks for the other tools which are integrated into the Comb project: jSSTL, LTL2Buchi, ROBDD

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.