180 likes | 289 Views
Reengineering 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@fgan.de. Contents.
E N D
Reengineering 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@fgan.de
Contents • 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
INFIS • 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
INFIS’ Global Architecture • consists of finitely many domains
Kernel • selfdefined annotation • difficult to understand • no automatic codegeneration
Why 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
INFIS’ Reengineering Process INFISwithout UML-model UML-models of INFIS‘high-level structures Manually modelling INFIS‘high-level structures Separate UML-models of INFIS‘ high-/low-level structures Automatically reengineering INFIS‘low-level structures with StP/UML Manually combining INFIS‘ high-/ low-level structures Static UML-model of INFIS Manually modelling INFIS‘dynamic behaviour Static and Dynamic UML-model of INFIS
INFIS’ Reengineering Process (2) Extract and model requirements Requirements Model Redesign of System Redesigned Model New requirements Code generation + reimplementation Reengineered System
UML-Model of INFIS’ Global Architecture (High-Level) INFIS 1..* Domain 1..* Data Base Subsystem Handler 0..* 0..* DBS DBSD DBAP Kernel GUI
Inheritance Tree (Low-Level) automatically produced by reengineering component of CASE-Tool Software through Pictures / UML
Detailed UML-Model (Low-Level) automatically produced by reengineering component of CASE Tool Software through Pictures / UML
Dynamic 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
Requirements Model • Extract requirements from the models • Model requirements in use case diagrams
How 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
INFIS’ Reengineering Process (2) Extract and model requirements Requirements Model Redesign of System Redesigned Model New requirements Code generation + reimplementation Reimplemented System
Conclusion UML-model of INFIS • documentation of the system, readable by new developers • extraction of requirements • decision for new implementation