Skip to content
Ayar Portugal edited this page Feb 20, 2017 · 33 revisions

This wiki explains the application from the source point of view: the internal structure of Amuyaña and the structure of its classes, how they communicate and how a Table of deductions (ToD) is created.

I do not address the question of semantics, i.e. what a "Disjunction" or a "Conjunction" actually mean from the point of view of the logic of the contradictory. For that please visit this site.

I apologize in advance for my English, you might find a lot of "linguistic bugs".

General informations

So Amuyaña creates/designs/generates Tables of Deductions. What is a ToD? Well, an "instance" of a ToD is precisely an instance of the Amuyaña.class.

The members of Amuyaña are disjunctions (instances of Disjunction.class), which in turn have only one member that is an instances of Conjunction.class. An instance of this last class has two types of members: subconjunctions (one instance of Positive.class, Negative.class and Symmetric.class) and phenomena (two instances of Phenomenon.class). An instance of this last class (Phenomenon) has one member of each "logical value class" (A.class, P.class and T.class).

The last important thing to mention (probably the "signature" of the logic of the contradictory) is that each instance of the three subconjunctions (Positive, Negative and Symmetric) has two members that belong to the "logical value classes" that are the same members of the Phenomenon class, in this order: a positive instance has the 'A' instance that belong to the first phenomenon and the 'P' instance of the second phenomenon; the negative instance has the 'A' instance that belong to the second phenomenon and the 'A' instance of the first, and finally the symmetric instance has the 'T' values of both phenomena.

This simple relation between the main objects of Amuyaña can be illustrated as follows:

general structure of Amuyaña

Packages

Amuyaña is divided in three packages:

  • amuyaña: Classes related to the notions of the logic of the contradictory

  • ñ: This package contains mainly the Swing JFrames and the class Ñ.class which handles the information between the amuyaña package and the UI. This package contains a folder named resources which contains the images used in the application

  • tabulator: Classes that generate the actual Tables of deductions

External sources

Amuyaña borrows one library and two classes:

  • gson: Used to import/export the java objects to json representations, distributed under Apache 2.0 license
  • AlphaContainer.java in tabulator container: used to make JPanels transparent. This is temporary since we will migrate from Swing to JavaFX
  • ScreenImage.java: Used to export to the disk a screen capture of the created JPanels that contain the Tables of Deductions, in common formats (gif, jpg, png...).

General flow

At execution the main method

Clone this wiki locally