OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Granule-Oriented Programming"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 
  > Technical Program > Onward! > Rethinking Languages

 : Thursday

Granule-Oriented Programming

Ballroom C
Thursday, 8:30, 45 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Yinliang Zhao, Xi'an Jiaotong University

A program will become obsolete or lower effectiveness in solving domain problems due to many reasons. One main reason is because the program becomes unfitting to its context, which is defined as a sum of functionalities of all what support the program solving the domain problems, for instance, a runtime environment, meta-strategies in the domain, etc. This unfitting phenomenon exists in many complex systems, causing them premature end of their life cycle or a decrease in performance or accuracy in solving problems. In existing programming systems we pay little attention to unfitness of a program to its context, in language expressivity. Granule-oriented programming is an evolvement metaphor in which programs are ??ground?? into code ingredients in order to localize unfitting parts of a program as explicitly as possible, and then ??compound?? them into granular output code in which the code granulation space is formed. Code granulation space is an expression of a program in multiple-abstraction framework. The goal of building code granulation space for a program is to localize unfitness in a well-formed and multi-layered framework. In this paper, we propose and briefly describe the notion of granule-oriented programming.