Active Projects
Negret
Negret is a Rating and Charging Engine for Intelligent Networks Systems. Basically it will cover all types of Event and Session based rating in respect to Network Enablers, Network Operators, Franchise Systems.
The target of the project was to create a flexible engine and to bring in new functionality at runtime. The project is ongoing and in promising state.
As usual I haven't prepared many documents for public review but I'll try to create a presentation explaining the concept of Negret.
Recent Thoughts
Z
Formal Verification of Software is also an interesting topic. What if a compiler could proof whether a piece of software is not only syntactically valid but also works the way it was specified to?
One approach for such a language + compiler is Perfect Developer but I've never seen a more cluttered language. So it's really just an approach, there are so many different symbols changing the behaviour of the whole source, there must be a better solution.
I've started a paper on it and will publish it as soon as there is some outcome.
Spaced Based Computing
I've been attending a lecture regarding Space Based Computing. It has been quite interesting and for some reason I couldn't stop thinking about it. The concept is very elegant and the idea of communication via the environment (the container) is great, because it reflects our all days experience.
Lets examine the common approach:
In our pigheadedness most of our programs contain the concept of the listener. A component registers an event notification with another component, as soon as the event condition arrives all the components having registered to that event are notified. Now every component needs to request the data it has been waiting for.
Of course there are many varieties of implementing such systems and often they are need that way. But now lets talk about the natural approach One of the best comparisons I've ever heard around this topic is lecturing.
The lecturer is talking in front of the students, neither the students have to register being notified when he's gonna say something nor the lecturer talks to a specific student. He just talks, so the information is spreading in the room and every student who's interested in the topic will hear it. The information is just presented in the room and everyone who's interested just takes it.
That's the idea of Space Based Computing, you have a space where information is presented and the interested components take the information they want.
Our operations on a space are:
- read, reads information
- take, reads information and consumes it
- write
and everyone can handle that ;-)
Unfortunately current implementation either suck at representing control flow structures such as containers, maps, fifos or they really suck in performance. Either way it's not a good choice.
My idea was to develop a hardware bus abstracting the complex behaviour of a space to the basic operations presented above to optimize the speed. The most expensive operations within the existing software solutions is the data transfer, so my idea is partly based on GRID computing to enforce performance to split work to several hundreds of low cost devices. Ideally you'd use a specialized microprocessor like an ARM for that and link the hardware bus similar to ethernet controllers directly into the memory...