/*
This file is no longer used.
The descriptions of the relevant FMUs are best done inside each semantic adaptation.
*/
module PowerWindowModel

/*
Each of these fmu descriptions has to include more information about the FMU.
Namely:
	environment must refer to the name of the instance of the FMU. Therefore, the name of the FMU to be instantiated is missing.
	The location of the .fmu file is also missing.
	The "type discrete event" no longer serves any purpose, so should be removed.
	The "full internal dependencies" is not needed once you have the file to parse.
	The "output ports" can be specified here, for syntax completion purposes, but they can be retrieved from the *.fmu file.

If you agree with these changes, you should have the following:
	fmu Environent environment // declares the instance name environment of the FMU environment.
	at "./path/to/Environment.fmu"
	output ports passenger_up, passenger_down, driver_up, driver_down

Before it was this:
fmu power
type continuous time
input ports up, down, reaction_torque (N.m)
output ports armature_current (mA), motor_speed (m/s)
full internal dependencies
*/

fmu Environent environment // declares the instance name environment of the FMU environment.
at "./path/to/Environment.fmu"
output ports passenger_up, passenger_down, driver_up, driver_down

fmu Controller controller
at "./path/to/Controller.fmu"
input ports obj_detected, passenger_up, passenger_down, driver_up, driver_down
output ports up, down, stop

fmu Power power
at "./path/to/Power.fmu"
input ports up, down, reaction_torque (N.m)
output ports armature_current (mA), motor_speed (m/s)

fmu Window window
at "./path/to/Window.fmu"
input ports motor_speed (m/s), reaction_force (N)
output ports height (cm), window_reaction_torque (N.m)

fmu Obstacle obstacle
at "./path/to/Obstacle.fmu"
input ports height (m)
output ports reaction_force (N)

/*
The dotted syntax will have to be supported.
According the Casper and Kenneth, it is very common to have variables with the same name, but that should not be connected. So it is better to not assume implicit connections in this description.
*/

armature_current -> obj_detected // only ports that change names need to be connected
