Giter Club home page Giter Club logo

ABS Tools

compile GitHub release Gitter

Inside this repository we develop the core tools of the ABS modelling language. The current language manual is at https://abs-models.org/manual/.

To compile the command-line compiler and manual, run ./gradlew assemble (See https://abs-models.org/getting_started/local-install/ for more information).

To run the ABS collaboratory (a browser-based IDE for ABS) locally using Docker, execute the following command:

docker run -p 8080:80 --rm abslang/collaboratory:latest

Then connect your browser to http://localhost:8080/. It is not necessary to clone the repository or compile the toolchain to run the ABS collaboratory in this way.

To run the absc compiler locally using docker, create a script such as https://github.com/abstools/abstools/blob/master/frontend/src/main/resources/bash/absc-docker and put it in your path.

Folders

  • frontend - the ABS compiler and runtime support. See https://abs-models.org/getting_started/local-install/ for installation instructions.

  • abs-docs - the ABS language manual, available online at http://abs-models.org/manual/. To generate the manual locally, run make manual.

    • abs-docs/ReferenceManual - an older LaTeX ABS reference manual, now mostly of historical interest

    • abs-docs/Ott - a formal grammar for a large subset of ABS, written in Ott

  • org.abs-models.releng - Files used by Jenkins and Buckminster for continuous integration at https://envisage.ifi.uio.no:8080/jenkins/.

  • abs-unit - demonstration, description and initial ideas about the ABSUnit (a unit testing framework for ABS) (with Maven dependencies management)

  • various leftovers from previous projects, to be evaluated and reactivated or pruned

Note for Windows Users

Please clone the archive without line ending conversion (unfortunately activated by default on Windows). Use -c core.autocrlf=false as argument for the initial git clone command, i.e.,

git clone https://github.com/abstools/abstools -c core.autocrlf=false

Otherwise, running the tools inside Docker will fail with obscure error messages.

Working with the repository

Consider rebasing instead of merging your changes:

git pull --rebase

This avoids spurious "merge branch to master" commits.

git pull --rebase will, in case both you and the remote repository have new commits, replay your local commits on top of upstream changes instead of adding a new local commit that merges the master and origin/master branches. Conflicts have to be resolved per patch (via git add + git rebase --continue) instead of in one go, but we get a cleaner history.

abstools's Projects

abs-bench icon abs-bench

The benchmark suite comparing the different ABS backends

abs-haskell-formal icon abs-haskell-formal

Translating a subset of ABS to pure Haskell for proving correctness and resource consumption

abstools icon abstools

The ABS modeling language and surrounding tools

bbedit icon bbedit

Support for ABS in the BBEdit editor.

habs icon habs

The Haskell backend for the ABS modeling language

habs-frh icon habs-frh

The Fredhopper case study built for HABS (ABS haskell backend)

habs-parser icon habs-parser

The parser, part of the Haskell backend for ABS (habs)

habs-runtime icon habs-runtime

The runtime library, part of the Haskell backend for ABS (habs)

habs-samples icon habs-samples

ABS code snippets used for testing the Haskell backend for ABS (habs)

habs-stdlib icon habs-stdlib

The ABS standard library, part of the Haskell backend for ABS (habs)

logreplay icon logreplay

A tool to replay a log file as a series of queries onto an HTTP endpoint.

metviz icon metviz

A tool that relays metrics (as time-series) from an HTTP endpoint in an ABS model to InfluxDB for visualization

saga icon saga

A code generator for ABS monitors from declarative grammars.

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.