[Fawkes Git] branch/bschaepers/asp-aspect: 132 revs updated. (0.5.0-3499-g2c155dd)

Bjoern Schaepers bjoern.schaepers at rwth-aachen.de
Wed Dec 28 13:55:28 CET 2016


Changes have been pushed for the project "Fawkes Robotics Software Framework".

Gitweb: http://git.fawkesrobotics.org/fawkes.git
Trac:   http://trac.fawkesrobotics.org

The branch, bschaepers/asp-aspect has been updated
  discards  c00d1a0d0b4fdbabffb45f2869d0ab084fa58740 (commit)
  discards  b0b74134926a54b701967433ff9fbd85fe652a37 (commit)
  discards  824f59d5605820d04a9c94899d88afa8204f49b1 (commit)
  discards  0bc2d4f079241cf59964d32e914a0507c5b1cf24 (commit)
  discards  19db51858a49193f016cda7965decafff476d44e (commit)
  discards  4ce5e0fad19278618a9999332a2a89953dfe4a89 (commit)
  discards  4512d97664d3528a686db9200455a5efc59757b9 (commit)
  discards  0d313da6eb1e98340392de6ae0e415807c95290a (commit)
  discards  0c578f53763afea4bf9ef222b054f1b5cfa0a8e3 (commit)
  discards  559b56aa233d8a8480f0736fa3eab9f39727c203 (commit)
  discards  2cf4dc4bb25b6779444375df78550ed4b6e90e67 (commit)
  discards  d87b61b714a9c77eea8697d053b42fd9b14c25c2 (commit)
  discards  07374426b1c53acc9510a7375fbcc54646810c33 (commit)
  discards  2d2427904bcf3ce87ee43a25405e178704dd3683 (commit)
  discards  3457738aea5417e69eae233c75936e1b5322bfcb (commit)
  discards  78dcd9dcc6ae8ef57e0b68585584b24297aeadb1 (commit)
  discards  16df52d8b40c32073247705bea0b3a7ff972b933 (commit)
  discards  bcf93253cf185c93bd9f61e475c2749f89fb6102 (commit)
  discards  4ac324755ab2aef922b89b03278843d0ccb4f3e7 (commit)
  discards  8eda35d1cd8ccd8dde515a7e37f765ff0c026b96 (commit)
  discards  2e1d72279762dd8adc3dd8e5a4f4582e46243232 (commit)
  discards  6d021fd5821e24db0ad2275ff8464305a1a1452a (commit)
  discards  583c341762b9e98a25764873082d0b9c43231653 (commit)
  discards  365d0c71d2ac103e951240990c17e24c88426c67 (commit)
  discards  1890c4853eaa26a06f320e1bd430cdb97afeedae (commit)
  discards  92acf8c0da8944bc25b56048c85968a8ee3102b9 (commit)
        to  2c155dd1a7976f7b16852716a96091db597761e5 (commit)
       via  00e1c00e03d36baf806b567d2b720ba505b32794 (commit)
       via  1e9867a4667edf32f6bd7b60f5a1bf13306f408a (commit)
       via  09a8a56439b703120c1f249a2d124e1288e1abcf (commit)
       via  97da60efd6cb31b76f803c971f8bfc3eb0808116 (commit)
       via  0c5c8cb60965b58a9665a737454b8312d9c3f51e (commit)
       via  a9272928e209badaa923fc0ed343fa74f2c9dfd4 (commit)
       via  a84d8384cfa05700d6f8a98753d438fcb2f3bd8b (commit)
       via  f40bc3c05497e876101d1045026db99edbdb6d9f (commit)
       via  5dfdf5f58a77917dd1b9bd034aba9d1a98cca30a (commit)
       via  c1159aa7c1c577f71354c24ba2ce172af4fea847 (commit)
       via  3a0ac1253e62188171e13bf76d52bda1a9c50bed (commit)
       via  965fbcd95677be6c0cef2775aba39e0465e4ae09 (commit)
       via  511331a4c4315c542312f22966b712e9ea5172a7 (commit)
       via  c4fb764e4bbf39565b8e744b176db295290f209b (commit)
       via  9ecf2b6af4ed5985b618ea410ca2d73325906023 (commit)
       via  a913b632d6a92c77357a58ae0487d510c39fc995 (commit)
       via  e4da9cb5372ed196bbb877b122b1fe89e90b4f49 (commit)
       via  e406474465f791d5d6aee18cfb32c66b86cd1b1e (commit)
       via  d57be03a290b9b49e8822f0b123d9118e8b8d3e1 (commit)
       via  79e7dfeb3f3d0af5b7363f3d9efccd84f4d20c80 (commit)
       via  2c51f5a1c07b898933b6d4ff60bb3c6c0b0b68f0 (commit)
       via  6a7944859b683762cc200df28a3b3fddfd6b02e8 (commit)
       via  2f3821952b6b451e209551e9ddadf20dd756cf45 (commit)
       via  699024211bf6c107e146a4924caa402ba93aa743 (commit)
       via  ca8dc55aec6eca6b0a853a0d223bf72e80a9b31d (commit)
       via  761b2d52f71745cda9e9d3fd58b8a4518777d113 (commit)
       via  fde289414f01229b9e7664877635eaf68033be2e (commit)
       via  1b8b0f6b9917b4260b5589107125db4da863389d (commit)
       via  23539c9b9542350295b632f00e443dbf1b9bc653 (commit)
       via  c7feeea0f362a62e1c451c572fe35acfe0a96636 (commit)
       via  b65ca961155cc343af26c1fbc314ddbb28e8361a (commit)
       via  f44b816f35b6f625d6d8245a724bc60c72e866d1 (commit)
       via  fde8bce5d0d9861019e7b0b8c124e54f577718e8 (commit)
       via  cbb7cab6b52a72714367563523c33f9404ed2448 (commit)
       via  0eb1ca81c32819ae3bc34cc070e9220916cf040f (commit)
       via  899063bcfcabc034b1e7bbfb30fc69d74eb9fced (commit)
       via  6879c08932bdd9a356dac6a6f6d95953f6f0d2bf (commit)
       via  623b36ecd777d80b8ec5e7be2b0c6822cf4a1d7e (commit)
       via  568fc54c8e517441be455935230fd1c0177a46dc (commit)
       via  ccf6e3ba82ddbab199a0cbf75136795fd8e27397 (commit)
       via  2fafe28ec8e65813efd86c0f0186149df84bceb8 (commit)
       via  9ea4aea38cff30c76dc687c94f79a14e95fb4f6f (commit)
       via  3fe27c43812c7723c2eaf9f76dae37bae800888c (commit)
       via  144f69dfb3398a080bc5dd6fb4b1ec97fadfe1fb (commit)
       via  419a6564acb457e4d46f4dda8bdd93a430a8f74f (commit)
       via  5f8ddfc21b51aa33cbb0b37a1e5e975be9102711 (commit)
       via  f19eb689c97faabb047a3f4ec7a35843506f3786 (commit)
       via  b6353097e2719a8775dc2bfc80ded5fd9f06ded8 (commit)
       via  2850bb45c31ba7be8b9a7ab36b923dfaeca3a179 (commit)
       via  b5889979bf53f1bbb0cc764b572a9f3d725962a5 (commit)
       via  77c7c16c0b518d30b625af64ecd209d01fb55d7a (commit)
       via  48aa61fab8cd12373b8e238c736e56a1433c1c7f (commit)
       via  7f2544a683b32cffb55cf216ddbd6bbb6919518e (commit)
       via  83492aab00f622918377cb680fbaaeb95d4534d3 (commit)
       via  90371400ab29e4959ef6208905232f1341c04f29 (commit)
       via  d77c995d77b7c1f5f3529c81ffef957b451f7f2e (commit)
       via  a4d5227b50f85e6645b2f2229a9ae31ea20366fc (commit)
       via  b2111390918c2428543f9380f233177c4873e94d (commit)
       via  049113ba3df12dafbe46718b9230d3bb3a93cbc3 (commit)
       via  ea417f2f5fff72ca707e11f0d18d89bedc2c7c9b (commit)
       via  bee476873ffadb7485fec26af8363267a2dc0707 (commit)
       via  699529c5fa32345e89f45d66fe7f1eb946dbf390 (commit)
       via  c175651ea123c577bedd3e35bb2dc360de7f4466 (commit)
       via  31b65ac1e4bfb2ead38398d0876448abf9cf6822 (commit)
       via  5be4f629d160831d5c191a0fc6ac5a2e28c1779f (commit)
       via  cbb1725f3ae546e8b20e92ba666d32133ba5301e (commit)
       via  34cd20dc741f50d180637ac3fa9e9bf824b4a847 (commit)
       via  d9a15ff0314d6e855243b2ef0b301260e7f9a289 (commit)
       via  c8db401bc6c20e07eccb2c776e00d65aa61acbcf (commit)
       via  7ac1a5f73d4036aba0c54a8fc832314ff0614a64 (commit)
       via  3aa208b7bdf2415269872ed9107843bc2c90106b (commit)
       via  c8ea4744359fe726ad3ef5d6e9a38d84b9c9b1ad (commit)
       via  40b2e90d23d459a92fc670ef70692bd014218a1f (commit)
       via  21907b1259e6497b57df8a858817aceba2f4965e (commit)
       via  71ba39c1157515785b28a618544afa647243ec47 (commit)
       via  6ee025107fa9e3bc813db5388f20e0e2c9e9e507 (commit)
       via  4de7cf7155a311aab7ad73b575422a23a029926a (commit)
       via  05ed774ea40e6b1db7630a5959f429851858c085 (commit)
       via  993f1e4bc92b6487cde1647b2af9fbab1d6a3c06 (commit)
       via  c0078babe157fa105328a0cda3e226c88ead2a0f (commit)
       via  be2af409be1f0a093008c9982136078f2ef83e56 (commit)
       via  a021c3a96854b92a53e1301a7e50676dab9c4082 (commit)
       via  ef50309622fdb59ff93e74a3133491e06a9c862f (commit)
       via  23df43bc2532b5881ea0feebe310c33517001c19 (commit)
       via  90053507c52485ba66d72ec219c8005f05568e72 (commit)
       via  6dbdcd62c21667a6cd65aad0354878379e42a739 (commit)
       via  02a92760f1a714d80f8c3e57f1310c69504ce6cc (commit)
       via  97ef4170bddcec9a9d58a33d37deb5017039c794 (commit)
       via  5e91a4aca55e081d5134d09fb9fb7dae587b40f7 (commit)
       via  0eade76a552045c9becda1f1c3d4b3fcedd180cc (commit)
       via  78447f12861948ad0fff5ef9c31344e1917c06b9 (commit)
       via  a2dc8899fbc5d4dbc114a3811057d661b896497c (commit)
       via  43a0a89ddd7dfbff81f6599efeb118a14f7ecbf9 (commit)
       via  dda02509a742c7bb8c37ac89116668f49fe02029 (commit)
       via  1206fb5cc1e6d27151d05b163a73ceaa9b5fce0e (commit)
       via  ec6d5428a4ed91dea2d5f1b8bf8cad83875a737a (commit)
       via  ad4ccda804139b913dda9cb981bf1013c372ec9e (commit)
       via  2ebef0258d26485f943597f77a183b396c4e347c (commit)
       via  90fe9e077fe80a0c9c96d015005aefa7f92965e1 (commit)
       via  084abb59f3c1c9398d20e2a99243aeb5ebbf9848 (commit)
       via  32e8cabb3d79baebec942e6fd6ff43be3fe04383 (commit)
       via  a5c08125501ca1e10a68643a1785aaf94373c24b (commit)
       via  e4836d89926974d8d4b7159745781ba6196e18d1 (commit)
       via  b62bc0d3c98028c2a5b5b9427b35b9c8e47e5c2e (commit)
       via  cf9f6e3b2c6d541fcb94eba2b914899b2ac8e555 (commit)
       via  8dd0c67a1e7d323ac9dd1466f1ad2d0602192cd1 (commit)
       via  03ed1a8a8097857aaba1dd6a4edf8beaead5a9a0 (commit)
       via  9bad06818f45732777822bbf545ea2ac6959e147 (commit)
       via  a1d300072d62a60b124db799b72f0c4bd9db1484 (commit)
       via  20eff8ca60075b389c3b35df91c8fcd6285961a2 (commit)
       via  26c8e9bd4c8b50dbbe195df8c4164cb50ea98600 (commit)
       via  cad79d2dbca77b8d6a0dc9639d8db7a1a030f083 (commit)
       via  816bac4b2315ceb101a8ddedab25cc13efb37b68 (commit)
       via  c49c7b2a0a9f54e16daaba0329cc054bba5ebb9f (commit)
       via  b2740fcfdb02b619f4678e35163860e1f04dc0ec (commit)
       via  92270599bca0244281edf063641bc6ace35ba130 (commit)
       via  60be8b94573fbf91d85c7a477b464064cf587203 (commit)
       via  ee5efaf6d48a85bb68317dc86b307b01343eed4d (commit)
       via  9e53cb09e72060fa65101dd21ef9d365fa02bf3e (commit)
       via  9f59070bb5285dbfa8a16d297cd22da62feda623 (commit)
       via  f94a1fe6e5f4fd422d83d274d0ee668fa140d398 (commit)
       via  17470e03e4d3d48abbe4bfce68bc1bc81a888a6e (commit)
       via  3b4f8439887946a3e0c524748e7d11a029ac88a1 (commit)
       via  5d0e24992b2db43b70dcfe932207e4fe443bd003 (commit)
       via  28217e5dde6d32fa740e3ab353d70e260c20d334 (commit)
       via  da3881959aa7fcb876ea9b8170742d51b2f99f8c (commit)
       via  46f1e250c8f6b5938a05a1ad4a347f13285519cb (commit)
       via  ae6f9ea96ce59d35a9f9a601df34121e0b45b65c (commit)
       via  c8b8b0a2c37477a4af802e2907b87b23c6be44a5 (commit)
       via  fdb1ccb7df2f4aa63938de94b42201f910fe29c3 (commit)
       via  24d10876dbfeed1981db01b7e0f3235cf2a045e9 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (c00d1a0d0b4fdbabffb45f2869d0ab084fa58740)
            \
             N -- N -- N (2c155dd1a7976f7b16852716a96091db597761e5)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

http://git.fawkesrobotics.org/fawkes.git/bschaepers/asp-aspect

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- *Log* ---------------------------------------------------------------
commit ca8dc55aec6eca6b0a853a0d223bf72e80a9b31d
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Oct 20 16:33:40 2016 +0200
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    Added ASP aspect.

http://git.fawkesrobotics.org/fawkes.git/commit/ca8dc55
http://trac.fawkesrobotics.org/changeset/ca8dc55

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 699024211bf6c107e146a4924caa402ba93aa743
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Oct 20 23:19:33 2016 +0200
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP Aspect: Use Fawkes logging for Clingo.

