• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tool support for semi-automatic modularization of existing code bases
 

Tool support for semi-automatic modularization of existing code bases

on

  • 1,590 views

 

Statistics

Views

Total Views
1,590
Views on SlideShare
1,123
Embed Views
467

Actions

Likes
0
Downloads
1
Comments
0

4 Embeds 467

http://seider.us 398
http://doreen.seider.us 39
http://doreenseider.de 27
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tool support for semi-automatic modularization of existing code bases Tool support for semi-automatic modularization of existing code bases Presentation Transcript

    • Tool support for semi-automatic modularization of existing code bases CBHPC 2009 (November 15th 2009, Portland) Robert Mischke, Doreen Seider, Andreas Schreiber German Aerospace Center (DLR) – http://www.dlr.de/sc Slide 1 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Outline What is the vision? First step taken: Tool support for semi-automatic modularization Which steps are left? Slide 2 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Vision Situation Designing complex systems (spacecrafts, ships, …) requires numerical simulation codes Conducted in complex workflows Come from different disciplines Run on different hosts  Software integration frameworks provide simulation environment How do the codes get into the framework? Today: Mostly manually Vision: Automatically Slide 3 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • In other „words“ ... Code A Code C Code B Wrapper B Code A Code C Workflow Engine Data Management Resources API ... Software Integration Framework Slide 4 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Software Integration Framework RCE Used as a first reference framework Characteristics OSGi/Eclipse RCP Component-based, service-oriented Developed by German Aerospace Center (DLR) – http://www.dlr.de/sc Fraunhofer SCAI – http://scai.fraunhofer.de http://sourceforge.net/projects/rcenvironment Slide 5 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Excursus: OSGi module concept Module concept layer on top of the Java package module concept OSGi Module One OSGi Module Two exported exported org.package.one private private org.package.three org.package.two Slide 7 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Tool support for semi-automatic modularization Support for migration of unmodularized software into modules Limited at the moment to Programs written in Java OSGi modules (RCE components) Eclipse plugin: modis (modularisation support) Directly integrated in the Eclipse IDE Eclipse update site: http://rm.swprojects.org/eclipse/updates Open Source (01/2010) Slide 8 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Modis Key Concepts Definition of modules by the user Continuous validation of the module definition by modis Cycle detection Check wiring between modules Check dependency resolution Generation of the module descriptions by modis Slide 9 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Modis Modularization Workflow Running source code analysis Definition of modules Elimination of cycles Resolving invalid outbound dependencies Resolving invalid incoming dependencies Slide 10 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Modis Realization Backend Make use of ASTParser of Eclipse Java Development Tools Abstract Source Tree Dependencies of the whole programm ASTParser is backbone for all validation implementations Frontend Tree view Dependency Structure Matrix (DSM) Slide 11 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Modis – Tree View Slide 12 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Modis - DSM Slide 13 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Future Work Long-term Automatic integration Not limited to specified languages (codes) Not limited to specified target frameworks Out of reach at the moment Good guideline Slide 14 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Future Work Medium-term Support for („HPC“) languages like C, C++, Fortran Possible approach: cross-language model (AST) Pattern library for integration of non-Java languages into OSGi frameworks Wrapper generation based upon defined patterns Slide 15 CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009
    • Questions? Slide 16 Doreen.Seider@dlr.de CBHPC2009 > Doreen Seider > Tool support for semi-automatic modularization > 11/15/2009