Target releaseRelease 1 or later
EpicStudents will be able to work with digital flecsimo digital twin via an web based interface
Document status
DRAFT
Document owner
Designer@Ralf Banning
DevelopersBanning, Lehner, Schnieber
QA

Goals

Make flecsimo accessible also for pure online learning

Background and strategic fit

The COVID-19 pandemic does not allow students to work on flecsimo physical models. Since in the pre-prodcution release 0.1.3 already offers a basic simulation mode which relies only on software, this solution shall be extended to be accessible and deployable as a web-based service.

Assumptions

It assumed that flask is used for implementation

Requirements

#TitleUser StoryImportanceNotes
1AccessibilityAs a student I want to use a flecsimo site by a web-interfaceMust have
  • A simple design is sufficient
  • An access and role model will be required
2AuthenticationAs a user I want to authenticate by a anonymous user and password to get access to the the systemMust have
3RolesAs user I want to interact with the system based on a role model to get appropriate access to the systems functionalityMust have

The system provides at least the following which have not to be fully implemented in first version:

  • Administrator (configures, starts and stops devices on technical level)
  • Instructor (configures, enables and modifies scene play,
  • Trainee (a person starting, acting in or running a scene play)
  • Trainee.Planer
  • Trainee.ShopFloorManager
  • Trainee.Worker
  • Trainee.Analyst

The roles will be used to provide dedicated access rights and hide or make visible distinctive navigation elements.

Multiple role cam be combined. There might be additional versions defined in later requirement versions

4Single ModeAs a student I want to start a flecsimo-twin standard configuration consisting of one site, one area and four pre-defined stations to have a simple possibility to experiment with the system.Must haveThis option will not allow any configuration of the area layout. This mode will only allow to practice principal understanding on the topic
5Role Mode

As students we want to run a shared flecsimo-twin configuration to use it in different Trainee roles.

Should haveThis option will allow multiple students work together on one instance with dedicated roles, e. g. having one Planer, and four Workers, each for one station. This mode allows to execute more realistic experiments in the area of production logistics
6LayoutAs a Instructor or  student I want to configure the layout of a an area to experiment on different production layoutsCould haveThis requirements depends an major improvements in the core system which are not planned so far.
7



User interaction and design

Didactic scenarios

  • Average groups size is 18 - results in 4 teams of 4-5 students
  • Single / offsite: provide a virtual machine for each student, running a flecsimo twin
  • Concurrent: provide four scene plays
  • Phase wise: have three other activities available like a 'Lernbar' feature, and two other lab things. Groups rotate experiments
  • Hybrid (post COVID): use flecsimo twin for first online experiments - hypothesis - switch to physical experiment - analysis - ...

Use Cases and Wireframes



UC: Log in to the flecsimo Launcher
A user wants to authenticate by a anonymous user and password to get access to the the system
PreLauncher has to be started by instructor
StepActor intentionSystem responsibility
1The Trainee enters user name and password

The system checks if user exist and password matches.

The system executes the log-in

The system assigns defined role for user

Alternatives
1AThe user forgot the passwordThe systems opens the → Forget Password Use Case dialogue.
1BThe user entered wrong user name or passwordThe system restarts this use case

User Interaction


UC: Launch a flecsimo twin configuration
Trainees want to launch a specific flecsimo twin configuration for experiments.
PreUser has to be logged in at least with trainee role.
StepActor intentionSystem responsibility
1A trainee starts a flecsimo-twin standard configuration in single mode, i. e. consisting of one site, one area and four pre-defined stations to have a simple possibility to experiment with the system.

The system starts all required control instances.

The system proceeds to the "run scene play" use case.

Alternatives
1AA trainee wants to launch a role-mode configuration
1A.1The trainee selects "role mode" configurationThe system reads all available configurations for this flecsimo twin launcher and displays them in a selectable table grid.
1A.2The trainee selects exactly one configuration and starts this configuration

The system starts all required control instances.

The system proceeds to the "run scene play" use case.

User Interaction




UC: Run a Scene Play << abstract>>
Trainees want to run a flecsimo twin configuration to use it for running a scene play.
PreUser has to be logged in at least with trainee role.
StepActor intentionSystem responsibility
1

This is an abstract use case!

The trainee decides to execute on of the following operations on site level:

  • Import or create a new order
  • Plan the order execution
  • Release the execution plan
  • Show the order list
  • Show the execution plan

On area level:

  • Reset

On each configured station:

  • Change the status
  • Load a new part into the station
  • Unload a finished part


The system proceeds to the responsible uses cases.

The system continuously display status and performance information.

Alternatives

N / A
User Interaction


Technical Considerations

To be discussed.

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
How to handle multi process operations (e. g. a site controller, an area area and four station controller)?

Solution: multiple agents with own mqtt loop plus threading / queues for status bar;

Alternative: status could be taken from MQTT messages.

How to embed MQTT (needs an own thread-loop). Is Flask.MQTT a possible solution?Flask.MQTT is not required.
How to keep coding from physical flecsimo solution re-usable with flecsimo twin? (→ S/W Architecture)S/W architecture has changed, so that the same components can be used for simulation and for execution on TXT-controller (since Gitlap commit a4a9e13a in devel-twin branch (not merged into master so far.

Not Doing


Referred by

Github flecsimodev/flecsimo requirement REQ-1