re-modeling of complex software systems
DESCRIPTION
Re-Modeling of complex software systems. STRESS 2006 (18.-24.05.2006) Dortmund Christian Wagner. Structure. Structure: Project environment (DNW) Wind Tunnel Software – DeAs Software modeling tool jABC 3 approaches: Coarse level modeling Modelling of basic libraries Workflow modeling - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/1.jpg)
Christian Wagner
Re-Modeling of complex software systems
STRESS 2006 (18.-24.05.2006) Dortmund
Christian Wagner
![Page 2: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/2.jpg)
Christian Wagner
Structure
Structure:• Project environment (DNW)• Wind Tunnel Software – DeAs• Software modeling tool jABC• 3 approaches:
– Coarse level modeling– Modelling of basic libraries– Workflow modeling
• Conclusion and future prospects
![Page 3: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/3.jpg)
Christian Wagner
Transonic Wind Tunnel Göttingen(DNW-TWG)
![Page 4: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/4.jpg)
Christian Wagner
The existing software system - DeAs
![Page 5: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/5.jpg)
Christian Wagner
DeAs environment
![Page 6: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/6.jpg)
Christian Wagner
Application structure
![Page 7: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/7.jpg)
Christian Wagner
Coarse level modeling
• Application level modeling with Java Application Building Center
• Rebuild a coarse granular flow from existing code– Inspecting the code– Group important blocks– Tracing the graph should act like the real system
• Combining original code and graph• Problem: the existing system is written in C++ and jABC
in Java• Solution: Java Native Mechanism
![Page 8: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/8.jpg)
Christian Wagner
Coarse level modeling
![Page 9: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/9.jpg)
Christian Wagner
Coarse level modeling
/*
* main for project Ap_an
*/
JNIEXPORT jstring JNICALL Java_aero_dnw_prototype_deas_apan_Ap_1an__1C_1Ap_1anImpl
(JNIEnv *env, jobject myclass)
{
Icon base_frame_image;
Benutzer hilfBenutzer;
...
/*
* main for project Ap_an
*/
int
main (int argc, char **argv)
{
Iconbase_frame_image;
Benutzer hilfBenutzer;
...
Original code JNI-method call
![Page 10: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/10.jpg)
Christian Wagner
Modelling of basic libraries
• A step into the real code• Modeling of important parts is not enough, because the
granularity is not fine enough to re-model different parts of a system
• First approach: is to generate Building Blocks for every atomic library function and the to combine this basic parts to applications or components– Using the existing code– Combining existing code and jABC with Java Native
• Ca. 400 functions, but most of them are not used
![Page 11: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/11.jpg)
Christian Wagner
Modelling of basic libraries
TWG HDG HDG
![Page 12: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/12.jpg)
Christian Wagner
Workflow modeling
• Combining the first two approaches– The coarse approach not fine enough– The basic library approach turns out to be too fine
• Rebuild the code in a Control Flow Graph– group all parts in the code which belongs to the same
functionality and domain, like GUI- or Input/Output-functions– Transfer control structures from the original code to the
constructed flow graph
• Outputs: – Detailed overview over the traces in the system– Easy the see the appearance of functions (how often, situation)– By-product: documentation of the system
![Page 13: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/13.jpg)
Christian Wagner
Workflow modeling
![Page 14: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/14.jpg)
Christian Wagner
Workflow modeling
![Page 15: Re-Modeling of complex software systems](https://reader036.vdocument.in/reader036/viewer/2022062810/56815d82550346895dcb8f87/html5/thumbnails/15.jpg)
Christian Wagner
Conclusion
• Coarse level modeling– Coarse granular approach– The level is unsuitable for system re-design
• Modeling of basic libraries– Bottom-up analysis– Overhead through unused methods
• Workflow modeling– Combining the first approaches– Generate Workflows from existing code
• Current work:– Automatic workflow generation from code
– In order to avoid errors– In order to ensure completeness
• Future goal: – Use jABC to extend and modernize different parts of the existing system