Preface

This is a jMonkeyEngine community open-source project, the end-goal of this project is to nourish the jME wiki with the appropriate architectural documentation for jMonkeyEngine.

Methodologies

Comprehensively, methodologies entail using System-Entity-Structure/Model-Base (SES/MB) framework 1 and the Automata Theory 2 to build a conceptual architecture describing the overall system design and a concrete architecture describing the underlying link between subsystems components and the algorithms through first, decomposing the Engine modules into Engine Subsystems; second to that, formulating a system-entity structure hierarchial skeleton starting from the extracted engine subsystems, and going in depth for each subsystem until reaching the subsystem components and interfaces; continuing this approach in breadth fashion throughout the selected jME module; third to that is extracting dependencies graph for that subsystem; eventually, re-iterating in this cycle until finishing all Engine modules.

Tools

Tools are very essential to complete the aforementioned tasks; therefore the following is the most required:

  • Git VCS: utilized to pull the codebase of jMonkeyEngine.

  • Doxygen: utilized to traverse over the codebase modules, and together with the help of LaTeX and GraphViz/Dot, generates dependencies graph for the conceptual architecture and a caller graph for the concrete architecture.

  • GraphViz/Dot: embedded within AsciiDoc; required to generate diagrams and scientific models.

  • LaTeX: embedded within AsciiDoc; together with MathJax is required to render math symbols.

  • AsciiDoc (for deployment and integration with jME Wiki).