Design - mdenet/educationplatform GitHub Wiki
The main goal of the Education Platform system is to provide a web browser based environment that Learners can use to apply MDE techniques and tools to without having to locally setup and configure the tools themselves. The following use case diagram shows the functions the education platform provides to each user. The two external git repositories Tools and Activities store the configuration and resource files required for the operation of the platform. The Tools repository containing tool configuration files and the Activities containing activity configuration and project files.
Education platform use case diagram |
A Learner can complete an activity that involves the system retrieving the activity configuration from the the external Activities repository followed by the tool configuration from the Tools repository. Using these configuration files the system initialises user interface that the Learner uses to complete the activity.
A Learner can resume an activity that involves the system starting as Complete Activity and then loading the changes the Learner had previously saved. A Learner can save an activity where the platform stores any changes the learner has made. A Learner can export an activity where the changes are pushed to an external repository.
Outside of the education platform, a Teacher creates an activity configuration file and project files that are saved to the Activities repository.
The tool Provider adds a tool to the education platform by deploying the tool service functions to the cloud. The tool cloud functions are considered to be within the boundary of the Education Platform system. Outside of the education platform, a tool Provider creates a tool configuration for their tool and saves it to the Tools repository.
Architecture
The following diagram shows the main components of the platform. The MDENetPlatform provides interfaces that offer the user functions specified by the use cases and depends on the interfaces provided by the ToolManager, ActivityManager, and ToolService.
Platform software components |
The ToolManager is responsible for fetching tool configurations files from the external repository, parsing them, and providing requested tool instances to the MDENetPlatform.
The ActivityManager is responsible for fetching activity configuration files from the external repository, parsing them, and providing requested activity instances to the MDENetPlatform.
A ToolService is responsible for handling requests for tool functions and returning the processed result to MDENetPlatform to display. The ToolServices are cloud based FaaS. A tool can have multiple ToolServices.
Activity Configuration
The following diagram shows the data structure of the activity configuration file.
Activity configuration file data structure |
Tool Configuration
The following diagram shows the data structure of the tool configuration file.
Tool configuration file data structure |
Interaction
Main
The following diagram shows top-level interactions between the platform and the external services. If a configuration file has been provided, the platform goes on to execute Init and User Activity. Otherwise, an error message is displayed to the user.
Top-level interactions of the platform and the external services |
Initialise
The interaction detail of the platform and the external services during the Init phase of the platform.
Interactions of the platform and external services during initialisation |
User Activity
The interaction detail of the platform and the external services during the User Activity phase of the platform.
Interactions of the platform and external services during user activity |