sarahtattersall / PIPECore

Core libraries for building and editing Petri nets
6 stars 12 forks source link

Java library? #86

Open dracoIntelligentSystem opened 7 years ago

dracoIntelligentSystem commented 7 years ago

Is there some API (.jar library) in order to use PIPE utilities in java?

sjdayday commented 7 years ago

There is an API to execute Petri nets, briefly documented here: https://github.com/sjdayday/PIPECore/wiki/Execution-outside-GUI , and in slightly more detail in this paper: https://arxiv.org/abs/1607.06875

This is the class that implements the Runner interface:

uk.ac.imperial.pipe.runner.PetriNetRunner

To see examples of usage, see the corresponding tests:

uk.ac.imperial.pipe.runner.PetriNetRunnerTest There is no API to execute the analysis modules.

Hope that helps.

Steve

On Thu, Nov 23, 2017 at 8:14 AM, dracoIntelligentSystem < notifications@github.com> wrote:

Is there some API (.jar library) in order to use PIPE utilities in java?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sarahtattersall/PIPECore/issues/86, or mute the thread https://github.com/notifications/unsubscribe-auth/ACAHxlqUR1mfUXwdkhWVv6ALAqRhhXY8ks5s5Zn5gaJpZM4Qo-Tm .

-- Steve Doubleday PhD candidate, Mathematical Behavioral Sciences UC Irvine stevedoubleday@gmail.com 818-648-8381

fkleedorfer commented 6 years ago

I did not find a PetriNetRunner anywhere, but the uk.ac.imperial.pipe.animation.PetriNetAnimator class works nicely for running a petri net without the GUI.

sjdayday commented 6 years ago

Hi Florian,

You would need to checkout the hierarchical-nets branch:

git clone https://github.com/sarahtattersall/PIPE.gitf This is the GUI project, which as yet has very little new function, but knows how to interface to PIPECore, which has the new logic. cd PIPE git checkout hierarchical-nets cd .. git clone https://github.com/sarahtattersall/PIPECore.git cd PIPECore git checkout hierarchical-net

take a look at the README. This link gives a high-level description of the changes: https://github.com/sjdayday/PIPECore/wiki (These functions are only available programmatically, not in the GUI.)

If you don't need the source, the README also gives the maven dependency to add to your pom.

The class you're looking for is uk.ac.imperial.pipe.runner.PetriNetRunner

Sorry this is not straightforward. Let me know if you have more questions.

Steve stevedoubleday@gmail.com

On Mon, Oct 15, 2018 at 2:52 AM Florian Kleedorfer notifications@github.com wrote:

I did not find a PetriNetRunner anywhere, but the uk.ac.imperial.pipe.animation.PetriNetAnimator class works nicely for running a petri net without the GUI.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sarahtattersall/PIPECore/issues/86#issuecomment-429761028, or mute the thread https://github.com/notifications/unsubscribe-auth/ACAHxgcrAgB3-UULnDxo2phhWUg02bBXks5ulEzAgaJpZM4Qo-Tm .

-- Steve Doubleday PhD candidate, Mathematical Behavioral Sciences UC Irvine stevedoubleday@gmail.com 818-648-8381

fkleedorfer commented 6 years ago

Hi Steve, thanks for the explanation! Currently, I think we only need place/transition networks and I prefer to use a released version over a snapshot (which, I guess, the branch would be). Here's the class glueing PIPE to webofneeds: https://github.com/researchstudio-sat/webofneeds/blob/master/webofneeds/won-utils/won-utils-conversation/src/main/java/won/protocol/agreement/petrinet/PetriNetState.java