The A-Circuit system was built to gain experience in using A-Prolog for development of knowledge intensive systems.
The system allows the user to describe a combinational digital circuit with delays and to perform the following tasks:
The system is provenly correct, easily expandable and modifiable.
It is based on the SMODELS program which computes stable models of logic programs.
A quick tutorial for the system can be found in A-Circuit Tutorial
Details of the system can be found in Related
To use the system, first download the distribution file of the A-Circuit system by clicking on ACircuit.tar.gz.
The next step is to uncompress this file and complete the installation
% gunzip ACircuit.tar.gz
% tar -xf ACircuit.tar
% cd ACircuit
% make install [as root !]
NOTE: ACircuit is a Java application and JDK
1.1.8 or later is required in order to run it.
bin/mkatoms bin/getone bin/getall bin/ACircuit share/ACircuit (THE WHOLE DIRECTORY)
Before using A-Circuit make sure that Lparse and Smodels programs are
installed in your system.
If you need to install these programs:
where <version> is the version of LParse that you downloaded.
In order to configure, compile and install LParse, follow the instructions in its manual.
where <version> is the version of Smodels that you downloaded.
In order to compile and install Smodels, follow the instructions in its manual.
A-Circuit can be run by executing:
% /usr/local/bin/ACircuit [in case the default installation path was used]For a complete example on how to use the system, refer to A-Circuit Tutorial.
M. Balduccini, M. Gelfond and M. Nogueira. A-Prolog as a tool for declarative programming. Submitted for publication. (.ps, .ps.gz)
M. Balduccini, M. Gelfond and M. Nogueira. Reasoning About Digital
Circuits in A-Prolog. Technical Report. The University of Texas at
El Paso and Texas Tech. University, 2000.
To learn more about answer set semantics and answer set programming see:
M. Gelfond and V. Lifschitz, The Stable Model Semantics for Logic Programs, in: Proceedings of the 5th International Conference on Logic Programming, pp. 1070-1080, 1988.
M. Gelfond and V. Lifschitz, Classical Negation in Logic Programs and Disjunctive Databases, in: New Generation Computing, 9(3/4):365-386, 1991.
V. Marek and M. Truszczynski, Stable models and an alternative logic programming paradigm, in: The Logic Programming Paradigm: a 25-Year Perspective, 1999.
I. Niemela, Logic
Programs with Stable Model Semantics as a Constraint Programming Paradigm,
in: Proceedings of the Workshop on Computational Aspects of Nonmonotonic
Reasoning, pp. 72-79, 1998.
We thank the developers of Smodels (Illka Niemela, Patrick Simons and their research group at the Helsinki University of Technology) for allowing us to use their programs.