Aspect Oriented Separation of Control Flow Concerns in












- Slides: 12
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 Control flow
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 4
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 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 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 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. § 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 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
12