http://git.fawkesrobotics.org/fawkes.git/commit/6990242
http://trac.fawkesrobotics.org/changeset/6990242

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 2f3821952b6b451e209551e9ddadf20dd756cf45
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Oct 27 16:57:30 2016 +0200
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Added ClingoControlManager
    
    Similar to CLIPSEnvManager.
    Not yet used by the aspects.

http://git.fawkesrobotics.org/fawkes.git/commit/2f38219
http://trac.fawkesrobotics.org/changeset/2f38219

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 6a7944859b683762cc200df28a3b3fddfd6b02e8
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Sat Oct 29 11:50:46 2016 +0200
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Added ClingoManagerAspect.
    
    Still not in use.

http://git.fawkesrobotics.org/fawkes.git/commit/6a79448
http://trac.fawkesrobotics.org/changeset/6a79448

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 2c51f5a1c07b898933b6d4ff60bb3c6c0b0b68f0
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Sun Oct 30 13:57:12 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Prepared aspect and inifin for the control manager.

http://git.fawkesrobotics.org/fawkes.git/commit/2c51f5a
http://trac.fawkesrobotics.org/changeset/2c51f5a

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 79e7dfeb3f3d0af5b7363f3d9efccd84f4d20c80
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Sun Oct 30 20:52:38 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASPAspect: Use the clingo control manager for the aspects.

http://git.fawkesrobotics.org/fawkes.git/commit/79e7dfe
http://trac.fawkesrobotics.org/changeset/79e7dfe

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit d57be03a290b9b49e8822f0b123d9118e8b8d3e1
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Oct 31 16:26:27 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Added access wrapper class.
    
    This way the model symbols are stored next to the clingo control and
    user of the control manager have access to the symbols and not only the
    solver.

http://git.fawkesrobotics.org/fawkes.git/commit/d57be03
http://trac.fawkesrobotics.org/changeset/d57be03

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit e406474465f791d5d6aee18cfb32c66b86cd1b1e
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Oct 31 16:44:19 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Use a different name for the member.
    
    Clingo is also the name of the namespace, this confuses syntax
    highlighting and may confuse humans too, so change it.

http://git.fawkesrobotics.org/fawkes.git/commit/e406474
http://trac.fawkesrobotics.org/changeset/e406474

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit e4da9cb5372ed196bbb877b122b1fe89e90b4f49
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Oct 31 17:04:05 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:21 2016 +0100

    ASP-Aspect: Added external handling.

http://git.fawkesrobotics.org/fawkes.git/commit/e4da9cb
http://trac.fawkesrobotics.org/changeset/e4da9cb

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit a913b632d6a92c77357a58ae0487d510c39fc995
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Wed Nov 2 11:44:34 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Add the asp plugin to the Makefile.

http://git.fawkesrobotics.org/fawkes.git/commit/a913b63
http://trac.fawkesrobotics.org/changeset/a913b63

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 9ecf2b6af4ed5985b618ea410ca2d73325906023
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Wed Nov 23 19:22:36 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use the cmake version of clingo.
    
    Build out of sources.

http://git.fawkesrobotics.org/fawkes.git/commit/9ecf2b6
http://trac.fawkesrobotics.org/changeset/9ecf2b6

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit c4fb764e4bbf39565b8e744b176db295290f209b
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Wed Nov 23 19:23:44 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use correct function for atom to string transformation.
    
    .string() gives an ASP-string, but we want a printable string, that is
    .to_string(), also convert this to char*, because the fawkes logger can't
    print std::strings.

http://git.fawkesrobotics.org/fawkes.git/commit/c4fb764
http://trac.fawkesrobotics.org/changeset/c4fb764

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 511331a4c4315c542312f22966b712e9ea5172a7
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Wed Nov 23 19:26:06 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use the lambda.
    
    Don't try to print it, this doesn't work!

http://git.fawkesrobotics.org/fawkes.git/commit/511331a
http://trac.fawkesrobotics.org/changeset/511331a

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 965fbcd95677be6c0cef2775aba39e0465e4ae09
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Sat Nov 26 18:11:52 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Add ability to start solving not async.

http://git.fawkesrobotics.org/fawkes.git/commit/965fbcd
http://trac.fawkesrobotics.org/changeset/965fbcd

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 3a0ac1253e62188171e13bf76d52bda1a9c50bed
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Dec 1 19:57:54 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use cmake clingo everywhere.

http://git.fawkesrobotics.org/fawkes.git/commit/3a0ac12
http://trac.fawkesrobotics.org/changeset/3a0ac12

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit c1159aa7c1c577f71354c24ba2ce172af4fea847
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Dec 1 20:00:49 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Added ability to reset Clingo.
    
    By deleting the Control object, there is no other way to reset it.

http://git.fawkesrobotics.org/fawkes.git/commit/c1159aa
http://trac.fawkesrobotics.org/changeset/c1159aa

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 5dfdf5f58a77917dd1b9bd034aba9d1a98cca30a
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Dec 1 20:01:54 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Add possible ground callback.
    
    Within this callback functions can be exported to ASP. We use this at
    least for constants read from fawkes config.

http://git.fawkesrobotics.org/fawkes.git/commit/5dfdf5f
http://trac.fawkesrobotics.org/changeset/5dfdf5f

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit f40bc3c05497e876101d1045026db99edbdb6d9f
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Thu Dec 1 20:03:36 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use references for externals.

http://git.fawkesrobotics.org/fawkes.git/commit/f40bc3c
http://trac.fawkesrobotics.org/changeset/f40bc3c

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit a84d8384cfa05700d6f8a98753d438fcb2f3bd8b
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Fri Dec 2 16:46:20 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Add enumerator for the found models.

http://git.fawkesrobotics.org/fawkes.git/commit/a84d838
http://trac.fawkesrobotics.org/changeset/a84d838

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit a9272928e209badaa923fc0ed343fa74f2c9dfd4
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Sun Dec 4 22:15:12 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Added multiple debug levels.
    
    Instead of a boolean switch for all debug messages, add multiple
    hirachial levels. This way you can see what Clingo is doing without the
    massive spam a new model is producing.

http://git.fawkesrobotics.org/fawkes.git/commit/a927292
http://trac.fawkesrobotics.org/changeset/a927292

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 0c5c8cb60965b58a9665a737454b8312d9c3f51e
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Dec 5 20:07:49 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Print if we know we have an optimal model.

http://git.fawkesrobotics.org/fawkes.git/commit/0c5c8cb
http://trac.fawkesrobotics.org/changeset/0c5c8cb

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 97da60efd6cb31b76f803c971f8bfc3eb0808116
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Dec 5 20:08:18 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Use domain heuristics for solving.
    
    Needed for useful plans.

http://git.fawkesrobotics.org/fawkes.git/commit/97da60e
http://trac.fawkesrobotics.org/changeset/97da60e

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 09a8a56439b703120c1f249a2d124e1288e1abcf
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Dec 5 20:09:20 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Print message on resetting clingo.

http://git.fawkesrobotics.org/fawkes.git/commit/09a8a56
http://trac.fawkesrobotics.org/changeset/09a8a56

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 1e9867a4667edf32f6bd7b60f5a1bf13306f408a
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Wed Dec 14 14:21:27 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: No output if grounding 0 parts.

http://git.fawkesrobotics.org/fawkes.git/commit/1e9867a
http://trac.fawkesrobotics.org/changeset/1e9867a

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 00e1c00e03d36baf806b567d2b720ba505b32794
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Fri Dec 16 20:02:36 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Added convenience functions regarding externals.

http://git.fawkesrobotics.org/fawkes.git/commit/00e1c00
http://trac.fawkesrobotics.org/changeset/00e1c00

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 2c155dd1a7976f7b16852716a96091db597761e5
Author:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
AuthorDate: Mon Dec 19 10:27:13 2016 +0100
Commit:     Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
CommitDate: Wed Dec 28 13:55:22 2016 +0100

    ASP-Aspect: Remove command line options.
    
    We don't use the heuristic anymore, so use default settings.

http://git.fawkesrobotics.org/fawkes.git/commit/2c155dd
http://trac.fawkesrobotics.org/changeset/2c155dd

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


