Enterprise Integration Pattern (EIP) demonstrator as multimedia CPN extension of CPNTools
- Windows 10 (due to the CPN Tools, sorry guys)
- Working internet connection
- JDK15 (eg, from Oracle)
- CPN Tools version 4 (eg, from CPN Tools)
- Recommended: Cygwin to install further needed dependencies (JavaCV 1.5.4, OpenCV 4.4.0) and to start the extension.
- Needed tools:
make
,wget
,unzip
,mv
,rm
,mkdir
- Run
make
: Downloading dependencies will take some time and around 2.5 GB of disk space - The JVM is configured to take up to 6GB of memory
- Needed tools:
-
Run the
mmnet.jar
to start the extension server (make
); check the icon in the toolbar and double-click to check that the mm-net extension is registered. Make sure that the command is executed within the folder, such that the HaarCascade subdirectory is at the relative path./HaarCascade
, allowing the extension to find relevant files. -
start the CPN Tools (eg, type CPN Tools in Win10 search field).
-
Load pattern model, e.g.,
aggregator.cpn
, through right-click andload model
. -
Right click on the
connect
artifact in the model and selectexcecute ML
OR select ML in the CPN Toolbar and drag and drop there.Connect CPN/COMMS
Button on the extension GUI -
Enter the port configured in the connect artifact into the extension GUI and connect CPN/COMM (default
9001
).
- If images are loaded but places and or viewplaces are not populated, changing the inscription (e.g. adding a space) will lead to a recalculation, allowing to display the correct tokens.
- Sometimes even though transitions should be able to fire they are not enabled, saving the current net sometimes seems to release the internal confusion of CPN Tools, which may lead to correctly enabled transitions.
- Large sized pictures can need a longer time to be classified, most of the time using a downscaled image will yield the same classification in less time
Kudos to Marc for recording this short video on how to run the provided MM-net example model.
Click on image below or Link directly: https://youtu.be/5e1jANe0gGA.
Please note that the demonstrator is a CPN Tools extension, and thus uses the Access/CPN module, which comes with a LGPL license. However, Access/CPN references the CPN Tools Simulator module, which is dual-licensed and can be used either under the GNU General Public License (GPL) version 2 or by the below license, which is a 4-clause BSD license.
If you find this work useful for your research, please cite:
@inproceedings{DBLP:conf/edoc/MontaliR020,
author = {Marco Montali and
Andrey Rivkin and
Daniel Ritter},
title = {Formalizing Integration Patterns with Multimedia Data},
booktitle = {24th {IEEE} International Enterprise Distributed Object Computing
Conference, {EDOC} 2020, Eindhoven, The Netherlands, October 5-8,
2020},
pages = {67--76},
publisher = {{IEEE}},
year = {2020},
url = {https://doi.org/10.1109/EDOC49727.2020.00018},
doi = {10.1109/EDOC49727.2020.00018},
timestamp = {Wed, 28 Oct 2020 15:31:59 +0100},
biburl = {https://dblp.org/rec/conf/edoc/MontaliR020.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
for theoretical foundations, and / or the extended version (incl. detailed execution semantics):
@article{DBLP:journals/corr/abs-2009-04589,
author = {Marco Montali and
Andrey Rivkin and
Daniel Ritter},
title = {Formalizing Integration Patterns with Multimedia Data (Extended Version)},
journal = {CoRR},
volume = {abs/2009.04589},
year = {2020},
url = {https://arxiv.org/abs/2009.04589},
archivePrefix = {arXiv},
eprint = {2009.04589},
timestamp = {Thu, 17 Sep 2020 12:49:52 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2009-04589.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
or