Term "Configuration"

Mario Blazevic mab@ca.stilo.com
Wed Apr 30 13:42:02 2003


Brian T Rice wrote:

>On Thu, 24 Apr 2003, Mario Blazevic wrote:
>
>  
>
>>You can find the formal definition of the language at page 97 of the
>>MPOOL 2001 workshop proceedings
>>(http://www.fz-juelich.de/nic-series/Volume7/Volume7.html). As I said,
>>the definition is from a calculus angle, so you may have some problems
>>relating it to the OO terminology. But if you point me to a formal
>>definition of Slate, I can try to explain the idea in the formal method
>>of your choice.
>>    
>>
>
>Slate's not designed to be subjected to "formal methods" as a central
>point. Anyway, I read over GENS again (I recall reading on it some time
>ago) and it reminds me of Symmetric Lisp and both were part of my initial
>basis for Slate, which is history now.
>
    Few programming languages have a formal definition, and for good 
reason: it can be very hard to derive one. (In the case of Slate, my 
feeling is that its core semantics is simple enough to be formalized 
relatively easy). But when it's done, the process usually leads to 
unexpected positive side-effects. A formal definition is not useful only 
for theorem-proving.

    For example, you may find that a language feature is too complicated 
to express formally. So you try to simplify it at the formal level, and 
you find that slightly different semantics would be much simpler to 
formally express. You go back to implementation, modify it to conform to 
the new semantics, and you llike it better than the old one. This has 
happened to me a couple of times.

>Don't worry about explaining it. You basically speak in a different
>language from what most OOP users choose, and are mixing metaphors too
>easily without notifying the listener. (You may have noticed that I am
>also used to both terminologies, but it's absolutely useless to try to mix
>the two without mastering both first.)
>
    A colleague of mine claims that 80% of time in any intelligent 
discussion is lost in misunderstandings of other people's terminology. 
Sometimes I feel that his estimate is optimistic, especially in cases 
like Tunes when the discussion is about very abstract concepts. The only 
sure way to formulate an abstract concept is through a formal method 
well grounded in mathematics. It can be painful at first, but once it's 
done anybody able to read the formulation will be able to participate in 
the discussion.
    Take your term "configuration", for example: "some collection of 
objects and relationships which hold over them" is a good start, but it 
doesn't say if the relationships are a property of the configuration or 
of the objects. To put it in a half-formal way, can you express a 
configuration as a pair C = (O: set of objects, R: set of 
relationships)? If you take the first component O of the pair, the set 
of objects, can you derive R from O without the configuration C? Can you 
have two configurations C1 = (O, R1) and C2 = (O, R2) sharing the same 
objects but arranging them in different relationships?

-- 
Mario Blazevic
mblazevic@ca.stilo.com
Stilo Corporation

This message, including any attachments, is for the sole use of the
intended recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure, copying, or
distribution is strictly prohibited. If you are not the intended
recipient(s) please contact the sender by reply email and destroy
all copies of the original message and any attachments.