- *Summary* -----------------------------------------------------------
 AUTHORS                                            |   15 +
 cfg/conf.d/network.yaml                            |   29 +
 cfg/config.yaml                                    |    9 +-
 etc/buildsys/boost.mk                              |   11 +-
 etc/buildsys/cgal.mk                               |    8 +-
 etc/buildsys/gtest.mk                              |   16 +-
 etc/buildsys/rules.mk                              |    2 +-
 res/guis/skillgui/skillgui.ui                      |    3 +-
 src/libs/Makefile                                  |    2 +-
 src/libs/baseapp/Makefile                          |    2 +-
 src/libs/baseapp/run.cpp                           |   43 +-
 src/libs/config/yaml.cpp                           |   51 +-
 src/libs/core/threading/thread.cpp                 |    2 +-
 src/libs/core/version.h                            |    4 +-
 .../fvutils/colormap/bayes/bayes_histos_to_lut.cpp |    9 +-
 src/libs/fvutils/compression/jpeg_compressor.h     |    2 +-
 src/libs/fvutils/readers/png.cpp                   |    8 +-
 src/libs/fvutils/statistical/imagediff.cpp         |    2 +-
 src/libs/gui_utils/Makefile                        |    2 +-
 src/libs/gui_utils/avahi_dispatcher.cpp            |    1 +
 src/libs/gui_utils/avahi_dispatcher.h              |    1 +
 src/libs/gui_utils/service_chooser_dialog.cpp      |  103 +-
 src/libs/gui_utils/service_chooser_dialog.h        |    4 +-
 src/libs/gui_utils/service_model.cpp               |   64 +-
 src/libs/gui_utils/service_model.h                 |   32 +-
 src/libs/interfaces/BatteryInterface.h             |   12 +-
 src/libs/interfaces/CameraControlInterface.h       |   16 +-
 src/libs/interfaces/EclipseDebuggerInterface.h     |    8 +-
 src/libs/interfaces/FacerInterface.h               |   32 +-
 src/libs/interfaces/FacialExpressionInterface.h    |   20 +-
 src/libs/interfaces/GameStateInterface.h           |   16 +-
 src/libs/interfaces/GripperInterface.h             |   12 +-
 src/libs/interfaces/HumanSkeletonInterface.h       |    4 +-
 src/libs/interfaces/HumanoidMotionInterface.h      |   48 +-
 src/libs/interfaces/IMUInterface.h                 |    4 +-
 src/libs/interfaces/JointInterface.h               |    4 +-
 src/libs/interfaces/JoystickInterface.h            |   16 +-
 src/libs/interfaces/KeyValueInterface.h            |    4 +-
 src/libs/interfaces/KickerInterface.h              |   16 +-
 src/libs/interfaces/Laser1080Interface.h           |    4 +-
 src/libs/interfaces/Laser360Interface.h            |    4 +-
 src/libs/interfaces/Laser720Interface.h            |    4 +-
 src/libs/interfaces/LedInterface.h                 |   16 +-
 src/libs/interfaces/LocalizationInterface.h        |    8 +-
 src/libs/interfaces/MotorInterface.h               |   48 +-
 src/libs/interfaces/NavPathInterface.h             |    4 +-
 src/libs/interfaces/NavigatorInterface.h           |   68 +-
 src/libs/interfaces/ObjectPositionInterface.h      |    4 +-
 src/libs/interfaces/Position2DTrackInterface.h     |    4 +-
 src/libs/interfaces/Position3DInterface.h          |    4 +-
 src/libs/interfaces/SkillerInterface.h             |   24 +-
 src/libs/interfaces/SoccerPenaltyInterface.h       |    8 +-
 src/libs/interfaces/SpeechRecognitionInterface.h   |   12 +-
 src/libs/interfaces/SpeechSynthInterface.h         |    8 +-
 src/libs/interfaces/SwitchInterface.h              |   20 +-
 src/libs/interfaces/TestInterface.h                |   16 +-
 src/libs/interfaces/TransformInterface.h           |    4 +-
 src/libs/interfaces/VisualDisplay2DInterface.h     |   28 +-
 src/libs/interfaces/generator/cpp_generator.cpp    |    6 +-
 src/libs/interfaces/generator/digest.cpp           |   15 +-
 src/libs/netcomm/crypto/decrypt.cpp                |   12 +-
 src/libs/netcomm/crypto/encrypt.cpp                |   20 +-
 src/libs/netcomm/dns-sd/avahi_resolver_handler.cpp |    4 +-
 src/libs/netcomm/dns-sd/avahi_resolver_handler.h   |   10 +-
 src/libs/netcomm/dns-sd/avahi_thread.cpp           |  236 +++-
 src/libs/netcomm/dns-sd/avahi_thread.h             |   23 +-
 src/libs/netcomm/fawkes/client.cpp                 |  112 +-
 src/libs/netcomm/fawkes/client.h                   |   19 +-
 src/libs/netcomm/fawkes/network_manager.cpp        |   20 +-
 src/libs/netcomm/fawkes/network_manager.h          |   10 +-
 src/libs/netcomm/fawkes/server_thread.cpp          |   48 +-
 src/libs/netcomm/fawkes/server_thread.h            |   11 +-
 .../netcomm/service_discovery/browse_handler.h     |    2 +
 src/libs/netcomm/service_discovery/service.cpp     |   53 +-
 src/libs/netcomm/service_discovery/service.h       |    3 +-
 src/libs/netcomm/socket/datagram.cpp               |    5 +-
 src/libs/netcomm/socket/datagram.h                 |    2 +-
 src/libs/netcomm/socket/datagram_broadcast.cpp     |   10 +-
 src/libs/netcomm/socket/datagram_broadcast.h       |    2 +-
 src/libs/netcomm/socket/datagram_multicast.cpp     |   16 +-
 src/libs/netcomm/socket/datagram_multicast.h       |    5 +-
 src/libs/netcomm/socket/socket.cpp                 |  452 ++++++--
 src/libs/netcomm/socket/socket.h                   |   49 +-
 src/libs/netcomm/socket/stream.cpp                 |   25 +-
 src/libs/netcomm/socket/stream.h                   |    3 +-
 src/libs/netcomm/utils/acceptor_thread.cpp         |   34 +
 src/libs/netcomm/utils/acceptor_thread.h           |   16 +-
 src/libs/netcomm/utils/addr_comp.h                 |   74 ++
 .../pointcloud.h => netcomm/utils/addr_size.h}     |   46 +-
 src/libs/netcomm/utils/resolver.cpp                |   43 +-
 src/libs/netcomm/utils/resolver.h                  |   33 +-
 src/libs/netcomm/utils/resolver_thread.cpp         |  114 +--
 src/libs/netcomm/utils/resolver_thread.h           |   31 +-
 src/libs/netcomm/worldinfo/defs.h                  |   34 -
 src/libs/netcomm/worldinfo/handler.cpp             |  153 ---
 src/libs/netcomm/worldinfo/handler.h               |   84 --
 src/libs/netcomm/worldinfo/messages.h              |  256 ----
 src/libs/netcomm/worldinfo/transceiver.cpp         | 1239 --------------------
 src/libs/netcomm/worldinfo/transceiver.h           |  220 ----
 src/libs/protobuf_clips/communicator.cpp           |    6 +-
 src/libs/protobuf_clips/communicator.h             |    3 -
 src/libs/protobuf_comm/crypto.cpp                  |   24 +-
 src/libs/utils/system/argparser.cpp                |  138 ++-
 src/libs/utils/system/argparser.h                  |    4 +
 src/libs/webview/access_log.cpp                    |    2 +-
 src/libs/webview/server.cpp                        |   38 +-
 src/libs/webview/server.h                          |    7 +-
 src/lua/skills/generic/goto.lua                    |  169 ++--
 src/lua/skills/generic/relgoto.lua                 |  184 +--
 src/plugins/Makefile                               |    2 +-
 src/plugins/amcl/amcl_thread.cpp                   |    2 +-
 .../interfaces/OpenCVStereoParamsInterface.h_ext   |   48 +-
 src/plugins/clips-protobuf/clips/protobuf.clp      |    3 +-
 .../interfaces/DynamixelServoInterface.h_ext       |   80 +-
 .../gazsim_vis_localization_thread.cpp             |   10 +-
 src/plugins/gazebo/msgs/Float.proto                |    1 +
 src/plugins/gazebo/msgs/LightSignalDetection.proto |    4 +-
 src/plugins/gazebo/msgs/SimTime.proto              |    4 +-
 src/plugins/gossip/aspect/Makefile                 |    2 +-
 src/plugins/jaco/arm_kindrv.cpp                    |    7 +-
 .../jaco/interfaces/JacoBimanualInterface.h_ext    |   20 +-
 src/plugins/jaco/interfaces/JacoInterface.h_ext    |   40 +-
 src/plugins/jaco/openrave_thread.cpp               |    2 +-
 .../katana/interfaces/KatanaInterface.h_ext        |   68 +-
 .../interfaces/LaserClusterInterface.h_ext         |   12 +-
 .../interfaces/LaserLineInterface.h_ext            |    4 +-
 .../nao/interfaces/NaoJointPositionInterface.h_ext |   20 +-
 .../interfaces/NaoJointStiffnessInterface.h_ext    |   16 +-
 .../nao/interfaces/NaoSensorInterface.h_ext        |   16 +-
 .../interfaces/NavGraphGeneratorInterface.h_ext    |   64 +-
 .../HumanSkeletonProjectionInterface.h_ext         |    4 +-
 .../openrave/interfaces/OpenRaveInterface.h_ext    |   48 +-
 .../pantilt/interfaces/PanTiltInterface.h_ext      |   40 +-
 .../interfaces/PclDatabaseMergeInterface.h_ext     |    8 +-
 .../interfaces/PclDatabaseRetrieveInterface.h_ext  |    8 +-
 .../interfaces/PclDatabaseStoreInterface.h_ext     |    8 +-
 .../refboxcomm/processor}/enums.cpp                |    2 +-
 .../refboxcomm/processor}/enums.h                  |    4 +-
 src/plugins/refboxcomm/processor/msl2010.cpp       |    2 +-
 src/plugins/refboxcomm/processor/spl.cpp           |    2 +-
 src/plugins/refboxcomm/processor/spl.h             |    2 +-
 src/plugins/refboxcomm/processor/state_handler.h   |    2 +-
 .../interfaces/RobotinoSensorInterface.h_ext       |   12 +-
 src/plugins/roomba/Roomba500Interface.h_ext        |   28 +-
 src/plugins/skiller/SkillerDebugInterface.h_ext    |   16 +-
 src/plugins/ttmainloop/thread.cpp                  |    2 +-
 src/plugins/webview/service_browse_handler.cpp     |    1 +
 src/plugins/webview/service_browse_handler.h       |    1 +
 src/plugins/webview/webview_thread.cpp             |   23 +-
 src/plugins/webview/webview_thread.h               |    2 +
 src/plugins/worldmodel/Makefile                    |   46 -
 src/plugins/worldmodel/fusers/fuser.cpp            |   47 -
 src/plugins/worldmodel/fusers/fuser.h              |   35 -
 src/plugins/worldmodel/fusers/multi_copy.cpp       |  165 ---
 src/plugins/worldmodel/fusers/multi_copy.h         |   63 -
 src/plugins/worldmodel/fusers/objpos_average.cpp   |  293 -----
 src/plugins/worldmodel/fusers/objpos_average.h     |   67 --
 src/plugins/worldmodel/fusers/objpos_majority.cpp  |  534 ---------
 src/plugins/worldmodel/fusers/objpos_majority.h    |  128 --
 src/plugins/worldmodel/fusers/qa/Makefile          |   29 -
 .../worldmodel/fusers/qa/qa_objpos_majority.cpp    |  330 ------
 src/plugins/worldmodel/fusers/single_copy.cpp      |   74 --
 src/plugins/worldmodel/fusers/single_copy.h        |   49 -
 src/plugins/worldmodel/net_thread.cpp              |  491 --------
 src/plugins/worldmodel/net_thread.h                |  134 ---
 src/plugins/worldmodel/wm_thread.cpp               |  285 -----
 src/plugins/worldmodel/wm_thread.h                 |   82 --
 src/plugins/worldmodel/worldmodel_plugin.cpp       |   50 -
 src/plugins/worldmodel/worldmodel_plugin.h         |   34 -
 src/tools/Makefile                                 |    2 +-
 src/tools/battery_monitor/battery_monitor.cpp      |    1 +
 src/tools/battery_monitor/battery_monitor.h        |    1 +
 src/tools/netloggui/netloggui.cpp                  |    6 +-
 src/tools/plugin/main.cpp                          |    2 +-
 src/tools/refboxrep/Makefile                       |   35 -
 src/tools/refboxrep/ffrefboxrep.txt                |   93 --
 src/tools/refboxrep/main.cpp                       |  184 ---
 src/tools/refboxrep/msl2007.cpp                    |  257 ----
 src/tools/refboxrep/msl2007.h                      |   59 -
 src/tools/refboxrep/msl2008.cpp                    |  361 ------
 src/tools/refboxrep/msl2008.h                      |   72 --
 src/tools/refboxrep/msl2010.cpp                    |  401 -------
 src/tools/refboxrep/msl2010.h                      |   78 --
 src/tools/refboxrep/refbox_state_sender.cpp        |  257 ----
 src/tools/refboxrep/refbox_state_sender.h          |   94 --
 src/tools/refboxrep/refbox_state_writer.cpp        |  322 -----
 src/tools/refboxrep/refbox_state_writer.h          |   69 --
 src/tools/refboxrep/spl.cpp                        |  173 ---
 src/tools/refboxrep/spl.h                          |   95 --
 src/tools/vision/net.cpp                           |    1 +
 190 files changed, 1957 insertions(+), 9232 deletions(-)
 create mode 100644 cfg/conf.d/network.yaml
 create mode 100644 src/libs/netcomm/utils/addr_comp.h
 copy src/libs/{aspect/pointcloud.h => netcomm/utils/addr_size.h} (61%)
 delete mode 100644 src/libs/netcomm/worldinfo/defs.h
 delete mode 100644 src/libs/netcomm/worldinfo/handler.cpp
 delete mode 100644 src/libs/netcomm/worldinfo/handler.h
 delete mode 100644 src/libs/netcomm/worldinfo/messages.h
 delete mode 100644 src/libs/netcomm/worldinfo/transceiver.cpp
 delete mode 100644 src/libs/netcomm/worldinfo/transceiver.h
 rename src/{libs/netcomm/worldinfo => plugins/refboxcomm/processor}/enums.cpp (99%)
 rename src/{libs/netcomm/worldinfo => plugins/refboxcomm/processor}/enums.h (98%)
 delete mode 100644 src/plugins/worldmodel/Makefile
 delete mode 100644 src/plugins/worldmodel/fusers/fuser.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/fuser.h
 delete mode 100644 src/plugins/worldmodel/fusers/multi_copy.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/multi_copy.h
 delete mode 100644 src/plugins/worldmodel/fusers/objpos_average.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/objpos_average.h
 delete mode 100644 src/plugins/worldmodel/fusers/objpos_majority.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/objpos_majority.h
 delete mode 100644 src/plugins/worldmodel/fusers/qa/Makefile
 delete mode 100644 src/plugins/worldmodel/fusers/qa/qa_objpos_majority.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/single_copy.cpp
 delete mode 100644 src/plugins/worldmodel/fusers/single_copy.h
 delete mode 100644 src/plugins/worldmodel/net_thread.cpp
 delete mode 100644 src/plugins/worldmodel/net_thread.h
 delete mode 100644 src/plugins/worldmodel/wm_thread.cpp
 delete mode 100644 src/plugins/worldmodel/wm_thread.h
 delete mode 100644 src/plugins/worldmodel/worldmodel_plugin.cpp
 delete mode 100644 src/plugins/worldmodel/worldmodel_plugin.h
 delete mode 100644 src/tools/refboxrep/Makefile
 delete mode 100644 src/tools/refboxrep/ffrefboxrep.txt
 delete mode 100644 src/tools/refboxrep/main.cpp
 delete mode 100644 src/tools/refboxrep/msl2007.cpp
 delete mode 100644 src/tools/refboxrep/msl2007.h
 delete mode 100644 src/tools/refboxrep/msl2008.cpp
 delete mode 100644 src/tools/refboxrep/msl2008.h
 delete mode 100644 src/tools/refboxrep/msl2010.cpp
 delete mode 100644 src/tools/refboxrep/msl2010.h
 delete mode 100644 src/tools/refboxrep/refbox_state_sender.cpp
 delete mode 100644 src/tools/refboxrep/refbox_state_sender.h
 delete mode 100644 src/tools/refboxrep/refbox_state_writer.cpp
 delete mode 100644 src/tools/refboxrep/refbox_state_writer.h
 delete mode 100644 src/tools/refboxrep/spl.cpp
 delete mode 100644 src/tools/refboxrep/spl.h


- *Diffs* -------------------------------------------------------------

- *commit* ca8dc55aec6eca6b0a853a0d223bf72e80a9b31d - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Oct 20 16:33:40 2016 +0200
Subject: Added ASP aspect.

 src/plugins/asp/.gitignore            |    1 +
 src/plugins/asp/Makefile              |   68 +++++++++++++++++++++++++++
 src/plugins/asp/asp.config            |    2 +
 src/plugins/asp/asp.creator           |    1 +
 src/plugins/asp/asp.files             |   11 +++++
 src/plugins/asp/asp.includes          |    8 +++
 src/plugins/asp/asp_plugin.cpp        |   47 +++++++++++++++++++
 src/plugins/asp/asp_thread.cpp        |   58 +++++++++++++++++++++++
 src/plugins/asp/asp_thread.h          |   54 ++++++++++++++++++++++
 src/plugins/asp/aspect/Makefile       |   61 +++++++++++++++++++++++++
 src/plugins/asp/aspect/asp.cpp        |   81 +++++++++++++++++++++++++++++++++
 src/plugins/asp/aspect/asp.h          |   59 ++++++++++++++++++++++++
 src/plugins/asp/aspect/asp_inifin.cpp |   74 ++++++++++++++++++++++++++++++
 src/plugins/asp/aspect/asp_inifin.h   |   46 +++++++++++++++++++
 14 files changed, 571 insertions(+), 0 deletions(-)


- *commit* 699024211bf6c107e146a4924caa402ba93aa743 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Oct 20 23:19:33 2016 +0200
Subject: ASP Aspect: Use Fawkes logging for Clingo.

 src/plugins/asp/asp_thread.cpp        |    1 +
 src/plugins/asp/asp_thread.h          |    2 +
 src/plugins/asp/aspect/asp_inifin.cpp |   38 ++++++++++++++++++++++++++++++--
 src/plugins/asp/aspect/asp_inifin.h   |    7 ++++++
 4 files changed, 45 insertions(+), 3 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/asp_thread.cpp b/src/plugins/asp/asp_thread.cpp
index 285ece6..99b5805 100644
--- a/src/plugins/asp/asp_thread.cpp
+++ b/src/plugins/asp/asp_thread.cpp
@@ -42,6 +42,7 @@ ASPThread::ASPThread(void)
 void
 ASPThread::init(void)
 {
+	ASPIniFin.setLogger(logger);
 	return;
 }
 
diff --git a/src/plugins/asp/asp_thread.h b/src/plugins/asp/asp_thread.h
index 590d390..92ac825 100644
--- a/src/plugins/asp/asp_thread.h
+++ b/src/plugins/asp/asp_thread.h
@@ -25,6 +25,7 @@
 
 #include <aspect/aspect_provider.h>
 #include "aspect/asp_inifin.h"
+#include <aspect/logging.h>
 #include <core/threading/thread.h>
 
 namespace fawkes {
@@ -33,6 +34,7 @@ namespace fawkes {
 
 class ASPThread
 : public fawkes::Thread,
+  public fawkes::LoggingAspect,
   public fawkes::AspectProviderAspect
 {
 	private:
diff --git a/src/plugins/asp/aspect/asp_inifin.cpp b/src/plugins/asp/aspect/asp_inifin.cpp
index 0dbeb8d..2a39bf7 100644
--- a/src/plugins/asp/aspect/asp_inifin.cpp
+++ b/src/plugins/asp/aspect/asp_inifin.cpp
@@ -25,6 +25,7 @@
 #include "asp_inifin.h"
 #include <clingo.hh>
 #include <core/threading/thread_finalizer.h>
+#include <logging/logger.h>
 
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
@@ -35,10 +36,14 @@ namespace fawkes {
  * ASPAspect initializer/finalizer.
  * This initializer/finalizer will provide the ASP node handle to threads with the ASPAspect.
  * @author Björn Schäpers
+ *
+ * @property ASPAspectIniFin::Log
+ * @brief The logger used for Clingo Output.
  */
 
-/** Constructor. */
-ASPAspectIniFin::ASPAspectIniFin(void) : AspectIniFin("ASPAspect")
+/** Constructor.
+ */
+ASPAspectIniFin::ASPAspectIniFin(void) : AspectIniFin("ASPAspect"), Log(nullptr)
 {
 	return;
 }
@@ -53,7 +58,23 @@ ASPAspectIniFin::init(Thread *thread)
 		thread->name());
 	} //if ( asp_thread == nullptr )
 
-	asp_thread->init_ASPAspect(LockPtr<Clingo::Control>(new Clingo::Control));
+	auto clingoLogger = [this](const Clingo::WarningCode code, char const *msg)
+		{
+			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;
+			switch ( code )
+			{
+				case Clingo::WarningCode::AtomUndefined      :
+				case Clingo::WarningCode::OperationUndefined :
+				case Clingo::WarningCode::RuntimeError       : level = fawkes::Logger::LL_ERROR; break;
+				case Clingo::WarningCode::Other              :
+				case Clingo::WarningCode::VariableUnbounded  : level = fawkes::Logger::LL_WARN;
+				case Clingo::WarningCode::FileIncluded       :
+				case Clingo::WarningCode::GlobalVariable     : level = fawkes::Logger::LL_INFO; break;
+			} //switch ( code )
+			Log->log(level, "Clingo", msg);
+			return;
+		};
+	asp_thread->init_ASPAspect(LockPtr<Clingo::Control>(new Clingo::Control({}, clingoLogger, 100)));
 	return;
 }
 
@@ -71,4 +92,15 @@ ASPAspectIniFin::finalize(Thread *thread)
 	return;
 }
 
