1 / 15

Re-Modeling of complex software systems

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

joyce
Download Presentation

Re-Modeling of complex software systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Re-Modeling of complex software systems STRESS 2006 (18.-24.05.2006) Dortmund Christian Wagner

  2. 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

  3. Transonic Wind Tunnel Göttingen(DNW-TWG)

  4. The existing software system - DeAs

  5. DeAs environment

  6. Application structure

  7. 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

  8. Coarse level modeling

  9. Coarse level modeling Original code JNI-method call /* * 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) { Icon base_frame_image; Benutzer hilfBenutzer; ...

  10. 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

  11. Modelling of basic libraries TWG HDG HDG

  12. 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

  13. Workflow modeling

  14. Workflow modeling

  15. 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

More Related