Git Product home page Git Product logo

asimov's Introduction

ASIMOV

About the tool

ASIMOV is a loosely coupled distributed inference engine that infers knowledge about the details of a process (e.g., consultation) occurring in a context (e.g., hospital) with the sole generic information about the process itself and measurement about a real-life process of that kind. Such knowledge can then be used to calculate KPIs, visualize analytics, make predictions, validate models, explain processes etc.

Given a business process described as a flowchart and some measurements about the process, ASIMOV can infer what sequence of events have led to the measurements, thus inferring and abstracting knowledge about the process itself.

As input ASIMOV receives two types of parameters together called the usecase:

  • A Process/Workflow that describes what resources (Actors, Assets, Materials, Places, etc.) are required to participate in an activity at the same place and time together, and how these activities are sequenced after eachother expressed by a branching probability.
  • A Context describing the types and other properties of resources required to execute the process/workflow descriptions providing detailed information on how they constrain the process/workflow in both space and time dimentions.

ASIMOV produces:

  • Events that explain the execution of the process/workflow descriptions meeting the requirements of the the process/workflow and the constraints of the resources.
  • A GUI offering Visual Analytics tooling for verifying/validating the usecase againts the events.

Version

0.3.1 Beta Release

Tech

Currently ASIMOV is written in JAVA, more implementations are currently being considered, but not yet planned. ASIMOV uses a number of open source projects to work properly:

  • EVE - A web-based agent platform
  • VisJS - Awesome tooling we use for our visual analytics for verification and validation
  • Neo4J - A graph database engine used for process and resource path finding.
  • COALA - A novel abstraction layer for Agents that helps reuse agent code across MASs and ABMs
  • MongoDB - A NoSQL database for quickly storing produced events, and generation of multiple output views on it.

In this BETA version the Multi Agent System bootstraps from a command line application and reads an input xml and writes the output to a new xml file once it is finished. Plans and preperations are made to transform the application to a more loosley coupled micro-service architecture, providing an extention API for developers and a GUI for modelers/researchers.

Installation

First make sure that you have: MongoDB installed on your machine. Java JDK version 1.7 or above installed on your machine. Maven installed on your machine. Git installed on your machine.

Make sure your JAVA_HOME env variable is set to the JDK 1.7 installation directory. Also ensure that your mongoDB is running, if not start the $MONGO_DIR/bin/mongod executable.

To build and install ASIMOV, type the following commands in your favorite shell:

$ git clone https://github.com/almende/asimov asimov
$ cd asimov
$ mvn clean install -Dmaven.test.skip=true
$ cd dist

Now you are ready to run ASIMOV, please refer to the examples listed below to get a more clear understanding of how to use ASIMOV.

Running ASIMOV

$ java -jar ASIMOV.jar <inputxmlfilename> <durationInDays> <outputdirectory>

Examples with more detailed information for input xml's can be found in the section below.

Examples

Examples of how to use ASIMOV can be found here :

Development

ASIMOV is being developed by Almende, a Dutch research company specialized in information and communication technologies. At the core of all Almende solutions are hybrid agent networks: humans and computers working together. Almende looks towards agent technology to develop smart software that truly supports people in organizing their own lives.

ASIMOV is an open-source product, Want to contribute? Great!

The contact person within Almende for development on ASIMOV is Suki van Beusekom.

Todo's

  • Provide more (detailed) examples in example pages
  • Add ASIMOV SL to input XML.
  • Remove COALA dependencies work directly with EVE.
  • JS implementation.
  • Micro-service extension architecture with RESTFull and RPC-API.
  • GUI for building usecases.
  • Provide developer documentation.
  • Add machine learning feedback loop to adjust processes and resource compositions.
  • Finish todo's :-)

License

MIT Licence

asimov's People

Contributors

josdejong avatar krevelen avatar ludost avatar sukivb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

davidxv laulunsi

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.