+/**
+ * @brief Sets the logger to use for Clingo messages.
+ * @param[in] logger The new logger.
+ */
+void
+ASPAspectIniFin::setLogger(Logger *logger)
+{
+	Log = logger;
+	return;
+}
+
 } // end namespace fawkes
diff --git a/src/plugins/asp/aspect/asp_inifin.h b/src/plugins/asp/aspect/asp_inifin.h
index f62ef73..d112084 100644
--- a/src/plugins/asp/aspect/asp_inifin.h
+++ b/src/plugins/asp/aspect/asp_inifin.h
@@ -32,13 +32,20 @@ namespace fawkes {
 }
 #endif
 
+class Logger;
+
 class ASPAspectIniFin : public AspectIniFin
 {
+	private:
+	Logger *Log;
+
 	public:
 	ASPAspectIniFin(void);
 
 	void init(Thread *thread) override;
 	void finalize(Thread *thread) override;
+
+	void setLogger(Logger *logger);
 };
 
 } // end namespace fawkes

- *commit* 2f3821952b6b451e209551e9ddadf20dd756cf45 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Oct 27 16:57:30 2016 +0200
Subject: ASP-Aspect: Added ClingoControlManager

 src/plugins/asp/asp.files                          |    2 +
 src/plugins/asp/aspect/clingo_control_manager.cpp  |  116 ++++++++++++++++++++
 .../asp/aspect/{asp.h => clingo_control_manager.h} |   37 +++---
 3 files changed, 136 insertions(+), 19 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/asp.files b/src/plugins/asp/asp.files
index df59585..41a8afd 100644
--- a/src/plugins/asp/asp.files
+++ b/src/plugins/asp/asp.files
@@ -7,5 +7,7 @@ asp_thread.cpp
 aspect/Makefile
 aspect/asp.h
 aspect/asp.cpp
+aspect/clingo_control_manager.h
+aspect/clingo_control_manager.cpp
 aspect/asp_inifin.h
 aspect/asp_inifin.cpp

- *commit* 6a7944859b683762cc200df28a3b3fddfd6b02e8 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Sat Oct 29 11:50:46 2016 +0200
Subject: ASP-Aspect: Added ClingoManagerAspect.

 src/plugins/asp/asp.files                          |    8 ++-
 .../asp/aspect/clingo_manager.cpp}                 |   44 +++++-----
 src/plugins/asp/aspect/{asp.h => clingo_manager.h} |   29 ++----
 src/plugins/asp/aspect/clingo_manager_inifin.cpp   |   91 ++++++++++++++++++++
 .../{asp_inifin.h => clingo_manager_inifin.h}      |   22 +++---
 5 files changed, 138 insertions(+), 56 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/asp.files b/src/plugins/asp/asp.files
index 41a8afd..3c8dad7 100644
--- a/src/plugins/asp/asp.files
+++ b/src/plugins/asp/asp.files
@@ -7,7 +7,11 @@ asp_thread.cpp
 aspect/Makefile
 aspect/asp.h
 aspect/asp.cpp
-aspect/clingo_control_manager.h
-aspect/clingo_control_manager.cpp
 aspect/asp_inifin.h
 aspect/asp_inifin.cpp
+aspect/clingo_control_manager.h
+aspect/clingo_control_manager.cpp
+aspect/clingo_manager.h
+aspect/clingo_manager.cpp
+aspect/clingo_manager_inifin.h
+aspect/clingo_manager_inifin.cpp

- *commit* 2c51f5a1c07b898933b6d4ff60bb3c6c0b0b68f0 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Sun Oct 30 13:57:12 2016 +0100
Subject: ASP-Aspect: Prepared aspect and inifin for the control manager.

 src/plugins/asp/aspect/asp.cpp        |   13 ++++++++---
 src/plugins/asp/aspect/asp.h          |    4 ++-
 src/plugins/asp/aspect/asp_inifin.cpp |   34 +++++++++++++++++++++++++++++---
 src/plugins/asp/aspect/asp_inifin.h   |    6 +++++
 4 files changed, 48 insertions(+), 9 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/asp.cpp b/src/plugins/asp/aspect/asp.cpp
