[Cuis] System-StartUp-ShutDown

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Cuis] System-StartUp-ShutDown

keith1y
I have implemented a new implementation of the StartUpList and  
ShutDownList protocol. This is the type of sacred code that will be  
the most difficult to change and maintain between forks. I have always  
thought it could be simplified. My implementation is just an idea, to  
show the following concept.

This code is packaged, as three files containing all the knowledge  
needed to adopt it into your fork.

1. The implementation, (generated by  
PackagingCuis>>pkgSystemStartUpShutDown: 1)
2. The ChangeSet for integration into Cuis2.0
3. A ChangeSet for removal of the old cruft from Cuis2.0.

This should allow all forks to load file 1. without it effecting their  
code base, for testing and review. Then by inspecting the change list  
in file 2, they see how Cuis2.0 integrated it, picking the appropriate  
methods, and finally, they will need their own version of 3, until  
this protocol makes it into the mainstream of that fork.

File 3, is only applied once, File 2, you maintain your own local  
version, and File 1, you can then track the maintained version, in  
case there are any updates or fixes.

This is currently available in the "unstable" build of the  
InstallStream process for Cuis.

cheers

Keith
====
to get started - join https://launchpad.net/~rodents

mkdir trunk; cd trunk
bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app
bzr checkout --lightweight lp:~rodents/cuis/base
bzr branch lp:~rodents/cuis/release
bzr branch lp:~rodents/cuis/stable
bzr branch lp:~rodents/cuis/unstable
./unstable/build.sh


Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] System-StartUp-ShutDown

Andreas.Raab
Hi Keith -

That sounds great. Any chance you can provide URLs for these files so
that we can actually download and look at it?

Cheers,
   - Andreas

keith wrote:

> I have implemented a new implementation of the StartUpList and
> ShutDownList protocol. This is the type of sacred code that will be the
> most difficult to change and maintain between forks. I have always
> thought it could be simplified. My implementation is just an idea, to
> show the following concept.
>
> This code is packaged, as three files containing all the knowledge
> needed to adopt it into your fork.
>
> 1. The implementation, (generated by
> PackagingCuis>>pkgSystemStartUpShutDown: 1)
> 2. The ChangeSet for integration into Cuis2.0
> 3. A ChangeSet for removal of the old cruft from Cuis2.0.
>
> This should allow all forks to load file 1. without it effecting their
> code base, for testing and review. Then by inspecting the change list in
> file 2, they see how Cuis2.0 integrated it, picking the appropriate
> methods, and finally, they will need their own version of 3, until this
> protocol makes it into the mainstream of that fork.
>
> File 3, is only applied once, File 2, you maintain your own local
> version, and File 1, you can then track the maintained version, in case
> there are any updates or fixes.
>
> This is currently available in the "unstable" build of the InstallStream
> process for Cuis.
>
> cheers
>
> Keith
> ====
> to get started - join https://launchpad.net/~rodents
>
> mkdir trunk; cd trunk
> bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app
> bzr checkout --lightweight lp:~rodents/cuis/base
> bzr branch lp:~rodents/cuis/release
> bzr branch lp:~rodents/cuis/stable
> bzr branch lp:~rodents/cuis/unstable
> ./unstable/build.sh
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] System-StartUp-ShutDown

keith1y
Sorry it helps if I push them to the server...

http://bazaar.launchpad.net/~rodents/cuis/unstable/files/head%3A/

Keith

>> to get started - join https://launchpad.net/~rodents
>> mkdir trunk; cd trunk
>> bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app
>> bzr checkout --lightweight lp:~rodents/cuis/base
>> bzr branch lp:~rodents/cuis/release
>> bzr branch lp:~rodents/cuis/stable
>> bzr branch lp:~rodents/cuis/unstable
>> ./unstable/build.sh
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] System-StartUp-ShutDown

keith1y
Hi everyone,

What would you name the class which controls the "System", in terms of  
startUp/shutDown and saving the image, if you pulled that  
functionality out of Smalltalk? (Don't tell me, SmalltalkImage?)

I called it System, for now, SystemControl ?

Do we prefer a class side or instance side implementation?

System current startUpList

or

System startUpList.

Keith

 

Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] System-StartUp-ShutDown

K. K. Subramaniam
On Wednesday 03 February 2010 04:03:50 pm keith wrote:
> What would you name the class which controls the "System", in terms of  
> startUp/shutDown and saving the image, if you pulled that  
> functionality out of Smalltalk? (Don't tell me, SmalltalkImage?)
I like the Newspeak plainspeak ;-) for it - Platform.

Subbu

Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] System-StartUp-ShutDown

Andreas.Raab
In reply to this post by keith1y
keith wrote:
> What would you name the class which controls the "System", in terms of
> startUp/shutDown and saving the image, if you pulled that functionality
> out of Smalltalk? (Don't tell me, SmalltalkImage?)

StartupMananger. Class comment:

I am responsible for managing a registry of classes that are notified on
system startup and shutdown. Classes register themself by providing a
priority denoteing how early they should be started. Known priorities are:

xxx - Used by Delay. Should be the first class to start since otherwise
none of the timeing functions will work.
(... more to come ...)

Cheers,
   - Andreas