dmartin's blog

Capturing Model Semantics with Dynamic Aspects

A couple of week ago I found an article about the Liskov Substitution Principle and the unavoidable reference to the circle/ellipse or square/rectangle problem.

I looked to the different solutions in the wikipedia page and I though than that was actually one of the "semantic problems" computers does not face very well. So I spend sometime thinking about this and my conclusion was that the solution will depend on the intended use of the classes in a given application or model.

Then I'd got the idea of using AOP and dynamic inheritance to implement the semantics for a given application as an orthogonal feature, keeping the class hierarchy as isolated as possible. In other words, to extend a given model with aspects that encapsulates the semantics behind it.

So, I tried to implement this idea using GNU/EDMA

NetKitty in Savannah

We have registered NetKitty in Savannah in order to make more easy the distribution of new releases and keep the sources under git.

For now we are just using the FTP and the git repository... maybe the mailing list will be interesting in the future

GNU/EDMA Version 0.18.0 is out!

It took a bit more than expected but GNU/EDMA 0.18.0 is out. If you're curious you can download it here.

emerald... Shared Memory Ownership

GNU/EDMA uses shared memory to keep its core classes repository. Using shared memory makes thinks like run-time installation and hotswap easier.

However, GNU/EDMA has had a problem because that from the very beginning... shared memory ownership. Whenever you create a shared memory block, that block belongs to the user that created it, and therefore, only that user (or root) can delete it.

There are three main ways to deal with this issue.

GNU/EDMA Run-Time Class Install and Object Hot Swap

After a short pause this weekend I come back to GNU/EDMA. I'm working to produce a stable version and I will comment in this blog my unofficial progress. For official news check Savannah.

What I would like to show you is the object hot swap capabilities of the system. Such feature has been there for a while, but what is new, is that now the update scripts can be wrote in Python :). Check the image below

NetKitty successful tales

Yes, believe it or not, that small program has been one of the most useful applications I've ever used. I will tell you about the latest situations I used NetKitty (version 1.7-RSO :), and how it helped.

NetKitty 1.4 with Papermint Designs Logo

NetKitty 1.4 has just been released with new and exciting features (BlueTooth support, shell mode, etc...). This cute tool features a nice logo created by the Papermint Designs Team.

Thanks a lot for this great work!

dmartin

Syndicate content