index 3163f22..7650e4a 100644
--- a/src/plugins/asp/aspect/asp.cpp
+++ b/src/plugins/asp/aspect/asp.cpp
@@ -36,14 +36,19 @@ namespace fawkes {
  * @ingroup Aspects
  * @author Björn Schäpers
  *
- * @property fawkes:LockPtr<Clingo::Control> ASPAspect::ClingoControl
- * Clingo Control for exclusive usage.
+ * @property ASPAspect::ControlName
+ * @brief The name for the control in the manager.
+ *
+ * @property ASPAspect::ClingoControl
+ * @brief Clingo Control for exclusive usage.
  */
 
 
-/** Constructor.
+/**
+ * Constructor.
+ * @param[in] controlName The desired control name.
  */
-ASPAspect::ASPAspect(void)
+ASPAspect::ASPAspect(const std::string&& controlName) : ControlName(std::move(controlName))
 {
 	add_aspect("ASPAspect");
 	return;
diff --git a/src/plugins/asp/aspect/asp.h b/src/plugins/asp/aspect/asp.h
index e356fa7..72782e0 100644
--- a/src/plugins/asp/aspect/asp.h
+++ b/src/plugins/asp/aspect/asp.h
@@ -41,6 +41,8 @@ namespace fawkes {
 class ASPAspect : public virtual Aspect
 {
 	private:
+	const std::string ControlName;
+
 	void init_ASPAspect(LockPtr<Clingo::Control> clingoControl);
 	void finalize_ASPAspect();
 
@@ -48,7 +50,7 @@ class ASPAspect : public virtual Aspect
 	LockPtr<Clingo::Control> ClingoControl;
 
 	public:
-	ASPAspect(void);
+	ASPAspect(const std::string&& controlName);
 	virtual ~ASPAspect(void);
 
 	friend class ASPAspectIniFin;
diff --git a/src/plugins/asp/aspect/asp_inifin.cpp b/src/plugins/asp/aspect/asp_inifin.cpp
index 2a39bf7..c6f1887 100644
--- a/src/plugins/asp/aspect/asp_inifin.cpp
+++ b/src/plugins/asp/aspect/asp_inifin.cpp
@@ -21,33 +21,48 @@
  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
  */
 
-#include "asp.h"
-#include "asp_inifin.h"
 #include <clingo.hh>
 #include <core/threading/thread_finalizer.h>
 #include <logging/logger.h>
 
+#include "asp.h"
+#include "asp_inifin.h"
+#include "clingo_control_manager.h"
+
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
 }
 #endif
 
-/** @class ASPAspectIniFin <plugins/asp/aspect/asp_inifin.h>
+/**
+ * @class ASPAspectIniFin <plugins/asp/aspect/asp_inifin.h>
  * ASPAspect initializer/finalizer.
  * This initializer/finalizer will provide the ASP node handle to threads with the ASPAspect.
  * @author Björn Schäpers
  *
  * @property ASPAspectIniFin::Log
  * @brief The logger used for Clingo Output.
+ *
+ * @property ASPAspectIniFin::CtrlMgr
+ * @brief The control manager.
  */
 
-/** Constructor.
+/**
+ * Constructor.
  */
 ASPAspectIniFin::ASPAspectIniFin(void) : AspectIniFin("ASPAspect"), Log(nullptr)
 {
 	return;
 }
 
+/**
+ * @brief Destructor.
+ */
+ASPAspectIniFin::~ASPAspectIniFin(void)
+{
+	return;
+}
+
 void
 ASPAspectIniFin::init(Thread *thread)
 {
@@ -103,4 +118,15 @@ ASPAspectIniFin::setLogger(Logger *logger)
 	return;
 }
 
+/**
+ * @brief Sets the control manager.
+ * @param[in] ctrlMgr The new control manager.
+ */
+void
+ASPAspectIniFin::setControlManager(const LockPtr<ClingoControlManager>& ctrlMgr)
+{
+	CtrlMgr = ctrlMgr;
+	return;
+}
+
 } // end namespace fawkes
diff --git a/src/plugins/asp/aspect/asp_inifin.h b/src/plugins/asp/aspect/asp_inifin.h
index d112084..1563622 100644
--- a/src/plugins/asp/aspect/asp_inifin.h
+++ b/src/plugins/asp/aspect/asp_inifin.h
@@ -25,6 +25,8 @@
 #define __PLUGINS_ASP_ASPECT_ASP_INIFIN_H_
 
 #include <aspect/inifins/inifin.h>
+#include <core/utils/lockptr.h>
+
 #include "asp.h"
 
 namespace fawkes {
@@ -32,20 +34,24 @@ namespace fawkes {
 }
 #endif
 
+class ClingoControlManager;
 class Logger;
 
 class ASPAspectIniFin : public AspectIniFin
 {
 	private:
 	Logger *Log;
+	LockPtr<ClingoControlManager> CtrlMgr;
 
 	public:
 	ASPAspectIniFin(void);
+	~ASPAspectIniFin(void);
 
 	void init(Thread *thread) override;
 	void finalize(Thread *thread) override;
 
 	void setLogger(Logger *logger);
+	void setControlManager(const LockPtr<ClingoControlManager>& ctrlMgr);
 };
 
 } // end namespace fawkes

- *commit* 79e7dfeb3f3d0af5b7363f3d9efccd84f4d20c80 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Sun Oct 30 20:52:38 2016 +0100
Subject: ASPAspect: Use the clingo control manager for the aspects.

 src/plugins/asp/asp_thread.cpp                    |   21 +++++++++++-
 src/plugins/asp/asp_thread.h                      |    8 ++++-
 src/plugins/asp/aspect/asp.cpp                    |    7 ++++-
 src/plugins/asp/aspect/asp.h                      |    3 +-
 src/plugins/asp/aspect/asp_inifin.cpp             |   34 +-------------------
 src/plugins/asp/aspect/asp_inifin.h               |    2 -
 src/plugins/asp/aspect/clingo_control_manager.cpp |   13 +++++++-
 src/plugins/asp/aspect/clingo_control_manager.h   |    4 ++-
 src/plugins/asp/aspect/clingo_manager_inifin.cpp  |    2 +-
 src/plugins/asp/aspect/clingo_manager_inifin.h    |    2 +-
 10 files changed, 51 insertions(+), 45 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/asp_thread.cpp b/src/plugins/asp/asp_thread.cpp
index 99b5805..19da8c3 100644
--- a/src/plugins/asp/asp_thread.cpp
+++ b/src/plugins/asp/asp_thread.cpp
@@ -29,12 +29,27 @@ using namespace fawkes;
  * ASP environment thread.
  *
  * @author Björn Schäpers
+ *
+ * @property ASPThread::ASPIniFin
+ * @brief The initi-/finalizer for the ASPAspect.
+ *
+ * @property ASPThread::ClingoIniFin
+ * @brief The initi-/finalizer for the ClingoManagerAspect.
+ *
+ * @property ASPThread::CtrlMgr
+ * @brief The clingo control manager.
  */
 
 /** Constructor. */
 ASPThread::ASPThread(void)
   : Thread("ASPThread", Thread::OPMODE_WAITFORWAKEUP),
-	AspectProviderAspect(std::list<fawkes::AspectIniFin*>(1, &ASPIniFin))
+	AspectProviderAspect([this](void) {
+		std::list<fawkes::AspectIniFin*> ret;
+		ret.emplace_back(&ASPIniFin);
+		ret.emplace_back(&ClingoIniFin);
+		return ret;
+	}()),
+	CtrlMgr(new ClingoControlManager)
 {
 	return;
 }
@@ -42,7 +57,9 @@ ASPThread::ASPThread(void)
 void
 ASPThread::init(void)
 {
-	ASPIniFin.setLogger(logger);
+	CtrlMgr->setLogger(logger);
+	ASPIniFin.setControlManager(CtrlMgr);
+	ClingoIniFin.setControlManager(CtrlMgr);
 	return;
 }
 
diff --git a/src/plugins/asp/asp_thread.h b/src/plugins/asp/asp_thread.h
index 92ac825..68bee30 100644
--- a/src/plugins/asp/asp_thread.h
+++ b/src/plugins/asp/asp_thread.h
@@ -24,10 +24,13 @@
 #define __PLUGINS_ASP_ASP_THREAD_H_
 
 #include <aspect/aspect_provider.h>
-#include "aspect/asp_inifin.h"
 #include <aspect/logging.h>
 #include <core/threading/thread.h>
 
+#include "aspect/asp_inifin.h"
+#include "aspect/clingo_control_manager.h"
+#include "aspect/clingo_manager_inifin.h"
+
 namespace fawkes {
 	class AspectIniFin;
 }
@@ -39,6 +42,8 @@ class ASPThread
 {
 	private:
 	fawkes::ASPAspectIniFin ASPIniFin;
+	fawkes::ClingoManagerAspectIniFin ClingoIniFin;
+	fawkes::LockPtr<fawkes::ClingoControlManager> CtrlMgr;
 
 	protected:
 	/** Stub to see name in backtrace for easier debugging. @see Thread::run() */
@@ -50,7 +55,6 @@ class ASPThread
 	void init(void) override;
 	void loop(void) override;
 	void finalize(void) override;
-
 };
 
 #endif
diff --git a/src/plugins/asp/aspect/asp.cpp b/src/plugins/asp/aspect/asp.cpp
index 7650e4a..fcd57c8 100644
--- a/src/plugins/asp/aspect/asp.cpp
+++ b/src/plugins/asp/aspect/asp.cpp
@@ -39,6 +39,9 @@ namespace fawkes {
  * @property ASPAspect::ControlName
  * @brief The name for the control in the manager.
  *
+ * @property ASPAspect::LogComponent
+ * @brief The component for the logger.
+ *
  * @property ASPAspect::ClingoControl
  * @brief Clingo Control for exclusive usage.
  */
@@ -47,8 +50,10 @@ namespace fawkes {
 /**
  * Constructor.
  * @param[in] controlName The desired control name.
+ * @param[in] logComponent The component for the logger.
  */
-ASPAspect::ASPAspect(const std::string&& controlName) : ControlName(std::move(controlName))
+ASPAspect::ASPAspect(const std::string&& controlName, const std::string&& logComponent) :
+	ControlName(std::move(controlName)), LogComponent(std::move(logComponent))
 {
 	add_aspect("ASPAspect");
 	return;
diff --git a/src/plugins/asp/aspect/asp.h b/src/plugins/asp/aspect/asp.h
index 72782e0..b86b869 100644
--- a/src/plugins/asp/aspect/asp.h
+++ b/src/plugins/asp/aspect/asp.h
@@ -42,6 +42,7 @@ class ASPAspect : public virtual Aspect
 {
 	private:
 	const std::string ControlName;
+	const std::string LogComponent;
 
 	void init_ASPAspect(LockPtr<Clingo::Control> clingoControl);
 	void finalize_ASPAspect();
@@ -50,7 +51,7 @@ class ASPAspect : public virtual Aspect
 	LockPtr<Clingo::Control> ClingoControl;
 
 	public:
-	ASPAspect(const std::string&& controlName);
+	ASPAspect(const std::string&& controlName, const std::string&& logComponent = std::string());
 	virtual ~ASPAspect(void);
 
 	friend class ASPAspectIniFin;
diff --git a/src/plugins/asp/aspect/asp_inifin.cpp b/src/plugins/asp/aspect/asp_inifin.cpp
index c6f1887..ecd27eb 100644
--- a/src/plugins/asp/aspect/asp_inifin.cpp
+++ b/src/plugins/asp/aspect/asp_inifin.cpp
@@ -40,9 +40,6 @@ namespace fawkes {
  * This initializer/finalizer will provide the ASP node handle to threads with the ASPAspect.
  * @author Björn Schäpers
  *
- * @property ASPAspectIniFin::Log
- * @brief The logger used for Clingo Output.
- *
  * @property ASPAspectIniFin::CtrlMgr
  * @brief The control manager.
  */
@@ -50,7 +47,7 @@ namespace fawkes {
 /**
  * Constructor.
  */
-ASPAspectIniFin::ASPAspectIniFin(void) : AspectIniFin("ASPAspect"), Log(nullptr)
+ASPAspectIniFin::ASPAspectIniFin(void) : AspectIniFin("ASPAspect")
 {
 	return;
 }
@@ -73,23 +70,7 @@ ASPAspectIniFin::init(Thread *thread)
 		thread->name());
 	} //if ( asp_thread == nullptr )
 
-	auto clingoLogger = [this](const Clingo::WarningCode code, char const *msg)
-		{
-			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;
-			switch ( code )
-			{
-				case Clingo::WarningCode::AtomUndefined      :
-				case Clingo::WarningCode::OperationUndefined :
-				case Clingo::WarningCode::RuntimeError       : level = fawkes::Logger::LL_ERROR; break;
-				case Clingo::WarningCode::Other              :
-				case Clingo::WarningCode::VariableUnbounded  : level = fawkes::Logger::LL_WARN;
-				case Clingo::WarningCode::FileIncluded       :
-				case Clingo::WarningCode::GlobalVariable     : level = fawkes::Logger::LL_INFO; break;
-			} //switch ( code )
-			Log->log(level, "Clingo", msg);
-			return;
-		};
-	asp_thread->init_ASPAspect(LockPtr<Clingo::Control>(new Clingo::Control({}, clingoLogger, 100)));
+	asp_thread->init_ASPAspect(CtrlMgr->create_control(asp_thread->ControlName, asp_thread->LogComponent));
 	return;
 }
 
@@ -108,17 +89,6 @@ ASPAspectIniFin::finalize(Thread *thread)
 }
 
 /**
- * @brief Sets the logger to use for Clingo messages.
- * @param[in] logger The new logger.
- */
-void
-ASPAspectIniFin::setLogger(Logger *logger)
-{
-	Log = logger;
-	return;
-}
-
-/**
  * @brief Sets the control manager.
  * @param[in] ctrlMgr The new control manager.
  */
diff --git a/src/plugins/asp/aspect/asp_inifin.h b/src/plugins/asp/aspect/asp_inifin.h
index 1563622..141ffb9 100644
--- a/src/plugins/asp/aspect/asp_inifin.h
+++ b/src/plugins/asp/aspect/asp_inifin.h
@@ -40,7 +40,6 @@ class Logger;
 class ASPAspectIniFin : public AspectIniFin
 {
 	private:
-	Logger *Log;
 	LockPtr<ClingoControlManager> CtrlMgr;
 
 	public:
@@ -50,7 +49,6 @@ class ASPAspectIniFin : public AspectIniFin
 	void init(Thread *thread) override;
 	void finalize(Thread *thread) override;
 
-	void setLogger(Logger *logger);
 	void setControlManager(const LockPtr<ClingoControlManager>& ctrlMgr);
 };
 
diff --git a/src/plugins/asp/aspect/clingo_control_manager.cpp b/src/plugins/asp/aspect/clingo_control_manager.cpp
index b508ef7..6019d76 100644
--- a/src/plugins/asp/aspect/clingo_control_manager.cpp
+++ b/src/plugins/asp/aspect/clingo_control_manager.cpp
@@ -39,9 +39,8 @@ namespace fawkes {
 
 /**
  * Constructor.
- * @param[in] logger The logger for the controls.
  */
-ClingoControlManager::ClingoControlManager(Logger *logger) : Log(logger)
+ClingoControlManager::ClingoControlManager(void) : Log(nullptr)
 {
 	return;
 }
@@ -53,6 +52,16 @@ ClingoControlManager::~ClingoControlManager(void)
 }
 
 /**
+ * @brief Sets the logger for all Clingo Controls.
+ * @param[in] logger The logger.
+ */
+void ClingoControlManager::setLogger(Logger *logger)
+{
+	Log = logger;
+	return;
+}
+
+/**
  * Create a new control. The control is registered internally under the specified name.
  * It must be destroyed when done with it. Only a single control can be created for a particular control name.
  * @param[in] ctrl_name The Name by which to register the control.
diff --git a/src/plugins/asp/aspect/clingo_control_manager.h b/src/plugins/asp/aspect/clingo_control_manager.h
index 41a5406..be16d12 100644
--- a/src/plugins/asp/aspect/clingo_control_manager.h
+++ b/src/plugins/asp/aspect/clingo_control_manager.h
@@ -44,9 +44,11 @@ class ClingoControlManager
 	std::unordered_map<std::string, LockPtr<Clingo::Control>> Controls;
 
 	public:
-	ClingoControlManager(Logger *logger);
+	ClingoControlManager(void);
 	virtual ~ClingoControlManager(void);
 
+	void setLogger(Logger *logger);
+
 	LockPtr<Clingo::Control> create_control(const std::string& ctrl_name, const std::string& log_component_name);
 	void destroy_control(const std::string& ctrl_name);
 
diff --git a/src/plugins/asp/aspect/clingo_manager_inifin.cpp b/src/plugins/asp/aspect/clingo_manager_inifin.cpp
index 6478dd7..391167c 100644
--- a/src/plugins/asp/aspect/clingo_manager_inifin.cpp
+++ b/src/plugins/asp/aspect/clingo_manager_inifin.cpp
@@ -82,7 +82,7 @@ ClingoManagerAspectIniFin::finalize(Thread *thread)
  * @param[in] clingoCtrlMgr Clingo control manager
  */
 void
-ClingoManagerAspectIniFin::set_manager(LockPtr<ClingoControlManager>& clingoCtrlMgr)
+ClingoManagerAspectIniFin::setControlManager(LockPtr<ClingoControlManager>& clingoCtrlMgr)
 {
 	ClingoCtrlMgr = clingoCtrlMgr;
 	return;
diff --git a/src/plugins/asp/aspect/clingo_manager_inifin.h b/src/plugins/asp/aspect/clingo_manager_inifin.h
index a33cc52..a142d88 100644
--- a/src/plugins/asp/aspect/clingo_manager_inifin.h
+++ b/src/plugins/asp/aspect/clingo_manager_inifin.h
@@ -45,7 +45,7 @@ class ClingoManagerAspectIniFin : public AspectIniFin
 	void init(Thread *thread) override;
 	void finalize(Thread *thread) override;
 
-	void set_manager(LockPtr<ClingoControlManager>& clingoCtrlMgr);
+	void setControlManager(LockPtr<ClingoControlManager>& clingoCtrlMgr);
 };
 
 } // end namespace fawkes

- *commit* d57be03a290b9b49e8822f0b123d9118e8b8d3e1 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Oct 31 16:26:27 2016 +0100
Subject: ASP-Aspect: Added access wrapper class.

 src/plugins/asp/Makefile                          |   12 +-
 src/plugins/asp/asp.files                         |    2 +
 src/plugins/asp/aspect/Makefile                   |   10 +-
 src/plugins/asp/aspect/asp.cpp                    |   12 +-
 src/plugins/asp/aspect/asp.h                      |   12 +-
 src/plugins/asp/aspect/asp_inifin.cpp             |    2 +-
 src/plugins/asp/aspect/clingo_access.cpp          |  356 +++++++++++++++++++++
 src/plugins/asp/aspect/clingo_access.h            |   82 +++++
 src/plugins/asp/aspect/clingo_control_manager.cpp |   29 +--
 src/plugins/asp/aspect/clingo_control_manager.h   |   11 +-
 10 files changed, 473 insertions(+), 55 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/Makefile b/src/plugins/asp/Makefile
index d1b8a48..9df80ff 100644
--- a/src/plugins/asp/Makefile
+++ b/src/plugins/asp/Makefile
@@ -41,14 +41,14 @@ ifeq ($(HAVE_CPP11),1)
   ifeq ($(HAVE_CLINGO),1)
     PRESUBDIRS += aspect
 
-	CFLAGS  += $(CFLAGS_CLINGO) $(CFLAGS_CPP11)
-	LDFLAGS += $(LDFLAGS_CLINGO) $(LDFLAGS_CPP11)
+    CFLAGS  += $(CFLAGS_CLINGO) $(CFLAGS_CPP11)
+    LDFLAGS += $(LDFLAGS_CLINGO) $(LDFLAGS_CPP11)
 
-	PLUGINS_all = $(PLUGINDIR)/asp.so
+    PLUGINS_all = $(PLUGINDIR)/asp.so
 
-	INSTALL_extra = asp_files
-else
-	WARN_TARGETS += warning_clingo
+    INSTALL_extra = asp_files
+  else
+    WARN_TARGETS += warning_clingo
   endif
 else
   WARN_TARGETS += warning_cpp11
diff --git a/src/plugins/asp/asp.files b/src/plugins/asp/asp.files
index 3c8dad7..3ed9f3c 100644
--- a/src/plugins/asp/asp.files
+++ b/src/plugins/asp/asp.files
@@ -9,6 +9,8 @@ aspect/asp.h
 aspect/asp.cpp
 aspect/asp_inifin.h
 aspect/asp_inifin.cpp
+aspect/clingo_access.h
+aspect/clingo_access.cpp
 aspect/clingo_control_manager.h
 aspect/clingo_control_manager.cpp
 aspect/clingo_manager.h
diff --git a/src/plugins/asp/aspect/Makefile b/src/plugins/asp/aspect/Makefile
index 5c66c4e..9a43079 100644
--- a/src/plugins/asp/aspect/Makefile
+++ b/src/plugins/asp/aspect/Makefile
@@ -36,12 +36,12 @@ LDFLAGS_CLINGO = -L$(HOME)/clingo/build/debug/ -Wl,-rpath=$(HOME)/clingo/build/d
 
 ifeq ($(HAVE_CPP11),1)
   ifeq ($(HAVE_CLINGO),1)
-	CFLAGS  += $(CFLAGS_CLINGO) $(CFLAGS_CPP11)
-	LDFLAGS += $(LDFLAGS_CLINGO) $(LDFLAGS_CPP11)
+    CFLAGS  += $(CFLAGS_CLINGO) $(CFLAGS_CPP11)
+    LDFLAGS += $(LDFLAGS_CLINGO) $(LDFLAGS_CPP11)
 
-	LIBS_all = $(LIBDIR)/libfawkesaspaspect.so
-else
-	WARN_TARGETS += warning_clingo
+    LIBS_all = $(LIBDIR)/libfawkesaspaspect.so
+  else
+    WARN_TARGETS += warning_clingo
   endif
 else
   WARN_TARGETS += warning_cpp11
diff --git a/src/plugins/asp/aspect/asp.cpp b/src/plugins/asp/aspect/asp.cpp
index fcd57c8..5aee875 100644
--- a/src/plugins/asp/aspect/asp.cpp
+++ b/src/plugins/asp/aspect/asp.cpp
@@ -22,7 +22,7 @@
  */
 
 #include "asp.h"
-#include <clingo.hh>
+#include "clingo_access.h"
 
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
@@ -69,12 +69,12 @@ ASPAspect::~ASPAspect(void)
 /** Init ASP aspect.
  * This sets the Clingo Control.
  * It is guaranteed that this is called for an ASP Thread before start is called (when running regularly inside Fawkes).
- * @param control The Clingo Control
+ * @param[in] clingo The Clingo Control.
  */
 void
-ASPAspect::init_ASPAspect(LockPtr<Clingo::Control> control)
+ASPAspect::init_ASPAspect(const LockPtr<ClingoAccess>& clingo)
 {
-	ClingoControl = control;
+	Clingo = clingo;
 	return;
 }
 
@@ -82,9 +82,9 @@ ASPAspect::init_ASPAspect(LockPtr<Clingo::Control> control)
  * This clears the Clingo Control.
  */
 void
-ASPAspect::finalize_ASPAspect()
+ASPAspect::finalize_ASPAspect(void)
 {
-	ClingoControl.clear();
+	Clingo.clear();
 	return;
 }
 
diff --git a/src/plugins/asp/aspect/asp.h b/src/plugins/asp/aspect/asp.h
index b86b869..e749f8a 100644
--- a/src/plugins/asp/aspect/asp.h
+++ b/src/plugins/asp/aspect/asp.h
@@ -29,26 +29,24 @@
 
 #include <string>
 
-namespace Clingo {
-  class Control;
-}
-
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
 }
 #endif
 
+class ClingoAccess;
+
 class ASPAspect : public virtual Aspect
 {
 	private:
 	const std::string ControlName;
 	const std::string LogComponent;
 
-	void init_ASPAspect(LockPtr<Clingo::Control> clingoControl);
-	void finalize_ASPAspect();
+	void init_ASPAspect(const LockPtr<ClingoAccess>& clingo);
+	void finalize_ASPAspect(void);
 
 	protected:
-	LockPtr<Clingo::Control> ClingoControl;
+	LockPtr<ClingoAccess> Clingo;
 
 	public:
 	ASPAspect(const std::string&& controlName, const std::string&& logComponent = std::string());
diff --git a/src/plugins/asp/aspect/asp_inifin.cpp b/src/plugins/asp/aspect/asp_inifin.cpp
index ecd27eb..a4f48d7 100644
--- a/src/plugins/asp/aspect/asp_inifin.cpp
+++ b/src/plugins/asp/aspect/asp_inifin.cpp
@@ -21,12 +21,12 @@
  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
  */
 
-#include <clingo.hh>
 #include <core/threading/thread_finalizer.h>
 #include <logging/logger.h>
 
 #include "asp.h"
 #include "asp_inifin.h"
+#include "clingo_access.h"
 #include "clingo_control_manager.h"
 
 namespace fawkes {
diff --git a/src/plugins/asp/aspect/clingo_control_manager.cpp b/src/plugins/asp/aspect/clingo_control_manager.cpp
index 6019d76..865c872 100644
--- a/src/plugins/asp/aspect/clingo_control_manager.cpp
+++ b/src/plugins/asp/aspect/clingo_control_manager.cpp
@@ -19,13 +19,12 @@
  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
  */
 
+#include "clingo_access.h"
 #include "clingo_control_manager.h"
 
 #include <core/exception.h>
 #include <logging/logger.h>
 
-#include <clingo.hh>
-
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
 }
@@ -68,31 +67,16 @@ void ClingoControlManager::setLogger(Logger *logger)
  * @param[in] log_component_name The Prefix for log entries. If empty it will be set to "Clingo".
  * @return A new plain Clingo Control.
  */
-LockPtr<Clingo::Control>
-ClingoControlManager::create_control(const std::string& ctrl_name, const std::string& log_component_name)
+LockPtr<ClingoAccess> ClingoControlManager::create_control(const std::string& ctrl_name,
+		const std::string& log_component_name)
 {
 	if ( Controls.count(ctrl_name) != 0 )
 	{
 		throw Exception("Clingo Control '%s' already exists!", ctrl_name.c_str());
 	} //if ( Controls.count(ctrl_name) != 0 )
 
-	auto clingoLogger = [this,log_component_name](const Clingo::WarningCode code, char const *msg)
-		{
-			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;
-			switch ( code )
-			{
-				case Clingo::WarningCode::AtomUndefined      :
-				case Clingo::WarningCode::OperationUndefined :
-				case Clingo::WarningCode::RuntimeError       : level = fawkes::Logger::LL_ERROR; break;
-				case Clingo::WarningCode::Other              :
-				case Clingo::WarningCode::VariableUnbounded  : level = fawkes::Logger::LL_WARN;
-				case Clingo::WarningCode::FileIncluded       :
-				case Clingo::WarningCode::GlobalVariable     : level = fawkes::Logger::LL_INFO; break;
-			} //switch ( code )
-			Log->log(level, log_component_name.empty() ? "Clingo" : log_component_name.c_str(), msg);
-			return;
-		};
-	LockPtr<Clingo::Control> ctrl(new Clingo::Control({}, clingoLogger, 100));
+	Clingo::SymbolSpan s;
+	LockPtr<ClingoAccess> ctrl(new ClingoAccess(Log, log_component_name));
 
 	Controls.emplace(ctrl_name, ctrl);
 
@@ -111,12 +95,11 @@ ClingoControlManager::destroy_control(const std::string& ctrl_name)
 	return;
 }
 
-
 /**
  * Get map of controls.
  * @return The map from control name to control lock ptr.
  */
-const std::unordered_map<std::string, LockPtr<Clingo::Control>>&
+const std::unordered_map<std::string, LockPtr<ClingoAccess>>&
 ClingoControlManager::controls(void) const
 {
 	return Controls;
diff --git a/src/plugins/asp/aspect/clingo_control_manager.h b/src/plugins/asp/aspect/clingo_control_manager.h
index be16d12..fdc7cf4 100644
--- a/src/plugins/asp/aspect/clingo_control_manager.h
+++ b/src/plugins/asp/aspect/clingo_control_manager.h
@@ -26,22 +26,19 @@
 
 #include <unordered_map>
 
-namespace Clingo {
-	class Control;
-}
-
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
 }
 #endif
 
+class ClingoAccess;
 class Logger;
 
 class ClingoControlManager
 {
 	private:
 	Logger *Log;
-	std::unordered_map<std::string, LockPtr<Clingo::Control>> Controls;
+	std::unordered_map<std::string, LockPtr<ClingoAccess>> Controls;
 
 	public:
 	ClingoControlManager(void);
@@ -49,10 +46,10 @@ class ClingoControlManager
 
 	void setLogger(Logger *logger);
 
-	LockPtr<Clingo::Control> create_control(const std::string& ctrl_name, const std::string& log_component_name);
+	LockPtr<ClingoAccess> create_control(const std::string& ctrl_name, const std::string& log_component_name);
 	void destroy_control(const std::string& ctrl_name);
 
-	const std::unordered_map<std::string, LockPtr<Clingo::Control>>& controls(void) const;
+	const std::unordered_map<std::string, LockPtr<ClingoAccess>>& controls(void) const;
 };
 
 } // end namespace fawkes

- *commit* e406474465f791d5d6aee18cfb32c66b86cd1b1e - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Oct 31 16:44:19 2016 +0100
Subject: ASP-Aspect: Use a different name for the member.

 src/plugins/asp/aspect/asp.cpp |    6 +++---
 src/plugins/asp/aspect/asp.h   |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/asp.cpp b/src/plugins/asp/aspect/asp.cpp
index 5aee875..5b53228 100644
--- a/src/plugins/asp/aspect/asp.cpp
+++ b/src/plugins/asp/aspect/asp.cpp
@@ -42,7 +42,7 @@ namespace fawkes {
  * @property ASPAspect::LogComponent
  * @brief The component for the logger.
  *
- * @property ASPAspect::ClingoControl
+ * @property ASPAspect::ClingoAcc
  * @brief Clingo Control for exclusive usage.
  */
 
@@ -74,7 +74,7 @@ ASPAspect::~ASPAspect(void)
 void
 ASPAspect::init_ASPAspect(const LockPtr<ClingoAccess>& clingo)
 {
-	Clingo = clingo;
+	ClingoAcc = clingo;
 	return;
 }
 
@@ -84,7 +84,7 @@ ASPAspect::init_ASPAspect(const LockPtr<ClingoAccess>& clingo)
 void
 ASPAspect::finalize_ASPAspect(void)
 {
-	Clingo.clear();
+	ClingoAcc.clear();
 	return;
 }
 
diff --git a/src/plugins/asp/aspect/asp.h b/src/plugins/asp/aspect/asp.h
index e749f8a..c9885d1 100644
--- a/src/plugins/asp/aspect/asp.h
+++ b/src/plugins/asp/aspect/asp.h
@@ -46,7 +46,7 @@ class ASPAspect : public virtual Aspect
 	void finalize_ASPAspect(void);
 
 	protected:
-	LockPtr<ClingoAccess> Clingo;
+	LockPtr<ClingoAccess> ClingoAcc;
 
 	public:
 	ASPAspect(const std::string&& controlName, const std::string&& logComponent = std::string());

- *commit* e4da9cb5372ed196bbb877b122b1fe89e90b4f49 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Oct 31 17:04:05 2016 +0100
Subject: ASP-Aspect: Added external handling.

 src/plugins/asp/aspect/clingo_access.cpp |   55 ++++++++++++++++++++++++++++++
 src/plugins/asp/aspect/clingo_access.h   |    3 ++
 2 files changed, 58 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 5d7b822..fd4a60e 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -353,4 +353,59 @@ ClingoAccess::ground(const Clingo::PartSpan& parts)
 	return true;
 }
 
+/**
+ * @brief Assigns an external value.
+ * @param[in] atom The atom to assign.
+ * @param[in] value The assigned value.
+ * @return If it could be assigned.
+ */
+bool
+ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValue value)
+{
+	MutexLocker locker(&ControlMutex);
+	if ( Solving )
+	{
+		return false;
+	} //if ( Solving )
+
+	if ( Debug )
+	{
+		Log->log_info(LogComponent.c_str(), "Assigning %s to %s.", [value](void)
+			{
+				const char *ret = "Unknown Value";
+				switch ( value )
+				{
+					case Clingo::TruthValue::Free  : ret = "Free";  break;
+					case Clingo::TruthValue::True  : ret = "True";  break;
+					case Clingo::TruthValue::False : ret = "False"; break;
+				} //switch ( value )
+				return ret;
+			}, atom.string());
+	} //if ( Debug )
+	Control.assign_external(atom, value);
+	return true;
+}
+
+/**
+ * @brief Releases an external value.
+ * @param[in] atom The atom to release.
+ * @return If it could be released.
+ */
+bool
+ClingoAccess::release_external(const Clingo::Symbol atom)
+{
+	MutexLocker locker(&ControlMutex);
+	if ( Solving )
+	{
+		return false;
+	} //if ( Solving )
+
+	if ( Debug )
+	{
+		Log->log_info(LogComponent.c_str(), "Releasing %s.", atom.string());
+	} //if ( Debug )
+	Control.release_external(atom);
+	return true;
+}
+
 } // end namespace fawkes
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 6f6ed18..ebeb189 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -75,6 +75,9 @@ class ClingoAccess
 	bool loadFile(const std::string& path);
 
 	bool ground(const Clingo::PartSpan& parts);
