+ All Categories
Home > Documents > Re-Modeling of complex software systems

Re-Modeling of complex software systems

Date post: 11-Feb-2016
Category:
Upload: joyce
View: 46 times
Download: 1 times
Share this document with a friend
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 Presentation
15
Christian Wagner Re-Modeling of complex software systems STRESS 2006 (18.-24.05.2006) Dortmund Christian Wagner
Transcript
Page 1: Re-Modeling of complex software systems

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

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

Christian Wagner

Transonic Wind Tunnel Göttingen(DNW-TWG)

Page 4: Re-Modeling of complex software systems

Christian Wagner

The existing software system - DeAs

Page 5: Re-Modeling of complex software systems

Christian Wagner

DeAs environment

Page 6: Re-Modeling of complex software systems

Christian Wagner

Application structure

Page 7: Re-Modeling of complex software systems

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

Christian Wagner

Coarse level modeling

Page 9: Re-Modeling of complex software systems

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

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

Christian Wagner

Modelling of basic libraries

TWG HDG HDG

Page 12: Re-Modeling of complex software systems

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

Christian Wagner

Workflow modeling

Page 14: Re-Modeling of complex software systems

Christian Wagner

Workflow modeling

Page 15: Re-Modeling of complex software systems

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


Recommended