Lambda the Ultimate

inactiveTopic Towards a new model of abstraction in the engineering of software
started 6/8/2003; 9:28:45 AM - last post 6/8/2003; 5:33:56 PM
Manuel Simoni - Towards a new model of abstraction in the engineering of software  blueArrow
6/8/2003; 9:28:45 AM (reads: 1323, responses: 2)
Towards a new model of abstraction in the engineering of software
Talk on Open Implementations by Gregor Kiczales, 1994 - 60 mins, Windows Media Player only.

Aspect Oriented Programming has its roots in Open Implementations / Meta Object Protocols. A MOP lets clients override parts of an implementation to better suit their needs (e.g. memory allocation strategy for objects.) The talk proposes that instead of hiding implementation details, control over "mapping dilemmas" should given to application programmers.

To recover the overhead introduced by opening the innards of the system, Kiczales proposes partial evaluation and code memoization at runtime.

Kiczales' advise to framework/library implementors is "if you can't conquer, at least divide".

Listener: "Is there a restriction that says that meta code isn't allowed to change the behavior of interface code?" Kiczales: "It's really nice if you don't make that restriction, but that freaks people out." (laughter)

A related paper was previously mentioned, and there's also a newer talk on AOP. (Also: AOP discussion on LtU.)
Posted to Software-Eng by Manuel Simoni on 6/8/03; 9:34:20 AM

andrew cooke - Re: Towards a new model of abstraction in the engineering of software  blueArrow
6/8/2003; 10:55:06 AM (reads: 477, responses: 0)
i'm deeply unimpressed with the compression on these lectures. i thought video compression was supposed to be progressive these days - why don't slides get clearer as they spend longer on my screen instead of creeping around?

[stupid comment deleted - it's just dawned on me what "time base compression" means]

andrew cooke - Re: Towards a new model of abstraction in the engineering of software  blueArrow
6/8/2003; 5:33:56 PM (reads: 444, responses: 0)
I've been watching these lectures all afternoon. There's one at http://murl.microsoft.com/videos/uw/DistinguishedLecturer0102/JPearl_OnDemand_100_256K_320x240.htm that's very interesting. It discusses a way of including causality in logical reasoning. There's a related book: http://bayes.cs.ucla.edu/BOOK-2K/book_review.html http://www.amazon.com/exec/obidos/tg/detail/-/0521773628/

One thing that crossed my mind will watching the lecture was that this could be useful for reasoning about programs that contain mutable state. You might be able to use it, for example, to construct appropriate models of code local to some particular point in a program and so implement a "declarative debugger" for imperative programs.