+
+	bool assign_external(const Clingo::Symbol atom, const Clingo::TruthValue value);
+	bool release_external(const Clingo::Symbol atom);
 };
 
 } // end namespace fawkes

- *commit* a913b632d6a92c77357a58ae0487d510c39fc995 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Wed Nov 2 11:44:34 2016 +0100
Subject: ASP-Aspect: Add the asp plugin to the Makefile.

 src/plugins/Makefile |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/Makefile b/src/plugins/Makefile
index 5053b67..16778fd 100644
--- a/src/plugins/Makefile
+++ b/src/plugins/Makefile
@@ -28,7 +28,8 @@ SUBDIRS	= bbsync bblogger webview ttmainloop rrd rrdweb \
 	  clips-tf openprs openprs-agent eclipse-clp \
 	  mongodb mongodb_log \
 	  openni refboxcomm ros player xmlrpc gossip \
-	  robot_state_publisher gazebo dynamixel navgraph-interactive
+	  robot_state_publisher gazebo dynamixel navgraph-interactive \
+	  asp
 
 include $(BUILDSYSDIR)/rules.mk
 

- *commit* 9ecf2b6af4ed5985b618ea410ca2d73325906023 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Wed Nov 23 19:22:36 2016 +0100
Subject: ASP-Aspect: Use the cmake version of clingo.

 src/plugins/asp/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/Makefile b/src/plugins/asp/Makefile
index 9df80ff..09234fe 100644
--- a/src/plugins/asp/Makefile
+++ b/src/plugins/asp/Makefile
@@ -31,7 +31,7 @@ CFLAGS_CLINGO = -DWITH_THREADS=1 \
 	-I $(HOME)/clingo/libgringo \
 	-I $(HOME)/clingo/liblp \
 	-I $(HOME)/clingo/libprogram_opts
-LDFLAGS_CLINGO = -L$(HOME)/clingo/build/debug/ -Wl,-rpath=$(HOME)/clingo/build/debug/ -lclingo
+LDFLAGS_CLINGO = -L$(HOME)/clingo-build/bin/ -Wl,-rpath=$(HOME)/clingo-build/bin/ -lclingo
 
 # Extra files for system-wide install, i.e., "make install"
 #FILES_clips_files   = $(subst $(SRCDIR)/,,$(wildcard $(SRCDIR)/clips/*.clp))

- *commit* c4fb764e4bbf39565b8e744b176db295290f209b - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Wed Nov 23 19:23:44 2016 +0100
Subject: ASP-Aspect: Use correct function for atom to string transformation.

 src/plugins/asp/aspect/clingo_access.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index fd4a60e..155a39f 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -380,7 +380,7 @@ ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValu
 					case Clingo::TruthValue::False : ret = "False"; break;
 				} //switch ( value )
 				return ret;
-			}, atom.string());
+			}, atom.to_string().c_str());
 	} //if ( Debug )
 	Control.assign_external(atom, value);
 	return true;
@@ -402,7 +402,7 @@ ClingoAccess::release_external(const Clingo::Symbol atom)
 
 	if ( Debug )
 	{
-		Log->log_info(LogComponent.c_str(), "Releasing %s.", atom.string());
+		Log->log_info(LogComponent.c_str(), "Releasing %s.", atom.to_string().c_str());
 	} //if ( Debug )
 	Control.release_external(atom);
 	return true;

- *commit* 511331a4c4315c542312f22966b712e9ea5172a7 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Wed Nov 23 19:26:06 2016 +0100
Subject: ASP-Aspect: Use the lambda.

 src/plugins/asp/aspect/clingo_access.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 155a39f..63bddaf 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -380,7 +380,7 @@ ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValu
 					case Clingo::TruthValue::False : ret = "False"; break;
 				} //switch ( value )
 				return ret;
-			}, atom.to_string().c_str());
+			}(), atom.to_string().c_str());
 	} //if ( Debug )
 	Control.assign_external(atom, value);
 	return true;

- *commit* 965fbcd95677be6c0cef2775aba39e0465e4ae09 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Sat Nov 26 18:11:52 2016 +0100
Subject: ASP-Aspect: Add ability to start solving not async.

 src/plugins/asp/aspect/clingo_access.cpp |   32 +++++++++++++++++++++++++++++-
 src/plugins/asp/aspect/clingo_access.h   |    1 +
 2 files changed, 32 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 63bddaf..3117f04 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -248,11 +248,41 @@ ClingoAccess::startSolving(void)
 
 	if ( Debug )
 	{
-		Log->log_info(LogComponent.c_str(), "Start solving.");
+		Log->log_info(LogComponent.c_str(), "Start async solving.");
 	} //if ( Debug )
+	Solving = true;
 	Control.solve_async([this](const Clingo::Model& model) { return newModel(model); },
 		[this](const Clingo::SolveResult& result) { solvingFinished(result); return; });
+	return true;
+}
+
+/**
+ * @brief Starts the solving process, if it isn't already running, in a blocking manner, that means it does not start
+ *        the computation in an asynchronous way.
+ * @return If the process was started.
+ */
+bool
+ClingoAccess::startSolvingBlocking(void)
+{
+	MutexLocker locker(&ControlMutex);
+	if ( Solving )
+	{
+		return false;
+	} //if ( Solving )
+
+	if ( Debug )
+	{
+		Log->log_info(LogComponent.c_str(), "Start sync solving.");
+	} //if ( Debug )
 	Solving = true;
+	const auto result(Control.solve([this,&locker](const Clingo::Model& model) {
+		locker.unlock();
+		const auto ret = newModel(model);
+		locker.relock();
+		return ret;
+	}));
+	locker.unlock();
+	solvingFinished(result);
 	return true;
 }
 
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index ebeb189..1afabc8 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -68,6 +68,7 @@ class ClingoAccess
 
 	bool solving(void) const noexcept;
 	bool startSolving(void);
