MMTI Model - PendulumProject2020/PendulumProject GitHub Wiki

Version: 0.1.9+

The aspects of this project are categorized into four layers – the Methodological layer, the Metaphysical layer, the Tangible layer, and the Interactive layer.

The purpose of the Methodological layer is to help the developer form a pattern of making decisions, understand the dependencies between classes and specific versions of classes, as well as create a flexible development environment. At the heart of the Methodological layer is the Piece-Slot model, which allows editing of code component-wise and avoiding extensive changes to parts of the code outside the component.

The Metaphysical layer decides the properties of objects, the behaviors resultant from these properties, and the relationship between properties. Examples of aspects belonging to the Metaphysical layer include the Epifyte model, which is an implementation of metaphysical relations, as well as the Chronos piece, which facilitates round-based execution.

The Tangible layer decides the exact objects which are to be part of the executed program. For example, if aspects on the Metaphysical layer have already decided the properties and behaviors of “game pieces”, the Tangible layer would narrow the scope from “game pieces” to “chess pieces”, and then to the specific types of chess pieces. Examples of aspects belonging to the Tangible layer include the occupants of the slots of the Chronos piece, such as the fairy chess game initializer.

The Interactive layer displays the graphics of the executed program and allows the user to interact with it. The parts of the codes that involve JavaFX all belong to this layer.