On Fri, Feb 08, 2002 at 07:08:54PM -0500, Rocco Caputo wrote:
> On Fri, Feb 08, 2002 at 10:55:09PM +0100, [EMAIL PROTECTED] wrote:
> > On Fri, Feb 08, 2002 at 03:33:23PM -0500, Rocco Caputo wrote:
> > > 
> > > == Inheritance and aggregation. ==
> > > 
> > > We'll have no end of trouble doing practical things in an object
> > > system that doesn't cleanly support ways to combine objects.
> > > 
> > > I've begun compiling a list of pattern inheritance and combining
> > > patterns as I come across them.  Hopefully some clean patterns will
> > > emerge from those notes.  It's slow work, and it could use input from
> > > more people.
> > 
> > I would suggest taking a look at the UML notitian. I is not perfect and not
> > the only model, but it is quite popular, a lot of people work on and with
> > it and it is still being improved.
> 
> [...]
> 
> That's a good suggestion.  I don't want to tie POE to a particular -ML
> though.  Ideally, people should use their favorite -ML, even if that's
> just raw Perl code.

Most ML should be formally specified, and the features should be at least
similar as they would have been chosen to describe objects. So I think
it should be possible to transform other notations to UML or whatever is
selected. There should be consensus on the features, though.

Reverse engineering UML from syntax is possible, but one would need to
parse perl and compute what could accessed and how often and ...
/me shivers.

I heard people complaining that POE would call objects sessions. And would
have yet another terminology. People being able to decide wether they
get used to the POE terms or UML (the basics are not much actually)
would be a good things I guess.

I guess I'll take a look at this.

> I think "distributed" could mean the same program running on many
> machines, each taking an identical part of a larger task.  I think of
> seti@home and the RC5 cracking projects.
> 
> I also think it can mean running different programs on many machines,
> each program doing a different task.  Data is passed from one machine
> to the next as it flows through a complex process.  I think of web
> servers where the content database is on one machine and the web
> server is on another.

The same instance of a program running on different machines or threads,
but looking to the developer/user like a single logical (multi-threaded)
program would be really cool. Enables you to build real application level
clusters in less time but with all the fine stuff like load-balancing,
shared data, ...

POE Sessions are already quite independent from the process/program
beneath. So taking it a step further is easier than for normal Perl
programs. Example: Developers using locks etc. to ensure synchronised
access to data vs. using transactions to actually declare atomicness
for actions. If we get this step and give up some beloved constraints
we can actually declare directly what we want. (for example one needs
to get used to OOP but in the end it makes code clearer).

The division of solution (aka program) and configuration / resource
assignment would be enother aim.

> > is there a need to properly proof what i'm talking about? because sometimes
> > i got the feeling that i cant transform all my thoughts into clear english
> > text that everyone understands. if there should be a test candidate POE::NFA
> > would be perfect :) so if my mails sound crappy and off-topic to you, please
> > tell me.
> 
> That might help a lot.  Speaking for myself, I think there's a
> definite need for people to explain their reasoning.  It takes me
> weeks, if not months to figure out when someone has a good point when
> they do explain themselves.  Think of how long it would take if they
> don't.
> 
> Sometimes when I come across someone as dense as me, I take some time
> to write out sample code to show what I mean.  Sometimes code gets a
> message across where words don't.  If the code illustrates some
> hypothetical thing, it doesn't even need to run.

Well I promise I will try to produce more examples and even code :)


Torvald

Reply via email to