Read Me
********************************************************************************
LogiFlash ActionScript 3.0 proof-of-concept implementation
This is a proof-of-concept implementation of a LogiFlash re-implementation
using ActionScript 3.0. It is the result of the Bachelor Thesis "LogiFlash"
by Thomas Pauger, which was finished in September 2009 at the Institute of
Computer Technology at the Vienna University of Technology under the
supervision of Markus Damm, Jan Haase, and Prof. Christoph Grimm.
LogiFlash is a graphic oriented Boolean logic simulator for education and was
originally developed from 2002-2006 at the Goethe University in Frankfurt at
the Computer Science Institute by the Computer Engineering Group of
Prof. Klaus Waldschmidt as part of the German government founded e-learning
project "Wissenswerkstatt Rechensysteme" (see www.wwr-project.de).
The last version of LogiFlash can be downloaded at
http://www.ti.cs.uni-frankfurt.de/wwr/
or
http://pii-workshop.hsu-hh.de/LogiFlash/index.html
It contains just the swf-Files, Documentation and examples, but no source code.
However, it shows where this project intends to go. Therefore, you are
encouraged to download this package. Be aware, though, that it is using
German language.
The reason for the re-implementation is twofold. The old LogiFlash version
was developed using ActionScript 1.0, While ActionScript 3.0 offers many
new useful features. Also, since there is no funding any more, LogiFlash can
be kept alive only via open source. However, the source code of the old version
is not suitable for collaborative work.
This version shows how the object oriented features of ActionScript 3.0
can be used for LogiFlash, and how the ActionScript 3.0 event handling
can be used for simulation and user interaction. LogiFlash_Kernel.swf is
intended to be the common base for various Logiflash applications. When
starting the current version of LogiFlash_Kernel.swf, a simple circuit
is drawn together with some free floating elements, which can be dragged
around, connected and disconnected.
The usage is basically the same as in the old LogiFlash Viewer. The main
difference which can be observed is that now 4-valued logic is used.
Light grey represents the signal value 'Z' (also known as 'floating'); that
is, the signal has no driver. The greenish color represents 'U', which means
undefined or unknown.
Short manual:
- The ends of wires are called nodes. Only nodes can be dragged not wires
as a whole.
- Every other component can be dragged around with the mouse.
- To create a new wire, you can either click and drag at the port of a gate,
signals source, or signal drain or press CTRL while clicking and dragging
a wire.
- To invert the port of a gate, click on it while pressing ALT _or_ CTRL.
- To detach a wire from a node, click on a node while pressing SHIFT, and
Drag towards the wire you want to detach.
- To connect two wires, just move one end-node of the first wire to one
end-node of the second wire.
- To connect a wire to a gate port, drag one of its end-nodes to the port.
This also works with the connectors of signal sources and signal drains.
- If you want to prevent an accidental wire connection while dragging around
one of its end-nodes, keep SHIFT depressed while dragging.
For licensing and copyright information, please refer to the accompanying
LICENSE.txt file and the specific information in the included source files.
For question about this project consult
Markus Damm
Vienna University of Technology
Institute of Computer Technology
damm@ict.tuwien.ac.at
http://www.ict.tuwien.ac.at