+	bool startSolvingBlocking(void);
 	bool cancelSolving(void);
 
 	Clingo::SymbolVector modelSymbols(void) const;

- *commit* 3a0ac1253e62188171e13bf76d52bda1a9c50bed - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Dec 1 19:57:54 2016 +0100
Subject: ASP-Aspect: Use cmake clingo everywhere.

 src/plugins/asp/aspect/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/Makefile b/src/plugins/asp/aspect/Makefile
index 9a43079..3bd268b 100644
--- a/src/plugins/asp/aspect/Makefile
+++ b/src/plugins/asp/aspect/Makefile
@@ -32,7 +32,7 @@ CFLAGS_CLINGO = -DWITH_THREADS=1 \
 	-I $(HOME)/clingo/libgringo \
 	-I $(HOME)/clingo/liblp \
 	-I $(HOME)/clingo/libprogram_opts
-LDFLAGS_CLINGO = -L$(HOME)/clingo/build/debug/ -Wl,-rpath=$(HOME)/clingo/build/debug/ -lclingo
+LDFLAGS_CLINGO = -L$(HOME)/clingo-build/bin -Wl,-rpath=$(HOME)/clingo-build/bin -lclingo
 
 ifeq ($(HAVE_CPP11),1)
   ifeq ($(HAVE_CLINGO),1)

- *commit* c1159aa7c1c577f71354c24ba2ce172af4fea847 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Dec 1 20:00:49 2016 +0100
Subject: ASP-Aspect: Added ability to reset Clingo.

 src/plugins/asp/aspect/clingo_access.cpp |   89 ++++++++++++++++++++++--------
 src/plugins/asp/aspect/clingo_access.h   |    7 ++-
 2 files changed, 71 insertions(+), 25 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 3117f04..1705a70 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -148,30 +148,51 @@ ClingoAccess::solvingFinished(const Clingo::SolveResult result)
 }
 
 /**
+ * @brief Allocates the control object and initializes the logger.
+ */
+void
+ClingoAccess::allocControl()
+{
+	assert(!Control);
+	Control = new Clingo::Control({},
+		[this](const Clingo::WarningCode code, char const *msg)
+		{
+			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;
+			switch ( code )
+			{
+				case Clingo::WarningCode::AtomUndefined      :
+				case Clingo::WarningCode::OperationUndefined :
+				case Clingo::WarningCode::RuntimeError       : level = fawkes::Logger::LL_ERROR; break;
+				case Clingo::WarningCode::Other              :
+				case Clingo::WarningCode::VariableUnbounded  : level = fawkes::Logger::LL_WARN; break;
+				case Clingo::WarningCode::FileIncluded       :
+				case Clingo::WarningCode::GlobalVariable     : level = fawkes::Logger::LL_INFO; break;
+			} //switch ( code )
+			Log->log(level, LogComponent.c_str(), msg);
+			return;
+		}, 100);
+	return;
+}
+
+/**
  * @brief Constructor.
  * @param[in] log The used logger.
  * @param[in] logComponent The logging component.
  * @param[in] controlArgs... The arguments for the clingo control constructor.
  */
 ClingoAccess::ClingoAccess(Logger *log, const std::string& logComponent) : Log(log),
-		LogComponent(logComponent.empty() ? "Clingo" : logComponent), Control({},
-			[this](const Clingo::WarningCode code, char const *msg)
-			{
-				fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;
-				switch ( code )
-				{
-					case Clingo::WarningCode::AtomUndefined      :
-					case Clingo::WarningCode::OperationUndefined :
-					case Clingo::WarningCode::RuntimeError       : level = fawkes::Logger::LL_ERROR; break;
-					case Clingo::WarningCode::Other              :
-					case Clingo::WarningCode::VariableUnbounded  : level = fawkes::Logger::LL_WARN; break;
-					case Clingo::WarningCode::FileIncluded       :
-					case Clingo::WarningCode::GlobalVariable     : level = fawkes::Logger::LL_INFO; break;
-				} //switch ( code )
-				Log->log(level, LogComponent.c_str(), msg);
-				return;
-			}, 100), Solving(false), Debug(false)
+		LogComponent(logComponent.empty() ? "Clingo" : logComponent), Control(nullptr), Solving(false), Debug(false)
+{
+	allocControl();
+	return;
+}
+
+/**
+ * @brief The destructor.
+ */
+ClingoAccess::~ClingoAccess(void)
 {
+	delete Control;
 	return;
 }
 
@@ -251,7 +272,7 @@ ClingoAccess::startSolving(void)
 		Log->log_info(LogComponent.c_str(), "Start async solving.");
 	} //if ( Debug )
 	Solving = true;
-	Control.solve_async([this](const Clingo::Model& model) { return newModel(model); },
+	Control->solve_async([this](const Clingo::Model& model) { return newModel(model); },
 		[this](const Clingo::SolveResult& result) { solvingFinished(result); return; });
 	return true;
 }
@@ -275,7 +296,7 @@ ClingoAccess::startSolvingBlocking(void)
 		Log->log_info(LogComponent.c_str(), "Start sync solving.");
 	} //if ( Debug )
 	Solving = true;
-	const auto result(Control.solve([this,&locker](const Clingo::Model& model) {
+	const auto result(Control->solve([this,&locker](const Clingo::Model& model) {
 		locker.unlock();
 		const auto ret = newModel(model);
 		locker.relock();
@@ -303,7 +324,27 @@ ClingoAccess::cancelSolving(void)
 	{
 		Log->log_info(LogComponent.c_str(), "Cancel solving.");
 	} //if ( Debug )
-	Control.interrupt();
+	Control->interrupt();
+	return true;
+}
+
+/**
+ * @brief Tries to reset Clingo, that means deletes the control object and creates a new one.
+ * @return If it was an success.
+ */
+bool
+ClingoAccess::reset()
+{
+	if ( Solving )
+	{
+		Log->log_warn(LogComponent.c_str(),
+			"Could not reset while solving. Please try again when the solving is stopped.");
+		cancelSolving();
+		return false;
+	} //if ( Solving )
+	delete Control;
+	Control = nullptr;
+	allocControl();
 	return true;
 }
 
@@ -332,7 +373,7 @@ ClingoAccess::loadFile(const std::string& path)
 	} //if ( Solving )
 
 	Log->log_info(LogComponent.c_str(), "Loading file program file %s.", path.c_str());
-	Control.load(path.c_str());
+	Control->load(path.c_str());
 	return true;
 }
 
@@ -374,7 +415,7 @@ ClingoAccess::ground(const Clingo::PartSpan& parts)
 		} //for ( const auto& part : parts )
 	} //if ( Debug )
 
-	Control.ground(parts);
+	Control->ground(parts);
 
 	if ( Debug )
 	{
@@ -412,7 +453,7 @@ ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValu
 				return ret;
 			}(), atom.to_string().c_str());
 	} //if ( Debug )
-	Control.assign_external(atom, value);
+	Control->assign_external(atom, value);
 	return true;
 }
 
@@ -434,7 +475,7 @@ ClingoAccess::release_external(const Clingo::Symbol atom)
 	{
 		Log->log_info(LogComponent.c_str(), "Releasing %s.", atom.to_string().c_str());
 	} //if ( Debug )
-	Control.release_external(atom);
+	Control->release_external(atom);
 	return true;
 }
 
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 1afabc8..4fb8379 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -45,7 +45,7 @@ class ClingoAccess
 	const std::string LogComponent;
 
 	mutable Mutex ControlMutex;
-	Clingo::Control Control;
+	Clingo::Control *Control;
 	Clingo::SymbolVector ModelSymbols, OldSymbols;
 
 	std::atomic_bool Solving;
@@ -56,10 +56,13 @@ class ClingoAccess
 	bool newModel(const Clingo::Model& model);
 	void solvingFinished(const Clingo::SolveResult result);
 
+	void allocControl(void);
+
 	public:
 	std::atomic_bool Debug;
 
 	ClingoAccess(Logger *log, const std::string& logComponent);
+	~ClingoAccess(void);
 
 	void registerModelCallback(std::shared_ptr<std::function<bool(void)>> callback);
 	void unregisterModelCallback(std::shared_ptr<std::function<bool(void)>> callback);
@@ -71,6 +74,8 @@ class ClingoAccess
 	bool startSolvingBlocking(void);
 	bool cancelSolving(void);
 
+	bool reset(void);
+
 	Clingo::SymbolVector modelSymbols(void) const;
 
 	bool loadFile(const std::string& path);

- *commit* 5dfdf5f58a77917dd1b9bd034aba9d1a98cca30a - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Dec 1 20:01:54 2016 +0100
Subject: ASP-Aspect: Add possible ground callback.

 src/plugins/asp/aspect/clingo_access.cpp |   17 ++++++++++++++++-
 src/plugins/asp/aspect/clingo_access.h   |    3 +++
 2 files changed, 19 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 1705a70..5289ec6 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -68,6 +68,9 @@ namespace fawkes {
  * @property ClingoAccess::FinishCallbacks
  * @brief The functions to call, when the solving process finished.
  *
+ * @property ClingoAccess::GroundCallback
+ * @brief The callback for the grounding.
+ *
  * @property ClingoAccess::Debug
  * @brief Whether additional debug output is desired.
  */
@@ -246,6 +249,18 @@ ClingoAccess::unregisterFinishCallback(std::shared_ptr<std::function<void(Clingo
 }
 
 /**
+ * @brief Sets the ground callback, to implement custom functions.
+ * @param[in, out] callback The callback, will be moved.
+ */
+void
+ClingoAccess::setGroundCallback(Clingo::GroundCallback&& callback)
+{
+	MutexLocker locker(&CallbackMutex);
+	GroundCallback = std::move(callback);
+	return;
+}
+
+/**
  * @brief Returns whether the solving process is running.
  */
 bool
@@ -415,7 +430,7 @@ ClingoAccess::ground(const Clingo::PartSpan& parts)
 		} //for ( const auto& part : parts )
 	} //if ( Debug )
 
-	Control->ground(parts);
+	Control->ground(parts, GroundCallback);
 
 	if ( Debug )
 	{
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 4fb8379..289a522 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -52,6 +52,7 @@ class ClingoAccess
 	mutable Mutex CallbackMutex;
 	std::vector<std::shared_ptr<std::function<bool(void)>>> ModelCallbacks;
 	std::vector<std::shared_ptr<std::function<void(Clingo::SolveResult)>>> FinishCallbacks;
+	Clingo::GroundCallback GroundCallback;
 
 	bool newModel(const Clingo::Model& model);
 	void solvingFinished(const Clingo::SolveResult result);
@@ -69,6 +70,8 @@ class ClingoAccess
 	void registerFinishCallback(std::shared_ptr<std::function<void(Clingo::SolveResult)>> callback);
 	void unregisterFinishCallback(std::shared_ptr<std::function<void(Clingo::SolveResult)>> callback);
 
+	void setGroundCallback(Clingo::GroundCallback&& callback);
+
 	bool solving(void) const noexcept;
 	bool startSolving(void);
 	bool startSolvingBlocking(void);

- *commit* f40bc3c05497e876101d1045026db99edbdb6d9f - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Thu Dec 1 20:03:36 2016 +0100
Subject: ASP-Aspect: Use references for externals.

 src/plugins/asp/aspect/clingo_access.cpp |    4 ++--
 src/plugins/asp/aspect/clingo_access.h   |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 5289ec6..7cd4cc7 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -446,7 +446,7 @@ ClingoAccess::ground(const Clingo::PartSpan& parts)
  * @return If it could be assigned.
  */
 bool
-ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValue value)
+ClingoAccess::assign_external(const Clingo::Symbol& atom, const Clingo::TruthValue value)
 {
 	MutexLocker locker(&ControlMutex);
 	if ( Solving )
@@ -478,7 +478,7 @@ ClingoAccess::assign_external(const Clingo::Symbol atom, const Clingo::TruthValu
  * @return If it could be released.
  */
 bool
-ClingoAccess::release_external(const Clingo::Symbol atom)
+ClingoAccess::release_external(const Clingo::Symbol& atom)
 {
 	MutexLocker locker(&ControlMutex);
 	if ( Solving )
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 289a522..9b3c7e8 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -85,8 +85,8 @@ class ClingoAccess
 
 	bool ground(const Clingo::PartSpan& parts);
 
-	bool assign_external(const Clingo::Symbol atom, const Clingo::TruthValue value);
-	bool release_external(const Clingo::Symbol atom);
+	bool assign_external(const Clingo::Symbol& atom, const Clingo::TruthValue value);
+	bool release_external(const Clingo::Symbol& atom);
 };
 
 } // end namespace fawkes

- *commit* a84d8384cfa05700d6f8a98753d438fcb2f3bd8b - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Fri Dec 2 16:46:20 2016 +0100
Subject: ASP-Aspect: Add enumerator for the found models.

 src/plugins/asp/aspect/clingo_access.cpp |    8 +++++++-
 src/plugins/asp/aspect/clingo_access.h   |    1 +
 2 files changed, 8 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 7cd4cc7..23fdd09 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -56,6 +56,10 @@ namespace fawkes {
  * @property ClingoAccess::OldSymbols
  * @brief The symbols found in the before last model.
  *
+ * @property ClingoAccess::ModelCounter
+ * @brief Counts how many models we have computed for one solving process.
+ *
+ *
  * @property ClingoAccess::Solving
  * @brief Whether the control is in the solving process.
  *
@@ -89,7 +93,7 @@ ClingoAccess::newModel(const Clingo::Model& model)
 
 	if ( Debug )
 	{
-		Log->log_info(LogComponent.c_str(), "New model found.");
+		Log->log_info(LogComponent.c_str(), "New model found: #%d", ++ModelCounter);
 
 		/* To save (de-)allocations just move found symbols at the end of the vector and move the end iterator to the
 		 * front. After this everything in [begin, end) is in oldSymbols but not in symbols. */
@@ -287,6 +291,7 @@ ClingoAccess::startSolving(void)
 		Log->log_info(LogComponent.c_str(), "Start async solving.");
 	} //if ( Debug )
 	Solving = true;
+	ModelCounter = 0;
 	Control->solve_async([this](const Clingo::Model& model) { return newModel(model); },
 		[this](const Clingo::SolveResult& result) { solvingFinished(result); return; });
 	return true;
@@ -311,6 +316,7 @@ ClingoAccess::startSolvingBlocking(void)
 		Log->log_info(LogComponent.c_str(), "Start sync solving.");
 	} //if ( Debug )
 	Solving = true;
+	ModelCounter = 0;
 	const auto result(Control->solve([this,&locker](const Clingo::Model& model) {
 		locker.unlock();
 		const auto ret = newModel(model);
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 9b3c7e8..0651d7b 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -47,6 +47,7 @@ class ClingoAccess
 	mutable Mutex ControlMutex;
 	Clingo::Control *Control;
 	Clingo::SymbolVector ModelSymbols, OldSymbols;
+	unsigned int ModelCounter;
 
 	std::atomic_bool Solving;
 	mutable Mutex CallbackMutex;

- *commit* a9272928e209badaa923fc0ed343fa74f2c9dfd4 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Sun Dec 4 22:15:12 2016 +0100
Subject: ASP-Aspect: Added multiple debug levels.

 src/plugins/asp/aspect/clingo_access.cpp |  144 ++++++++++++++++++------------
 src/plugins/asp/aspect/clingo_access.h   |   13 +++-
 2 files changed, 99 insertions(+), 58 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 23fdd09..64637aa 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -75,8 +75,32 @@ namespace fawkes {
  * @property ClingoAccess::GroundCallback
  * @brief The callback for the grounding.
  *
- * @property ClingoAccess::Debug
- * @brief Whether additional debug output is desired.
+ * @enum ClingoAccess::DebugLevel_t
+ * @brief An enum to define debug levels. The higher levels include the lower values.
+ *
+ * @var ClingoAccess::DebugLevel_t::None
+ * @brief No debug output at all.
+ *
+ * @var ClingoAccess::DebugLevel_t::Time
+ * @brief Print when starting/finishing grounding/solving for analysis.
+ *
+ * @var ClingoAccess::DebugLevel_t::Programs
+ * @brief Print which programs are grounded.
+ *
+ * @var ClingoAccess::DebugLevel_t::Models
+ * @brief Print new models.
+ *
+ * @var ClingoAccess::DebugLevel_t::Externals
+ * @brief Print assignments and releases of externals.
+ *
+ * @var ClingoAccess::DebugLevel_t::AllModelSymbols
+ * @brief Ignore #show statements and print all symbols of a model.
+ *
+ * @var ClingoAccess::DebugLevel_t::All
+ * @brief Print everything.
+ *
+ * @property ClingoAccess::DebugLevel
+ * @brief Which debug outputs should be printed.
  */
 
 
@@ -89,34 +113,37 @@ bool
 ClingoAccess::newModel(const Clingo::Model& model)
 {
 	MutexLocker locker1(&ControlMutex);
-	ModelSymbols = model.symbols();
+	ModelSymbols = model.symbols(DebugLevel >= AllModelSymbols ? Clingo::ShowType::All : Clingo::ShowType::Shown);
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "New model found: #%d", ++ModelCounter);
 
-		/* To save (de-)allocations just move found symbols at the end of the vector and move the end iterator to the
-		 * front. After this everything in [begin, end) is in oldSymbols but not in symbols. */
-		auto begin = OldSymbols.begin(), end = OldSymbols.end();
-
-		for ( const Clingo::Symbol& symbol : ModelSymbols )
+		if ( DebugLevel >= Models )
 		{
-			auto iter = std::find(begin, end, symbol);
-			if ( iter == end )
-			{
-				Log->log_info(LogComponent.c_str(), "New Symbol: %s", symbol.to_string().c_str());
-			} //if ( iter == end )
-			else
+			/* To save (de-)allocations just move found symbols at the end of the vector and move the end iterator to
+			 * the front. After this everything in [begin, end) is in oldSymbols but not in symbols. */
+			auto begin = OldSymbols.begin(), end = OldSymbols.end();
+
+			for ( const Clingo::Symbol& symbol : ModelSymbols )
 			{
-				std::swap(*iter, *--end);
-			} //else -> if ( iter == end )
-		} //for ( const Clingo::Symbol& symbol : ModelSymbols )
+				auto iter = std::find(begin, end, symbol);
+				if ( iter == end )
+				{
+					Log->log_info(LogComponent.c_str(), "New Symbol: %s", symbol.to_string().c_str());
+				} //if ( iter == end )
+				else
+				{
+					std::swap(*iter, *--end);
+				} //else -> if ( iter == end )
+			} //for ( const Clingo::Symbol& symbol : ModelSymbols )
 
-		for ( ; begin != end; ++begin )
-		{
-			Log->log_info(LogComponent.c_str(), "Symbol removed: %s", begin->to_string().c_str());
-		} //for ( ; begin != end; ++begin )
-	} //if ( Debug )
+			for ( ; begin != end; ++begin )
+			{
+				Log->log_info(LogComponent.c_str(), "Symbol removed: %s", begin->to_string().c_str());
+			} //for ( ; begin != end; ++begin )
+		} //if ( DebugLevel >= Models )
+	} //if ( DebugLevel >= Time )
 
 	OldSymbols = ModelSymbols;
 	locker1.unlock();
@@ -139,10 +166,10 @@ ClingoAccess::newModel(const Clingo::Model& model)
 void
 ClingoAccess::solvingFinished(const Clingo::SolveResult result)
 {
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Solving done.");
-	} //if ( Debug )
+	} //if ( DebugLevel >= Time )
 	MutexLocker locker1(&ControlMutex);
 	Solving = false;
 
