Perl Answer Set Solver. (c) 2012, Gatlin Johnson firstname.lastname@example.org
$> cp config.sample config $> vim config $> pass classdefinition.cl
clingo and turns it into a forking network service.
Redis is used as a common incoming job queue so that an arbitrary number of
pass instances can work simultaneously and (probably) load balance.
Instance definitions are put in a special Redis list in YAML format. The YAML document contains
command: currently, the only value is "solve" but there might be other commands in the future.
instance: the Answer Set Prolog code which defines the problem instance. What's fed into pass at startup is merely the class definition. Obviously, all of the problem could be sent in as the instance but this makes generating the prolog that much simpler and less redundant.
id: a unique id supplied by the client.
passwill use this to store the results in Redis and the client will know to monitor that queue.
We want to build robust web services on top of
clingo to solve more and
interesting problems. Our long term goal is to create an answer set solver from
scratch. In the short term, though, we have a tool which works and we can
server our way out of the problem for some time.
pass is that duct tape, for
See the Issues page on github.