Açıklama Yok

Claudio Gomes 7c168eb378 strong coupling implemented without rollback 6 yıl önce
.settings 4c9bea782d updated contral lang classes 6 yıl önce
HintCOEngine 7c168eb378 strong coupling implemented without rollback 6 yıl önce
HintConfiguration 7265905d1b added mas spring damper tests. Need to implement a bunch of things before being able to try waveform relaxation properly... 6 yıl önce
HintConfiguration.edit 7265905d1b added mas spring damper tests. Need to implement a bunch of things before being able to try waveform relaxation properly... 6 yıl önce
HintConfiguration.editor 91dfe7fefd major refactor: split language from engine 6 yıl önce
be.uantwerpen.cosys.ContractLang a6460bd560 added powerbonds and editor to solve crashing reflective editor 6 yıl önce
.gitignore 91dfe7fefd major refactor: split language from engine 6 yıl önce
.gitlab-ci.yml 513e016204 Try caching Maven dir. 6 yıl önce
CONTRIBUTING.md 6d6eb16c48 Add readme and contributing 6 yıl önce
LICENSE 49126b5ca2 Initial commit 6 yıl önce
README.md f3f0ca5529 added download link 6 yıl önce
pom.xml a6460bd560 added powerbonds and editor to solve crashing reflective editor 6 yıl önce
test.sh cba2da2982 major refactoring for hierarchical cosim support (needed for multirate) 6 yıl önce

README.md

HintCO

This framework is a automated co-simulation program which is based on hints. The co-simulation user define some hints in the framework, then the framework automatically try to find best master algorithm in order to satisfy user hints. It runs numerous simulations, using the past results to improve next simulation with new master algorithm.

Download

The latest precompiled binaries for windows are available for download here.

For Linux and macOS platforms, see Getting Started in Development.

Usage Instructions

There are two main tasks in running a co-simulation with HintCO:

  1. Configure a co-simulation scenario file. This is an xml file that can be easily edited with Eclipse and the editor plugin shipped with HintCO.
  2. Compute the co-simulation results.

Configuring Co-simulation Scenarios

Co-simulation scenario are just xml files. See watertanks.xmi for an example.

HintCO provides EMF Editor Plugins to edit such files. To use them, install the HintCO.edit_*.jar and HintCO.editor_*.jar files into your favorite eclipse distribution.

Running Co-simulations

HintCO provides some example co-simulations. The scenario files are available in the [examples](HintCO\examples) directory and the FMUs are available in the [resources](HintCO\resources) directory.

If hintco denotes the HintCO binary, then run

hintco -s .\examples\watertanks.xmi -o output -n 1

Where .\examples\watertanks.xmi can be found in [examples](HintCO\examples), and output is where the results will be generated. The fmus are assumed to be in a resources folder, in the same directory as the binary hintco. A helper script under [scripts](HintCO\scripts) is provided, to create pdfs for the plots produced:

python plot_results.py ./output/0_1

To get help on the API:

hintco -h

Getting Started in Development

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Windows/Linux platform.

Installing

In order to setup the framework, you need follow these steps:

  1. Install Eclipse IDE for RCP and RAP Developers. Version: Photon Release (4.8.0)
  2. Install Xtend (Version 2.16 or 2.17). Using Install new software in Help tab of eclipse.
  3. Install Xcore (Version 1.6). Using Install new software in Help tab of eclipse. Xcore will be part of the Xtend. The Xtend repository should be available in the "Work with" dropdown. Either enter "Xcore" in the filter field or locate "Modeling → EMF - Eclipse Modeling Framework Xcore SDK" in the content and check mark it.
  4. Install Maven (Version 3.6), or m2e (Version 1.5)

Building and Testing

The build can be done in both Eclipse and Maven. Start with build project with Maven. For this purpose run following command in the project root folder:

mvn install

Then you have to test application in Eclipse environment with JUnit. We recommend running the Eclipse JUnit plug-in tests as well.

Exporting an Application

The easiest way to export the application is to run:

mvn package

The main jar file will be in ./HintCO/target/.

Alternative, use eclipse to export the eclipse product with the HintCO.product file.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Paper

If you use the HintCO, please cite our paper.

HintCO – Hint-Based Configuration of Co-Simulations. Cláudio Gomes, Bentley James Oakes, Mehrdad Moradi, Alejandro Torres Gámiz, Juan Carlos Mendo, Stefan Dutré, Joachim Denil, Hans Vangheluwe. SIMULTECH 2019.

@inproceedings{Gomes2019,
  address = {{Prague, Czech Republic}},
  title = {{{HintCO}} - {{Hint}}-{{Based Configuration}} of {{Co}}-{{Simulations}}},
  booktitle = {International {{Conference}} on {{Simulation}} and {{Modeling Methodologies}}, {{Technologies}} and {{Applications}}},
  author = {Gomes, Cl{\'a}udio and Oakes, Bentley James and Moradi, Mehrdad and Gamiz, Alejandro Torres and Mendo, Juan Carlos and Dutre, Stefan and Denil, Joachim and Vangheluwe, Hans},
  year = {2019},
  pages = {accepted},
}