30 Sep 2015

Aspect Oriented Programming

cited 900+ local copy

… procedural programming, structured programming, functional programming, logic programming, and programming with abstract data types. Each of these steps in programming technology has advanced our ability to achieve clear separation of concerns at the source code level. … objects abstract together behavior and data into a single conceptual (and physical) entity. Object-orientation is reflected in the entire spectrum of current software development methodologies and tools …

Object technology has difficulty localizing concerns involving global constraints and pandemic behaviors.

example of post-object programming (POP) technologies include domain-specific languages, generative programming, generic programming, constraint languages, reflection and meta-programming, …, views/viewpoints, and asynchronous message brokering (survey Generative programming: methods, tools, and applications)

(historically) late 1980s, the filter principle was developed to express a generic data abstraction mechanism. This was extended to represent various types of concerns such as multiple views, synchronization, interobject communication and real-time specifications in a composable way.

reference

2 Czarnecki, K. and Eisenecker, U.W. Generative Programming: Methods, Tools, and Applications. Addison Wesley, Boston, 2000. (cited 3k+)

4 Parnas, D.L. On the criteria to be used in decomposing systems into modules. Commun. ACM 15, 2 (Feb. 1972). Cited by 5550, 2015/10/01 23:56:37

http://infolab.stanford.edu/pub/gupta/1995/GM-debull95.ps