Uploaded by td

VPP4ISLANDS-component-template

advertisement
COMPONENT TECHNICAL SPECIFICATION - DTE
INFORMATION
LEVEL
VPP4IPLATFORM
NAME Digital Twin
DESCRIPTION Pluggable API that executes the environment Modelling and the System Modelling, returning
the execution output and manages the data traffic.
TECHNOLOGY C#, Python, PowerApps
OWNER IDEA
WP / TASK WP3 / T3.1, T3.2, T3.3, T3.4
SECURITY Short description of security constraints as for AAA (E.g., SAPL / OAUTH / etc.)
Security Technology:
NOTE: all Components should be compliant
with SAPL
Authentication:
?
Authorization:
??
Accounting:
DEPLOYMENT Cloud environment
NOTES Flexible to the needs of the platform
Model Execution (Electrical Grid)
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
1
Execute Electrical Grid Module
Endpoint that starts an execution of the electrical grid module
Needs to include the timestamps in which the dynamic information will be read. Needs
to identify the Electrical Grid (Island) to run the model.
INPUT.MODEL The Content-Type value of the header is JSON, the body has the following schema
INPUT FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dtStart": {
"type": "string"
},
"dtEnd": {
"type": "string"
},
"step": {
"type": "integer"
},
"islandId": {
"type": "string"
},
"addiccionalInformation": {
"type": "object"
"properties": "{"
"node": "string"
}
},
}
]
}
},
"required": [
" islandId ",
]
}
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
Platform, SKB
The execution ID
Execution ID
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"executionId": {
"type": "integer"
}
},
"required": [
"executionId"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
2
Retrive Electrical Grid exdecution state
Endpoint that retrives the output of an execution of the electrical grid module
The execution which state is wanted.
The header of the request needs to include the execution id
Header: execID = execution_id (int)
Platform, SKB
The execution state. In case it is finished, it retrieves the execution output. If there has
been any error, it responds with the log information
OUTPUT.MODEL The response CODE is 200 (execution finished), 201 (execution ongoing), 202 (execution
not found/error running the execution).
OUTPUT.FORMAT {"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"results": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"date_and_time": {"type": "string"},
"power_plants": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"ID": {"type": "string"},
"frequency": {"type": "number”},
"generation": {"type": "number"}
},
}
]
},
"lines": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"power_flow": {"type": "number"},
"stress": {"type": "number"}
},
}
]
},
"external_lines": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"power_flow": {"type": "number"},
"stress": {"type": "number"}
},
"required": [
"power_flow",
"stress"
]
}
]
}
},
}
]
}
},
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
Model Execution (PV Solar)
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
3
Execute PV Solar Module
Endpoint that starts an execution of the PV Solar module
Needs to include the timestamps in which the dynamic information will be read. Needs
to identify the Electrical Grid (Island) to run the model.
INPUT.MODEL The Content-Type value of the header is JSON, the body has the following schema
INPUT FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dtStart": {
"type": "string"
},
"dtEnd": {
"type": "string"
},
"step": {
"type": "integer"
},
"islandId": {
"type": "string"
},
"addiccionalInformation": {
"type": "object"
"properties": "{"
"node": "string"
}
},
}
]
}
},
"required": [
" islandId ",
]
}
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
Platform, SKB
The execution ID
Execution ID
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"executionId": {
"type": "integer"
}
},
"required": [
"executionId"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
4
Retrive PV Solar execution state
Endpoint that retrives the output of an execution of the PV Solar module
The execution which state is wanted.
The header of the request needs to include the execution id
Header: execID = execution_id (int)
Platform, SKB
The execution state. In case it is finished, it retrieves the execution output. If there has
been any error, it responds with the log information
OUTPUT.MODEL The response CODE is 200 (execution finished), 201 (execution ongoing), 202 (execution
not found/error running the execution).
OUTPUT.FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dispatch 1": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"I": {
"type": "number"
},
"V": {
"type": "number"
},
"P": {
"type": "number"
},
"irr_mod": {
"type": "number"
}
},
"required": [
"timestamp",
"I",
"V",
"P",
"irr_mod"
]
}
},
"required": [
"dispatch 1"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
Model Execution (Wind Turbine)
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
5
Execute Wind Turbine Module
Endpoint that starts an execution of the PV Solar module
Needs to include the timestamps in which the dynamic information will be read. Needs
to identify the Electrical Grid (Island) to run the model.
INPUT.MODEL The Content-Type value of the header is JSON, the body has the following schema
INPUT FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dtStart": {
"type": "string"
},
"dtEnd": {
"type": "string"
},
"step": {
"type": "integer"
},
"islandId": {
"type": "string"
},
"addiccionalInformation": {
"type": "object"
"properties": "{"
"node": "string"
}
},
}
]
}
},
"required": [
" islandId ",
]
}
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
Platform, SKB
The execution ID
Execution ID
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"executionId": {
"type": "integer"
}
},
"required": [
"executionId"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
6
Retrive Wind Turbine execution state
Endpoint that retrives the output of an execution of the Wind Turbine module
The execution which state is wanted.
The header of the request needs to include the execution id
Header: execID = execution_id (int)
Platform, SKB
The execution state. In case it is finished, it retrieves the execution output. If there has
been any error, it responds with the log information
OUTPUT.MODEL The response CODE is 200 (execution finished), 201 (execution ongoing), 202 (execution
not found/error running the execution).
OUTPUT.FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dispatch 1": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"P": {
"type": "number"
},
"cp": {
"type": "number"
},
"mod_V": {
"type": "number"
}
},
"required": [
"timestamp",
"P",
"cp",
"mod_V"
]
}
},
"required": [
"dispatch 1"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
Model Execution (Lithium Battery)
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
7
Execute Lithuim Battery Module
Endpoint that starts an execution of the Lithuim Battery module
Needs to include the timestamps in which the dynamic information will be read. Needs
to identify the Electrical Grid (Island) to run the model.
INPUT.MODEL The Content-Type value of the header is JSON, the body has the following schema
INPUT FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dtStart": {
"type": "string"
},
"dtEnd": {
"type": "string"
},
"step": {
"type": "integer"
},
"islandId": {
"type": "string"
},
"addiccionalInformation": {
"type": "object"
"properties": "{"
"node": "string"
}
},
}
]
}
},
"required": [
" islandId ",
]
}
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
Platform, SKB
The execution ID
Execution ID
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"executionId": {
"type": "integer"
}
},
"required": [
"executionId"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
8
Retrive Lithium Battery execution state
Endpoint that retrives the output of an execution of the Lithuim Battery module
The execution which state is wanted.
The header of the request needs to include the execution id
Header: execID = execution_id (int)
Platform, SKB
The execution state. In case it is finished, it retrieves the execution output. If there has
been any error, it responds with the log information
OUTPUT.MODEL The response CODE is 200 (execution finished), 201 (execution ongoing), 202 (execution
not found/error running the execution).
OUTPUT.FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dispatch 1": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"V": {
"type": "number"
},
"I": {
"type": "number"
},
"P": {
"type": "number"
},
"SOC": {
"type": "number"
},
"It": {
"type": "number"
},
"SOH": {
"type": "number"
}
},
"required": [
"timestamp",
"V",
"I",
"P",
"SOC",
"It",
"SOH"
]
}
},
"required": [
"dispatch 1"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
Model Execution (Regenerative Hydrogen - PEM
Electrolyzers)
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
9
Execute PEM Electrolyzers Module
Endpoint that starts an execution of the PEM Electrolyzers module
Needs to include the timestamps in which the dynamic information will be read. Needs
to identify the Electrical Grid (Island) to run the model.
INPUT.MODEL The Content-Type value of the header is JSON, the body has the following schema
INPUT FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dtStart": {
"type": "string"
},
"dtEnd": {
"type": "string"
},
"step": {
"type": "integer"
},
"islandId": {
"type": "string"
},
"addiccionalInformation": {
"type": "object"
"properties": "{"
"node": "string"
}
},
}
]
}
},
"required": [
" islandId ",
]
}
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
Platform, SKB
The execution ID
Execution ID
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"executionId": {
"type": "integer"
}
},
"required": [
"executionId"
]
}
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
FUNCTIONALITY
ID 10
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
Retrive PEM Electrolyzers execution state
Endpoint that retrives the output of an execution of the electrical grid module
The execution which state is wanted.
The header of the request needs to include the execution id
Header: execID = execution_id (int)
Platform, SKB
The execution state. In case it is finished, it retrieves the execution output. If there has
been any error, it responds with the log information
OUTPUT.MODEL The response CODE is 200 (execution finished), 201 (execution ongoing), 202 (execution
not found/error running the execution).
OUTPUT.FORMAT {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dispatch 1": {
"type": "object",
"properties": {
"timestamp": {"type": "string"},
"fuel_cell": {
"type": "object",
"properties": {
"V": {"type": "number"},
"I": {"type": "number”},
"power": {"type": "integer"}
},
"required": [
"V",
"I",
"power"
]
},
"storage": {
"type": "object",
"properties": {
"flow_rate": {
"type": "number"
},
"pressure": {
"type": "number"
},
"SOC": {
"type": "number"
},
"kWh_remaining": {
"type": "number"
}
},
"required": [
"flow_rate",
"pressure",
"SOC",
"kWh_remaining"
]
}
},
"required": [
"timestamp",
"fuel_cell",
"storage"
]
}
},
"required": [
"dispatch 1"
]
OUTPUT.TO SKB, Platform
CONSTRAINTS INTERFACE RESTAPI: http://20.13.26.39:5001/DTE/executeModel/model_name
NOTES
TESTING AND VALIDATION TOOL
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
OUTPUT.TO
CONSTRAINTS
INTERFACE
NOTES
11
Testing and Validation Tool
App that allows to temporarly change the static information to run a new scenario.
The user needs to change the static parameters in the GUI designed for it. This creates a
new scenario and runs an execution.
The user can see the result of the simulation as a graph
SKB, Platform
PowerApps
Needs to be integrated as an app in the User Interface
COMPONENT TECHNICAL SPECIFICATION - SKB
INFORMATION
LEVEL
NAME
DESCRIPTION
TECHNOLOGY
OWNER
WP / TASK
SECURITY
VPP4IPLATFORM
SKB
Shared Knowledge Base. SQL Database hosted on the DT infrastructure.
SQL Server
Short description of security constraints as for AAA (E.g., SAPL / OAUTH / etc.)
Security Technology:
NOTE: all Components should be compliant
with SAPL
Authentication:
?
Authorization:
??
Accounting:
DEPLOYMENT Cloud environment
NOTES Flexible to the needs of the platform
Data Manager
FUNCTIONALITY
ID
TITLE / NAME
DESCRIPTION
INPUT
INPUT.MODEL
INPUT FORMAT
INPUT.FROM
OUTPUT
OUTPUT.MODEL
OUTPUT.FORMAT
OUTPUT.TO
CONSTRAINTS
INTERFACE
NOTES
1
Data Manager API
API that allows the data exange with the SKB
Pending. Needs to include the information to be loaded on the database .
The Content-Type value of the header is JSON
Platform, Node
Code 200 in case the load was succesfull. JSON
Platform, Node
RESTAPI
Download