From 51eaa8423269b02cfc5cc4e1e721ab8f4ab70691 Mon Sep 17 00:00:00 2001 From: hneemann Date: Thu, 30 Jun 2016 08:11:38 +0200 Subject: [PATCH] typo --- .../java/de/neemann/digital/package-info.java | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/main/java/de/neemann/digital/package-info.java b/src/main/java/de/neemann/digital/package-info.java index f4e16a2d9..6d08aeedd 100644 --- a/src/main/java/de/neemann/digital/package-info.java +++ b/src/main/java/de/neemann/digital/package-info.java @@ -2,49 +2,53 @@ * Digital is build from several packages: *

* The package gui contains all the GUI classes. The class {@link de.neemann.digital.gui.Main} contains the - * main method ald the generation of the main frame. One of the more important class is + * main method and the generation of the main frame. One of the more important class is * {@link de.neemann.digital.gui.components.CircuitComponent}. This class is used to draw the circuit. *

- * There are two representations of the circuit. One is build up with + * There are two representations of the digital circuit. One is build up with * {@link de.neemann.digital.draw.elements.VisualElement} instances representing the elements in the circuit * and {@link de.neemann.digital.draw.elements.Wire} which simply represents a wire. The class - * {@link de.neemann.digital.draw.elements.Circuit} contains both elements. + * {@link de.neemann.digital.draw.elements.Circuit} contains a set of both elements. * This representation is also stored on disk. You can find the necessary classes in the package draw. + * Below I call this representation the circuit. *

- * The other representation of the circuit is build by the {@link de.neemann.digital.core.Node} - * classes which you can find in the code package. + * The other representation of the digital circuit is build by the {@link de.neemann.digital.core.Node} + * classes which you can find in the core package. * This classes form the simulation model represented by the {@link de.neemann.digital.core.Model} class. + * Furthermore this representation is called the model. * In the package draw.model you can find the class {@link de.neemann.digital.draw.model.ModelDescription}. * This class takes a circuit represented by a Circuit instance and creates * a Model instance representation. - * Some of the elements from the Circuit representation you can also find - * in the Model some you don't. So all the wires don't exist anymore in the - * Model. They are resolved and replaced by a simple Observable-Observer system. + * Some of the elements out of the Circuit representation you can also find + * in the model, some you don't. So all the wires don't exist anymore in the + * model. They are resolved and replaced by a simple Observable-Observer pattern. * Also all the inputs and outputs of the circuit and nested circuits don't exist in the - * Model. They are also resolved and replaced by the Observable-Observer system. + * model. They are also resolved and replaced by the Observable-Observer pattern. *

* The graphical representation (Circuit) is able to hold references to the - * Model representation (Model). So the graphical representation is able to reflect the - * models actual state. But this is not necessary: The model can also be used without the graphical representation which - * it is derived from. + * model representation (Model). So the graphical representation is able to reflect the + * models actual state. But this is not necessary: The model can also be used without the + * graphical representation which it is derived from. *

- * The Model class also has the ability to run the model. Sometime there maybe will be + * The model class also has the ability to run the model. Sometime there maybe will be * an other simulation algorithm. Up to now there is only a very simple algorithm available. *

- * The Model consists only of {@link de.neemann.digital.core.Node}s. This Nodes contain + * The model consists only of {@link de.neemann.digital.core.Node}s. This nodes contain one or more * {@link de.neemann.digital.core.ObservableValue} instances which represent the inputs and outputs of the nodes. - * To the ObservableValue you can register a {@link de.neemann.digital.core.Observer} instances. Every Node implements the - * Observer interface. So every Node can be notified on ObservableValue changes. + * To the ObservableValue you can register a {@link de.neemann.digital.core.Observer} instances. Every node + * implements the Observer interface. So every node can be notified on a state change of a ObservableValue. *

- * An Example: An AND gate with two inputs is registered to two + * An example: An AND gate with two inputs is registered to two * ObservableValues. So, if one of the input values changes, the AND gate gets a * notification. But the AND gate does not directly react on this notification. It only informs the - * Model that there was a change at one of the inputs. If the model has collected all the - * Nodes which had seen an input change, it asks all this Nodes - * to update their outputs. This causes new Nodes to inform the Model + * model that there was a change at one of the inputs. If the model has collected all the + * nodes which had seen an input change, it asks all this nodes + * to update their outputs. So it looks like all the gates react at the same time on an input change. + *

+ * If the nodes update their outputs this causes new nodes to inform the model * about changes and so on and so on. Every such iteration is called a micro step. - * If this iteration stops, the Model has stabilized again. Now the Model can handle a new - * clock change or a new user interaction. + * If this iteration stops because no new nodes have seen an input change, the model has stabilized again. + * Now the model can handle a new clock change or a new user interaction. * * @author hneemann */