the adventures of a digital twin in systemsland
TRANSCRIPT
THE ADVENTURES OF A DIGITAL TWIN IN SYSTEMSLANDThe Systems Engineering Group Zürich
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
The Systems Engineering Group Zürich
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland2
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
What is a Digital Twin?
■ Digital Twin (DT)A digital representation of some aspects of a (real) thing (the Original).
■ OriginalThe thing (including humans and other lifeforms) that is or will be augmented by a Digital Twin.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland3
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Potential Capabilities of a Digital Twin
■ MONITOR the Original and its environment.
■ OPERATE: the Original in its environment.
■ DUMP (historical) data from the Original for later analysis.
■ ELABORATE: responses from the Original's observations.
■ LEARN and improve a model of the Original's world.
■ SIMULATE: alternatives and decide for actions on the Original.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland4
M O D E L S
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland5
Systemsland
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Example: Schindler Ahead – MSK
From time-based or usage-based to predictive maintenance by using a non-intrusive modular sensor kit (MSK) connecting old portfolios of various brands with modern data analytics. By detecting breakdowns early and using data analytics repairs are initiated more quickly reducing the down time for customers. Learning form data enables predictive maintenance to prevent breakdowns or plan downtime for maintenance in low traffic hours.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland6
MO D E L S
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Example: TWINJECTOR
TWINJECTOR is a Digital Twin designed for the Injection Molding industry. It integrates live data from multiple sources, from the sensor edge and including ERP and external data. TWINJECTOR is built on a modular and flexible access architecture and therefore allows to fulfil all HiFive criteria for Digital Twins: Providing Variety, Volatility, Velocity, Volume and Visibility of data anywhere, anytime.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland7
ERP
Order book data
Order planning → Optimization
Maintenance → Service
Production→ Shop floor
interaction
orOn
premises
Reporting→ Auditing
Machines→ Raw data
TWINJECTOR MO D E L S
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Example: Executable Specifications
Complex functionality and behavior is specified using a simplified, yet very precise dialect of the Unified Modeling Language (UML). KnowGravity Inc.'s CASSANDRA/xUML enables early validation by simulation and supports verification of the Original against the simulation (the Digital Twin).
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland8
idle
Entry/'DOS_route' := #false;
'signal_cleared' := #false;
residual release
route
overlap
not timing release timing
not locked
Entry/foreach 'TVPs in overlap' do send '<ic> release locking';
timer stopped
bodytrain at exit signal
Entry/foreach 'TVPs in path' where
('/is_route_body_locked') do send '<ic> release locking';
occupied
after( 'entry signal'.'signal'.'replacement_delay' )/call 'entry signal'.'signal'.'<ic> set signal to stop';
route set up
revocable disruption
Entry/call 'entry signal'.'signal'.'<ic> set signal to stop';
proceed
Entry/if 'DOS_route' then send 'entry signal'.'signal'.'<ic> set DOS proceed'
else send 'entry signal'.'signal'.'<ic> set full proceed'; 'signal_cleared' := #true;
distruption
unused
turned back
monitor
Exit/foreach 'signals in path'.'signal' where (not '/is_at_stop') do call '<ic> set signal to stop';
route release timer
timer stopped
cancellation
Entry/foreach 'TVPs in path' where ('/TVP_marked' or '/is_locked') do send '<ic> release locking';
pending
initiate
Route
w hen( exists 'main route tvp' is_true ('/occupied_physically ') )/
w hen( 'exit signal'.'signal'.'/is_at_stop' and
exists 'TVPs in overlap' is_true ('tvp'.'/occupied') )/
w hen( '/monitoring' )/
w hen( '/train_in_route' )/
w hen( not
'/train_in_route' )/
<c> set route[ 'route_type' = #shunt]/
send 'entry signal'.'signal'.'<c> reclear signal'
w hen( '/available' and exists 'main route tvp' is_true ('/DOS_route_occupation') )/
foreach 'main route tvp' do send '<ic> prepare track element';w hen( not (exists 'main route tvp' is_true ('/DOS_route_occupation')) )/
when( exists 'opposing signals' is_true '/train_turned_back' )/
foreach 'TVPs in path' where ('/is_route_body_locked' and '/preceeding_tracks_free')
do send '<ic> release locking';
<c> cancel residual route[
'/residual_releaseable']/<c> cancel residual route[
'/residual_releaseable']/<c> em ergency cancel[
'/cancel_with_delay ']/
w hen( not (exists 'track elements in path' is_true ('/is_locked')) )/
w hen( not exists 'track elements in path' is_true ('/is_locked') )/
after( 'entry s ignal'.'s ignal'.'residual_timer' )/
Route/'direction' := 'pDirection'; 'route_type' := 'pType'; 'DOS_permitted' := 'pDosPermit'; opposing_permitted := 'pOpposePermit';
if pOverlapReleaseTime = #pOverlapReleaseTime then 'overlap_release_timer' := 0 else 'overlap_release_timer' := pOverlapReleaseTime;
'/signalling_conditions' := (forall 'track elements in path' is_true '/monitoring_condition_ok');
'/immediately_cancellable' := ((not '/signalling_conditions' and not 'signal_cleared') or
('signal_cleared' and not (exists 'approach track' where ('next' = []) is_true '/valid_approach_occupation') and
forall 'main route tvp' is_true ('/is_main_route_locked' and not '/change_in_occupation')));
'/cancel_with_delay' := ('signal_cleared' and (exists 'approach track' where ('next' = []) is_true '/valid_approach_occupation') and
forall 'main route tvp'.'tvp' is_true (not ('/track_became_occupied')));
'/all_train_in_DT' := ('/initiated' and not (exists 'TVPs in path' is_true ('/is_route_body_locked' and not 'destination_tvp')));
'/destination_release' := (exists 'exit signal'.'signal'.'track in rear' is_true ('/occupied') and '/all_train_in_DT' and not exists 'TVPs in path' is_true '/moveable_element_in_DT');
'/residual_releaseable' := (exists 'main route tvp' is_true (not '/is_main_route_locked') or exists 'main route tvp'.'tvp' is_true '/track_became_occupied');
'/train_in_route' := (exists 'TVPs in path' is_true '/occupied_logically');
'/disrupted' := (in_state(#'monitor'.'unused'.'revocable disruption'));
'/available' := (forall 'track elements in path' is_true '/route_precondition_ok');
'/monitoring' := (forall 'TVPs in path' is_true '/subroute_monitoring_ok');
'/initiated' := (not (in_state(#'idle')));
<c> set route[ '/available']/
foreach 'TVPs in path' do send '<ic> prepare track element';
after( 'entry signal'.'s ignal'.'cancellation_timer_route' )/
/
<c> cancel route[
'/immediately_cancellable']/
w hen( '/monitoring' and
'entry signal'.'/reclearing' )/
w hen( '/destination_release' )/
w hen( '/all_train_in_DT' and 'TVPs in overlap' \= [] )/
<c> cancel ro ute/
after(
'overlap_release_timer' )/w hen( '/s ignalling_conditions ' )/
<c> set DOS route[
'DOS_permitted']/
'DOS_route' := #true
w hen( not '/s ignalling_conditions ' )/
/
MO D E L SLCL
...
TVP in path
/subroute_monitoring_ok+
/occupied_logically+
/preceeding_tracks_free+
TVP in main route
/change_in_occupation+
/DOS_route_occupation+
TVP in shunt
route
TVP in overlap
Route locker in path
/is_main_route_locked+
/is_shunt_route_locked+
/is_overlap_locked+
/is_locked+
/is_route_body_locked+
/element_correct_for_route#
Track element in path
/route_precondition_ok+
/monitoring_condition_ok+
locking_type+
Signal in path
/manually_replaced+
/element_set_up+
/path_initiated+
Flank locker in path
/is_flank_locked+
/element_correct_for_flank+
/is_dependency_locking+
/is_dependency_locked+
/dependency_active+
Signal flanking route
Lockable point in path
/point_to_move-
Point in main route
Point in shunt route
Point in overlap
Subroute signal in path
/advance_subroutes_at_proceed-
Entry signal
/reclearing+
/berth_occupied+
TVP in route
not_permitted_occupied-
destination_tvp-
occupied_for_DOS-
/TVP_marked+
/moveable_element_in_DT+
Reserved path
/available+
/monitoring+
/immediately_cancellable+
/initiated+
Track section in path
/occupied_physically+
Point in path
route position-
LSA active-
/point_marked+
Point flanking LSA
SR key-locked point
Signal flanking LSA
Exit signal
Point in
approach
Track in path
Flank zone
safe_direction-
Track in approach
/valid_approach_occupation+
Route
/signalling_conditions+
/residual_releaseable+
/cancel_with_delay+
/disrupted+
/train_in_route+
/all_train_in_DT-
/destination_release-
route_type-
overlap_release_timer-
signal_cleared-
direction-
DOS_route-
DOS_permitted-
opposing_permitted-
Point in LSA
/is_locally_released+
/local_release_suspended+Signal in LSA
/is_cancelled+
/is_cancellable+
Lockable device in path
Point flanking route
Logical line block
Opposing signal
/train_turned_back+
turnback-
*
1 route
signals in path*
1
rp from track elements
track elements in path
0..1 0..1
routeline block for route
*
1
route from opposing signals
opposing signals
0..10..1
releasing
providing
1
1
route from exit
exit signal
1
1route from entry
entry signal
*
1
track in activation zone
protecting point
1* assoc tvp subroute signal
*
1 route
TVPs in path
1
* provider
releaser
0..1 0..1prev next
*
1route from overlap
TVPs in overlap
1
1..*
main route tvp
route from main tvps
*
1
associated tvp
moveable element in route
* 1route from approach
approach track
1
0..1device in path
track from device
*
1
route
points in path
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Example: Railigent® on Locomotives
Railigent® makes intelligent use of rail data and allows rail operators to improve the return from their assets. Artificial intelligence and sophisticated data analytics are the key to achieve up to 100% availability, optimized maintenance and improved operations. Railigent gives better understanding of rail data, generates valuable information and get more out of the system.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland9
MO D E L S
1011
1001
011010101101000111011010
0010101101000111011001100110100111011010
101010110100
01101110
011010101
10100
0111011010
01101010101010110111
0010010111011010111011001111
00100101111010
01110
Management
Dispatcher
Maintenance engineer
Data visualizationData evaluationData processingData transmission
Connectivity Toolbox
MindConnect Rail
Advanced
algorithms
Expertise domain
Know-how
Best practises
Secure data transmission
from sensor to central
data storage
Powered by
MindSphere –
the underlying IoT
operating system
Railigent – the rail specific
solution and application suite Turning data into value and enabling Digital
Services solutions (Smart Monitoring,
Smart Data Analysis and Smart Prediction)
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Example: TH06 Helicopter Simulator
Full-Flight Simulator (EASA Level D) for the TH06 Super Puma transport helicopter to train the whole range of missions, including winch rescue, cargo flight and technical breakdowns (emergency situations). This saves fuel and avoids noise; normal procedures and dangerous situations can be trained safely and reproducibly.
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland10
MO D E L S
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Challenges
Technical Aspects■ Integration of multiple technologies from
different vendors
■ Validation of Digital Twin
■ Synchronization of Digital Twin and Original
– configuration management
– connectivity
■ Adequate cyber security
■ Assuring safety while evolving complexity
■ Identity & access management (IAM)
Management Aspects■ Lifecycle management of Digital Twin
■ Finding a feasible business case
■ Evaluate total cost of ownership
■ Governance of complex configurations
■ Ensure intellectual property
■ Consider legal aspects in a multi-stakeholder environment
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland11
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Opportunities
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland12
Design
• Refine requirements to reduce
engineering rework
• Simulate for acceptance,
verification & validation
• Allow for variant exploration
• Support/enable the evaluation of
change requests
Production
Monitor and optimize
• production equipment
• process parameters
• product quality
Retirement
• Opportunity to triage
parts for reuse or
recycle
• De-commissioning
based on recorded
history
Concept & Sales
Early simulation to
• identify opportunities
• elicit customer needs
• validate business cases
Utilization & Support
• Accelerate ramp-up by
• early training
• assisted configuration
• Preventive maintenance to
increase availability
• Increase operational
efficiency
S E
-
G
RO
U
P
ZH
S E
-
G
RO
U
P
ZH
Thank you for your attention!
© Copyright 2019
SE-Group ZürichThe Adventures of a Digital Twin in Systemsland13
M O D E L S
(and don't forget to take your handout)