{"push_id":835298147,"size":233,"distinct_size":233,"ref":"refs/heads/pn_convert","head":"d0e64e10a04b735185608e64b70c0bd9252e4e29","before":"1b2ade32d1348aafd3b8242f191eb31fb43c7fa4","commits":[{"sha":"598ec001562125c6cbf8516a22344cbf039175d1","author":{"email":"03e12ba55d861c6182a3c1c613550cadbc3c125e@informatik.uni-oldenburg.de","name":"Manuel Gieseking"},"message":"pnanalysis: random tnet generator fixed.","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/598ec001562125c6cbf8516a22344cbf039175d1"},{"sha":"f7de1fb3a234280524832cda8eb88a709091d84e","author":{"email":"692b643f51f93438f4add8d79e7f131e890483d5@chuck.Informatik.Uni-Oldenburg.DE","name":"vsp"},"message":"RandomTNetGenerator: restore indentation ...\n\nSigned-off-by: vsp <vsp@chuck.Informatik.Uni-Oldenburg.DE>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/f7de1fb3a234280524832cda8eb88a709091d84e"},{"sha":"081819415a1b8cce4e1101c6155e20a4e902f3bb","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"APT.java: Use a PrintStream for the errPrinter\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/081819415a1b8cce4e1101c6155e20a4e902f3bb"},{"sha":"11ecf066e1a596df2a2d1c321316dbec1b1102f0","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"APT.java: Use a PrintStream for the outPrinter\n\nThis removes the last usage of Printer and TrimmedOutputStreamPrinter and thus\nthese classes are removed as well.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/11ecf066e1a596df2a2d1c321316dbec1b1102f0"},{"sha":"0370e4c6dd50cd9d63e9f4ec02a23f3fe7f743f6","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"APT.java: Produce outputs in a two-step process\n\nIn the first phase this figures out where the outputs should go to. In the\nsecond phase the outputs are actually transformed.\n\nThis means that the OutputStream for a return value is already known when the\nreturn value is transformed. This can be used in a follow-up commit.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/0370e4c6dd50cd9d63e9f4ec02a23f3fe7f743f6"},{"sha":"04d36d8110c35a451cfd0f07ed13877ffdedd8d2","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"ReturnValueTransformation: Accept a Writer as an argument\n\nInstead of returning a String, a return value transformation will now get a\nWriter as its argument where it is supposed to write its output to. This helps\nin producing large outputs, for example for huge coverability graphs.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/04d36d8110c35a451cfd0f07ed13877ffdedd8d2"},{"sha":"6d5a9fad1a8ff7a5844f139927b52b216aff4e25","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"APTRenderer: Accept a Writer as an argument\n\nThis is especially useful for large arguments where previously a long string was\nincrementally built. Now, the output can be sent directly to where it should go\nto.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/6d5a9fad1a8ff7a5844f139927b52b216aff4e25"},{"sha":"29b59e6d3f886d199c325dc1f14eddf1d135b0fa","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"APTRenderer: Don't cause empty lines\n\nThe assumption for a ReturnValueTransformation is that the result does not end\nwith a newline, because a newline will be appended. Similarly, it never makes\nsense to prepend a newline to the output.\n\nThis commit removes these newlines from the APTRenderer.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/29b59e6d3f886d199c325dc1f14eddf1d135b0fa"},{"sha":"cd26f82fdf740b637ff2f280c8c710e91fe7f090","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Fix FindBugs warnings\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/cd26f82fdf740b637ff2f280c8c710e91fe7f090"},{"sha":"d4281e6dc963bf0a764d13d30bf472a74ce8456e","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Fix lots of checkstyle warnings\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/d4281e6dc963bf0a764d13d30bf472a74ce8456e"},{"sha":"a22296516e8ca14774047bb32cb1687b79ca1a01","author":{"email":"03e12ba55d861c6182a3c1c613550cadbc3c125e@informatik.uni-oldenburg.de","name":"Manuel Gieseking"},"message":"analysis: invariants\n\nFixed and simplified phase 4 of pipe algorithm (Uli's patch)","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/a22296516e8ca14774047bb32cb1687b79ca1a01"},{"sha":"7d6b9682e6709ea3ef03b63b4d86279bd1093ddb","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"IGraph: Add a listener concept\n\nListeners can be added to a graph to get notifications of structural changes\nthat are done to a graph.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>\nReviewed-by: vsp <vsp@chuck.Informatik.Uni-Oldenburg.DE>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/7d6b9682e6709ea3ef03b63b4d86279bd1093ddb"},{"sha":"b8de55afb8d886480ff366fff10936afdd9d9dbb","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"IExtensible: Add removeExtension\n\nThis method already existed in Extensible, but was not part of the IExtensible\ninterface. Due do this, this method was not available on IGraph.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>\nReviewed-by: vsp <vsp@chuck.Informatik.Uni-Oldenburg.DE>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/b8de55afb8d886480ff366fff10936afdd9d9dbb"},{"sha":"cd2ab8571fc2d0a04f958ec28ade646ec0e0ae74","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Cache CoverabilityGraphs as an extension of the Petri net\n\nThis adds a new static method to CoverabilityGraph which creates a\nCoverabilityGraph and caches it as an extension to the original PetriNet. Also,\nthis adds a StructuralPNExtensionRemover instance as a listener to the Petri\nnet. If the structure of the Petri net is changed, this listener makes sure to\nremove the CoverabilityGraph extension from the PN. This ensures that later code\nwhich also wants to calculate this PN's coverability graph will not get any\nstale entries from the cache.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/cd2ab8571fc2d0a04f958ec28ade646ec0e0ae74"},{"sha":"600f5c8cfa8dcb9417721ee5ad494dc85789a80b","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"CoverabilityGraph: Make constructor private\n\nThis makes sure that all code that wants a coverability graph has to go through\nthe cache to get one.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/600f5c8cfa8dcb9417721ee5ad494dc85789a80b"},{"sha":"ac879fd77396b54652abb42e9f0dc7c96a0d384b","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"SpanningTree: Add cache, similar to CoverabilityGraph.create()\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/ac879fd77396b54652abb42e9f0dc7c96a0d384b"},{"sha":"9008e9ac3e3d7225c6a97e41e34c923f22f1d81c","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"TransitionSystem#createArc: Don't force calculations of cached sets\n\nWhen large transition systems are created, the SoftReferences used to hold some\ndata can get garbage collected. Afterwards, creating more arcs will be slow,\nbecause the various calc* methods are called to calculate some sets. Some of\nthese will be calculated unnecessarily, because the garbage collector can just\ncollect the result again.\n\nThis commit changes the code so that these cached sets are only updated if they\nstill exist and thus weren't garbage collected yet. The only place were these\nsets are still calculated are the public functions that are used for asking for\nthese sets.\n\nThis was tested with java running with -Xmx100m (limit memory usage to 100m) and\na busy-loop that creates states and arcs on a transition system (each new state\ngot 10 arcs added to its postset, semi-randomly distributed to the already\nexisting states).\n\nBefore this commit, the code managed to create about 18000 states and then\nbasically froze while the SoftMap instances involved lost their map again and\nagain and were re-calculated all the time.\n\nAfter this commit, the SoftMap is garbage collected less often and an\nOutOfMemoryError is created in 12 seconds. In this time, about 30000 states were\ncreated.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/9008e9ac3e3d7225c6a97e41e34c923f22f1d81c"},{"sha":"2b05f6f9574f2063a6f9ecb728dc80416b0c46ce","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Marking: optimize the copy-constructor\n\nThe function Marking#setMarking(Marking) is only called from the\ncopy-constructor. So this function does \"the real work\" of copying a marking.\n\nBefore this commit, it would ensure that the other marking is consistent, add\nthe entry of that other marking to this marking, and then make this marking\nconsistent. This latest step ensured that token for places which were since\nremoved are no longer saved.\n\nHowever, this approach required iterating through all places of the Petri nets\nin ensureConsistency() and checking if everything really was consistent.\n\nThis commit changes the setMarking() to clear its own map (all its entries will\nbe deleted or overwriten anyway) and then to copy the map from the other\nmarking. Afterwards, the place revision of the other marking is just copied to\nthis marking. No consistency is ensured.\n\nWith this patch it is possible that an inconsistent marking is created. However,\nfor this to happen, the input marking needed to be inconsistent as well. If\nlater on one of these marking is used, consistency will be ensured then. So this\ncase is handled just as well as before.\n\nHowever, if the input marking was already consistent, then the whole logic of\nensureConsistency() will be skipped, because we now have a correct place\nrevision in the copy. This means that later on, when the marking is actually\nused, ensureConsistency() will not have to do anything, too.\n\nFor the coverability module, this makes a big difference. Previously, lots of\ncopies of markings were created and all of these copies went through\nensureConsistency() during the copy-constructor. Now the initial Marking of the\nPetri net will be made consistent once while the input PN is parsed and\nafterwards ensureConsistency() will actually do anything anymore.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/2b05f6f9574f2063a6f9ecb728dc80416b0c46ce"},{"sha":"0acfe732c831bfc140a59f71ef05cdc75b0f22f1","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Token: Make instances of this class immutable\n\nA Token instance represents either an integer or the special value \"omega\".\nSimilar to other \"number-like\" classes in Java (for example Integer,\nBigInteger), using this class is easier when it is immutable. This means that\nthe \"value\" of such a class cannot be changed at runtime. This, in turn, means\nthat sharing an instance of this class between users is safe, because changing\nthe Token instance doesn't accidentally change something that another class does\nnot expect to change.\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/0acfe732c831bfc140a59f71ef05cdc75b0f22f1"},{"sha":"b5a45a1efe2cc1cc8140f3f53386782e7c66b37e","author":{"email":"ede10f140ad8f5ad90197d17839fb90345d66dd4@informatik.uni-oldenburg.de","name":"Uli Schlachter"},"message":"Token: Add Token.ZERO constant\n\nSigned-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>","distinct":true,"url":"https://api.github.com/repos/vsp-ol/apt/commits/b5a45a1efe2cc1cc8140f3f53386782e7c66b37e"}]}