Tool support for semiautomatic modularization of existing code bases - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Tool support for semiautomatic modularization of existing code bases

Description:

Slide 10 ... Slide 11 ... Slide 12 ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 16
Provided by: doreen86
Category:

less

Transcript and Presenter's Notes

Title: Tool support for semiautomatic modularization of existing code bases


1
Tool support for semi-automatic modularization of
existing code bases
  • CBHPC 2009 (November 15th 2009, Portland)Robert
    Mischke, Doreen Seider, Andreas SchreiberGerman
    Aerospace Center (DLR) http//www.dlr.de/sc

2
Outline
  • What is the vision?
  • First step taken Tool support for semi-automatic
    modularization
  • Which steps are left?

3
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

4
In other words ...
Code B
Software Integration Framework
5
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

6
Software Integration Framework RCE
  • Deployment diagram

7
Excursus OSGi module concept
  • Module concept layer on top of the Java package
    module concept

OSGi Module Two
OSGi Module One
exported
exported
org.package.one
private
private
org.package.two
org.package.three
8
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/ecli
    pse/updates
  • Open Source (01/2010)

9
ModisKey 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

10
ModisModularization Workflow
Running source code analysis
Definition of modules
Elimination of cycles
Resolving invalid outbound dependencies
Resolving invalid incoming dependencies
11
ModisRealization
  • 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)

12
Modis Tree View
13
Modis - DSM
14
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

15
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

16
Questions?
Doreen.Seider_at_dlr.de
Write a Comment
User Comments (0)
About PowerShow.com