Title: Kein Folientitel
 1Reengineering an Ada95-programmed Command and 
Control Information System by Using UML
Heinz Faßbender Research Establishment for 
Applied Sciences Research Institute for 
Communication, Information Processing, and 
Ergonomics E-Mail Address fass_at_fgan.de 
 2Contents
- Structure of the existing system 
 - Why UML? 
 - INFIS Reengineering Process 
 - High-Level Architecture 
 - Low-Level Architecture 
 - Combination of High-/Low-Level Models 
 - Dynamic Model 
 - Requirements Model 
 - Conclusion 
 
  3INFIS
- experimental integration platform for C2 
information systems  - test bed for the German part in the context of 
the ATCCIS (Army Tactical Command and Control 
Information System) study and MIP (Multilateral 
Interoperability Programme)  - platform independent access 
 
  4INFIS Global Architecture 
- consists of finitely many domains
 
  5Kernel
-  selfdefined annotation 
 -  difficult to understand 
 -  no automatic codegeneration
 
  6Why UML?
- UML  Unified Modeling Language 
 - understood by most of other interesting people 
 - nearly formal meaning 
 - standardized by Object Management Group 
 - automatic Code Generation by CASE-Tools 
 
UML 
 7INFIS Reengineering Process
INFISwithout UML-model
UML-models of INFIShigh-level structures
Manually modelling INFIShigh-level structures
Automatically reengineering INFISlow-level 
structures with StP/UML
Separate UML-models of INFIS high-/low-level 
structures 
Manually combining INFIS high-/ low-level 
structures
Static UML-model of INFIS
Manually modelling INFISdynamic behaviour
Static and Dynamic UML-model of INFIS 
 8INFIS Reengineering Process (2)
Extract and model requirements
Requirements Model
Redesign of System
Redesigned Model
New requirements
Code generation  reimplementation
Reengineered System 
 9UML-Model of INFIS Global Architecture 
(High-Level)
INFIS
1..
Domain
1..
Data Base
Subsystem
Handler
0..
0..
DBS
DBSD
Kernel
DBAP
GUI 
 10UML-Model for a Kernel (High-Level) 
 11Inheritance Tree (Low-Level)
automatically produced by reengineering component 
of CASE-Tool Software through Pictures / UML 
 12Detailed UML-Model (Low-Level)
- automatically produced by reengineering component 
of CASE Tool Software through Pictures / UML 
  13 Combination of UML-Models of High-/Low-Level 
Structures 
 14Dynamic Model (Sequence Diagram)
Data Base
Application
Session
Control
User
Control
GUI
Control
start application
Application
start application
start application
start application
name of template
name of template
get information about template
send information about template
send information about template
send information about template
display template
display template
display template
template displayed
template displayed
template displayed
writing permission
writing permission
writing permission
notification
input
input data
input data
input data
application specific behaviour 
 15Requirements Model
- Extract requirements from the models 
 - Model requirements in use case diagrams
 
  16How to continue?
- Redesign the complete system, such that only the 
application level has to be extended in further 
extensions Build your own application server  - Use new techniques and buy an application 
server Java 2 Enterprise Edition 
  17INFIS Reengineering Process (2)
Extract and model requirements
Requirements Model
Redesign of System
Redesigned Model
New requirements
Code generation  reimplementation
Reimplemented System 
 18Conclusion
- UML-model of INFIS 
 - documentation of the system, readable by new 
developers  - extraction of requirements 
 - decision for new implementation