GithubHelp home page GithubHelp logo

liflab / hypercompliance Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 752 KB

A BeepBeep palette to evaluate hyperqueries on event logs

Java 99.62% HTML 0.38%
beepbeep beepbeep-3-palette compliance event-log hyperproperties xes hypercompliance hyperqueries

hypercompliance's Introduction

A hypercompliance palette for BeepBeep 3

This project is an extension to the BeepBeep 3, event stream processing engine, called a palette, that provides functionalities to evaluate hyperqueries on event logs.

The code contained in this repository provides an implementation and a benchmark for the concepts described in the following research paper:

C. Soueidi, Y. Falcone, S. Hallé. (2023). Hypercompliance: Business Process Compliance Across Multiple Executions. Submitted to EDOC 2023.

Project structure

The repository is made of three separate projects, all contained in the Source folder:

  • Core contains the implementation of the palette itself. Building this project using Ant generates a library (JAR file) that can be used to evaluate hyperqueries on event logs.
  • Examples is a project showing examples of hyperqueries that can be evaluated using the palette. It requires the library created by the Core project.
  • Benchmark contains an instance of a LabPal laboratory to evaluate the performance of the palette on various properties and logs. It also requires the Core library. More information about the benchmark can be found in its own Readme file.

Building this palette

To compile the palette (i.e. the Core project), make sure you have the following:

  • The Java Development Kit (JDK) to compile. The palette complies with Java version 8; it is probably safe to use any later version.
  • Ant to automate the compilation and build process

At the command line, in the Sourcefolder, simply typing

ant

should take care of downloading all dependencies and compiling all three projects. Otherwise, each project can be built separately by typing ant in their respective folders.

Dependencies

The palette requires the following Java libraries:

These dependencies can be automatically downloaded and placed in the dep folder of the project by typing:

ant download-deps

The Benchmark project requires yet more libraries, which are documented in the file config.xml of this specific folder.

hypercompliance's People

Contributors

csoueidi avatar sylvainhalle avatar

Watchers

 avatar  avatar  avatar

hypercompliance's Issues

UnsupportedOperationException caused by parsing an XES trace with more than one event

Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)
	at java.util.AbstractList.add(AbstractList.java:108)
	at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
	at ca.uqac.lif.cep.hypercompliance.Log.appendTo(Log.java:54)
	at ca.uqac.lif.cep.hypercompliance.XesToLog.getLog(XesToLog.java:98)

The problem is caused by Arrays.asList(...) at XesToLog.java:98 as this creates a fixed sized list; the exception is then thrown when trying to add more elements to it.

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.