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.