Aspect Oriented Separation of Control Flow Concerns in

  • Slides: 12
Download presentation
Aspect Oriented Separation of Control Flow Concerns in Scientific Software Chenchen Xi CNC Supervisor:

Aspect Oriented Separation of Control Flow Concerns in Scientific Software Chenchen Xi CNC Supervisor: Prof. John R. Gurd Advisor: Dr. Len Freeman Prof. Brian Warboys

Aspect Oriented Separation of Control Flow Concerns in Scientific Software Aspect Oriented Scientific Software

Aspect Oriented Separation of Control Flow Concerns in Scientific Software Aspect Oriented Scientific Software Control flow

Motivation v Scientific software has become more complex. § Performance is critical for solving

Motivation v Scientific software has become more complex. § Performance is critical for solving scientific problems. § Modification and optimization of the control flow can enhance the performance of the computations. [Collins, 2004] § Software engineering techniques are needed to manage this complexity. [Mc. Gregor, 2006] v The goal of separation of concerns. § define and maintain crosscutting concerns of a system’s behaviour as separately as possible. § modularization of scientific software such as maintainability, reusability should be improved to better deal with computational changing or updating. [Miller, 2004] Chenchen Xi / CNC 3

Crosscutting Concerns <<Aspect>> at every orange place { do --------} Chenchen Xi / CNC

Crosscutting Concerns <<Aspect>> at every orange place { do --------} Chenchen Xi / CNC 4

Hypotheses v Scientific software complexity can be reduced by solving the problem of code

Hypotheses v Scientific software complexity can be reduced by solving the problem of code tangling v Control flow concerns are crosscutting concerns in scientific software that cause the problem of code tangling v Separation of control flow concerns can reduce those complexity and thus improve modularization of scientific software such as maintainability, reusability Chenchen Xi / CNC 5

Separating control flow concerns v Separating control flow concerns from the base algorithm can

Separating control flow concerns v Separating control flow concerns from the base algorithm can gain performance benefit § Treat loops as aspects [ Harbulot and Gurd, 2006] § Treat synchronized block as aspects [ Xi, 2006] v This approach allows a simpler development life cycle § Develop a simplified version of the algorithm § Develop a number of control flow strategies for different machines, architectures or platforms Chenchen Xi / CNC 6

Objective and Aims v Create control flow aware aspect oriented framework based on a

Objective and Aims v Create control flow aware aspect oriented framework based on a high-level program representation v Aims § Formalise a control flow aspect machine § Integrate control flow aspects into Aspect. J § Formalise high-level control flow concern description § Evaluate the control flow aware aspect oriented framework with experiments Chenchen Xi / CNC 7

Methodology v Investigate framework creation § four target control flow statements § Identify problems

Methodology v Investigate framework creation § four target control flow statements § Identify problems from literature § Identify control flow concerns § Investigate solutions for the identified issues § Investigate representation for control flow concerns § Propose solution v Implement the investigated framework Chenchen Xi / CNC 8

Achievements to date v Previous research § synchronized block join point v Background knowledge.

Achievements to date v Previous research § synchronized block join point v Background knowledge. § Crosscutting concerns § Aspect oriented programming v Related work. § Existing technique and approach v The first attempt. § Block join point 9

Evaluation v Characteristics of interest § Understandability § Maintainability § Reusability § Testability v

Evaluation v Characteristics of interest § Understandability § Maintainability § Reusability § Testability v Software Metrics § Import C&K metrics from Object Oriented software development [Clarke et. al, 2004] § Use Concern Fencing Index for Aspect Oriented area [Kaewkasi, 2006] Chenchen Xi / CNC 10

Future Plan Chenchen Xi / CNC 11

Future Plan Chenchen Xi / CNC 11

12

12