@@ -188,7 +215,7 @@ ClingoAccess::allocControl()
  * @param[in] controlArgs... The arguments for the clingo control constructor.
  */
 ClingoAccess::ClingoAccess(Logger *log, const std::string& logComponent) : Log(log),
-		LogComponent(logComponent.empty() ? "Clingo" : logComponent), Control(nullptr), Solving(false), Debug(false)
+		LogComponent(logComponent.empty() ? "Clingo" : logComponent), Control(nullptr), Solving(false), DebugLevel(None)
 {
 	allocControl();
 	return;
@@ -286,10 +313,10 @@ ClingoAccess::startSolving(void)
 		return false;
 	} //if ( Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Start async solving.");
-	} //if ( Debug )
+	} //if ( DebugLevel >= Time )
 	Solving = true;
 	ModelCounter = 0;
 	Control->solve_async([this](const Clingo::Model& model) { return newModel(model); },
@@ -311,10 +338,10 @@ ClingoAccess::startSolvingBlocking(void)
 		return false;
 	} //if ( Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Start sync solving.");
-	} //if ( Debug )
+	} //if ( DebugLevel >= Time )
 	Solving = true;
 	ModelCounter = 0;
 	const auto result(Control->solve([this,&locker](const Clingo::Model& model) {
@@ -341,10 +368,10 @@ ClingoAccess::cancelSolving(void)
 		return false;
 	} //if ( !Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Cancel solving.");
-	} //if ( Debug )
+	} //if ( DebugLevel >= Time )
 	Control->interrupt();
 	return true;
 }
@@ -354,7 +381,7 @@ ClingoAccess::cancelSolving(void)
  * @return If it was an success.
  */
 bool
-ClingoAccess::reset()
+ClingoAccess::reset(void)
 {
 	if ( Solving )
 	{
@@ -412,36 +439,39 @@ ClingoAccess::ground(const Clingo::PartSpan& parts)
 		return false;
 	} //if ( Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Grounding %d parts:", parts.size());
-		auto i = 0;
-		for ( const Clingo::Part& part : parts )
+		if ( DebugLevel >= Programs )
 		{
-			std::string params;
-			bool first = true;
-			for ( const auto& param : part.params() )
+			auto i = 0;
+			for ( const Clingo::Part& part : parts )
 			{
-				if ( first )
-				{
-					first = false;
-				} //if ( first )
-				else
+				std::string params;
+				bool first = true;
+				for ( const auto& param : part.params() )
 				{
-					params += ", ";
-				} //else -> if ( first )
-				params += param.to_string();
-			} //for ( const auto& param : part.params() )
-			Log->log_info(LogComponent.c_str(), "Part #%d: %s [%s]", ++i, part.name(), params.c_str());
-		} //for ( const auto& part : parts )
-	} //if ( Debug )
+					if ( first )
+					{
+						first = false;
+					} //if ( first )
+					else
+					{
+						params += ", ";
+					} //else -> if ( first )
+					params += param.to_string();
+				} //for ( const auto& param : part.params() )
+				Log->log_info(LogComponent.c_str(), "Part #%d: %s [%s]", ++i, part.name(), params.c_str());
+			} //for ( const auto& part : parts )
+		} //if ( DebugLevel >= Programs )
+	} //if ( DebugLevel >= Time )
 
 	Control->ground(parts, GroundCallback);
 
-	if ( Debug )
+	if ( DebugLevel >= Time )
 	{
 		Log->log_info(LogComponent.c_str(), "Grounding done.");
-	} //if ( Debug )
+	} //if ( DebugLevel >= Time )
 	return true;
 }
 
@@ -460,7 +490,7 @@ ClingoAccess::assign_external(const Clingo::Symbol& atom, const Clingo::TruthVal
 		return false;
 	} //if ( Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Externals )
 	{
 		Log->log_info(LogComponent.c_str(), "Assigning %s to %s.", [value](void)
 			{
@@ -473,7 +503,7 @@ ClingoAccess::assign_external(const Clingo::Symbol& atom, const Clingo::TruthVal
 				} //switch ( value )
 				return ret;
 			}(), atom.to_string().c_str());
-	} //if ( Debug )
+	} //if ( DebugLevel >= Externals )
 	Control->assign_external(atom, value);
 	return true;
 }
@@ -492,10 +522,10 @@ ClingoAccess::release_external(const Clingo::Symbol& atom)
 		return false;
 	} //if ( Solving )
 
-	if ( Debug )
+	if ( DebugLevel >= Externals )
 	{
 		Log->log_info(LogComponent.c_str(), "Releasing %s.", atom.to_string().c_str());
-	} //if ( Debug )
+	} //if ( DebugLevel >= Externals )
 	Control->release_external(atom);
 	return true;
 }
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 0651d7b..7bcb844 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -61,7 +61,18 @@ class ClingoAccess
 	void allocControl(void);
 
 	public:
-	std::atomic_bool Debug;
+	enum DebugLevel_t
+	{
+		None = 0,
+		Time = 10,
+		Programs = 20,
+		Models = 30,
+		Externals = 40,
+		AllModelSymbols = 50,
+		All
+	};
+
+	std::atomic<DebugLevel_t> DebugLevel;
 
 	ClingoAccess(Logger *log, const std::string& logComponent);
 	~ClingoAccess(void);

- *commit* 0c5c8cb60965b58a9665a737454b8312d9c3f51e - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Dec 5 20:07:49 2016 +0100
Subject: ASP-Aspect: Print if we know we have an optimal model.

 src/plugins/asp/aspect/clingo_access.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 64637aa..31dfca7 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -117,7 +117,8 @@ ClingoAccess::newModel(const Clingo::Model& model)
 
 	if ( DebugLevel >= Time )
 	{
-		Log->log_info(LogComponent.c_str(), "New model found: #%d", ++ModelCounter);
+		Log->log_info(LogComponent.c_str(), "New %smodel found: #%d", model.optimality_proven() ? "optimal " : "",
+			++ModelCounter);
 
 		if ( DebugLevel >= Models )
 		{

- *commit* 97da60efd6cb31b76f803c971f8bfc3eb0808116 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Dec 5 20:08:18 2016 +0100
Subject: ASP-Aspect: Use domain heuristics for solving.

 src/plugins/asp/aspect/clingo_access.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 31dfca7..5daea54 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -186,10 +186,10 @@ ClingoAccess::solvingFinished(const Clingo::SolveResult result)
  * @brief Allocates the control object and initializes the logger.
  */
 void
-ClingoAccess::allocControl()
+ClingoAccess::allocControl(void)
 {
 	assert(!Control);
-	Control = new Clingo::Control({},
+	Control = new Clingo::Control({"--heur=Domain"/*, "--output-debug=translate"*/},
 		[this](const Clingo::WarningCode code, char const *msg)
 		{
 			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;

- *commit* 09a8a56439b703120c1f249a2d124e1288e1abcf - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Dec 5 20:09:20 2016 +0100
Subject: ASP-Aspect: Print message on resetting clingo.

 src/plugins/asp/aspect/clingo_access.cpp |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index 5daea54..e338632 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -391,6 +391,7 @@ ClingoAccess::reset(void)
 		cancelSolving();
 		return false;
 	} //if ( Solving )
+	Log->log_warn(LogComponent.c_str(), "Clingo will be resetted.");
 	delete Control;
 	Control = nullptr;
 	allocControl();

- *commit* 1e9867a4667edf32f6bd7b60f5a1bf13306f408a - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Wed Dec 14 14:21:27 2016 +0100
Subject: ASP-Aspect: No output if grounding 0 parts.

 src/plugins/asp/aspect/clingo_access.cpp |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index e338632..c0e8336 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -435,6 +435,11 @@ ClingoAccess::loadFile(const std::string& path)
 bool
 ClingoAccess::ground(const Clingo::PartSpan& parts)
 {
+	if ( parts.empty() )
+	{
+		return true;
+	} //if ( parts.empty() )
+
 	MutexLocker locker(&ControlMutex);
 	if ( Solving )
 	{

- *commit* 00e1c00e03d36baf806b567d2b720ba505b32794 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Fri Dec 16 20:02:36 2016 +0100
Subject: ASP-Aspect: Added convenience functions regarding externals.

 src/plugins/asp/aspect/clingo_access.h |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.h b/src/plugins/asp/aspect/clingo_access.h
index 7bcb844..15909ae 100644
--- a/src/plugins/asp/aspect/clingo_access.h
+++ b/src/plugins/asp/aspect/clingo_access.h
@@ -97,6 +97,16 @@ class ClingoAccess
 
 	bool ground(const Clingo::PartSpan& parts);
 
+	inline bool assign_external(const Clingo::Symbol& atom, const bool value)
+	{
+		return assign_external(atom, value ? Clingo::TruthValue::True : Clingo::TruthValue::False);
+	}
+
+	inline bool free_exteral(const Clingo::Symbol& atom)
+	{
+		return assign_external(atom, Clingo::TruthValue::Free);
+	}
+
 	bool assign_external(const Clingo::Symbol& atom, const Clingo::TruthValue value);
 	bool release_external(const Clingo::Symbol& atom);
 };

- *commit* 2c155dd1a7976f7b16852716a96091db597761e5 - - - - - - - - - -
Author:  Bjoern Schaepers <bjoern.schaepers at rwth-aachen.de>
Date:    Mon Dec 19 10:27:13 2016 +0100
Subject: ASP-Aspect: Remove command line options.

 src/plugins/asp/aspect/clingo_access.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/asp/aspect/clingo_access.cpp b/src/plugins/asp/aspect/clingo_access.cpp
index c0e8336..609d0b2 100644
--- a/src/plugins/asp/aspect/clingo_access.cpp
+++ b/src/plugins/asp/aspect/clingo_access.cpp
@@ -189,7 +189,7 @@ void
 ClingoAccess::allocControl(void)
 {
 	assert(!Control);
-	Control = new Clingo::Control({"--heur=Domain"/*, "--output-debug=translate"*/},
+	Control = new Clingo::Control({},
 		[this](const Clingo::WarningCode code, char const *msg)
 		{
 			fawkes::Logger::LogLevel level = fawkes::Logger::LL_NONE;




-- 
Fawkes Robotics Framework                 http://www.fawkesrobotics.org


More information about the fawkes-commits mailing list