Yep.

Cheers,

Alan




>________________________________
>From: David Barbour <[email protected]>
>To: Fundamentals of New Computing <[email protected]>
>Sent: Wednesday, September 7, 2011 1:50 PM
>Subject: Re: [fonc] Tension between meta-object protocol and encapsulation
>
>
>On Wed, Sep 7, 2011 at 12:48 PM, Casey Ransberger <[email protected]> 
>wrote:
>
>It seems to me that there is tension here, forces pulling in orthogonal 
>directions. In systems which include a MOP, it seems as though encapsulation 
>is sort of hosed at will. Certainly I'm not arguing against the MOP, it's one 
>of the most powerful ideas in programming. For some things, it seems 
>absolutely necessary, but then... there's the abuse of the MOP. 
>>
>>
>>Is this tension irreconcilable?
>
>
>There are patterns for meta-object protocol that protect encapsulation (and 
>security). 
>
>
>Gilad Bracha discusses capability-secure reflection and MOP by use of 
>'Mirrors' [1][2]. The basic idea with mirrors is that the authority to reflect 
>on an object can be kept separate from the authority to otherwise interact 
>with the object - access to the MOP is not universal.
>
>
>Maude's reflective towers [3] - which I feel are better described as 'towers 
>of interpreters' - are also a secure basis. Any given interpreter is 
>constrained to the parts of the model it is interpreting. By extending the 
>interpreter model, developers are able to achieve ad-hoc extensions similar to 
>a MOP.
>
>
>These two classes of mechanisms are actually quite orthogonal, and can be used 
>together. For example, developers can provide frameworks or interpreters in a 
>library, and each interpreter 'instance' can easily export a set of mirror 
>capabilities (which may then be fed to the application as arguments). 
>
>
>[1]  Mirrors: Design Principles for Meta-level Facilities of Object-Oriented 
>Programming Language. Gilad Bracha and David 
>Ungar. http://bracha.org/mirrors.pdf
>[2] The Newspeak Programming 
>Platform. http://bracha.org/newspeak.pdf (sections 3,4).
>[3] Maude Manual Chapter 11: Reflection, Metalevel Computation, and 
>Strategies. http://maude.cs.uiuc.edu/maude2-manual/html/maude-manualch11.html
>
>
>We can use power responsibly. The trick is to control who holds it, so that 
>power is isolated to the 'responsible' regions of code.
>
>
>Regards,
>
>
>Dave
>
>
>_______________________________________________
>fonc mailing list
>[email protected]
>http://vpri.org/mailman/listinfo/fonc
>
>
>
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to