Skip to content

Code Overview

Frédéric Jouault edited this page Dec 20, 2022 · 9 revisions

The purpose of this page is to give an overview of code organisation.

General Principles

  • almost all AnimUML modules are ECMAScript modules
  • most modules that are used in the browser are also used in Node.js
    • therefore, using them may require setting up a browser-like environment
      • for instance, globalThis.WebSocket exists in the browser, but not in Node.js by default
    • this way, these modules do not need to care about where (browser or Node.js) they are executed from

Modules Overview

This section is a work in progress.

The following layered architecture diagram represents AnimUML's high-level code organization.

Presentation
Diagram Transformation Analysis
Execution/Semantics External Analysis Tools
Model Representation
Load/Save Export Code Generation

Some modules corresponding to each element of this diagram are listed below.

Presentation

Diagram

Transformation

Analysis

Execution/Semantics

External Analysis Tools

Model Representation

Load/Save

Export

Code Generation

Utils

Clone this wiki locally