Skip to main content

CLDC Compliance

4 replies [Last post]
faslam
Offline
Joined: 2008-01-19
Points: 0

Hi,

I do not know where to ask this question, that is why I am posting it here. I hope someone can point me to right direction.

We have a JVM that support now 5 different kind of very small embedded devices and all most all of the Java bytecode instruction set. We also support around 80% of CLDC libraries classes and working to support 100%.

We want to test our JVM for CLDC compliance as we are aiming to get CLDC compliance one day soon.

Is there any test cases or free software available that we can use for checking CLDC compliance? How can one apply and get CLDC compliance?

We know we still have to go long way but we want to check what is missing in our JVM from being a CLDC compliant JVM so that we can target it.

Looking for your reply. Thanking you in anticipation.

Faisal

Message was edited by: faslam

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
eric_arseneau
Offline
Joined: 2004-07-15
Points: 0

So you want is to help a competitor!!! Wow :)

Joking aside :) I can tell you now that getting a VM to be fully compliant is not an easy task. We had a fully running VM with 100% API and 100% bytecodes, and it still took us the better part of 3 months to make it work. One very problematic area is floating point support. But if you could for CLDC 1.0 which does not have floating point, its easier.

As far as open source test tools, that's a big one. The tool itself is open source, to run the TCK, but the TCK itself is not. Sun makes money off of the TCK and the Java brand that comes with it. Its not that expensive to get the license to get the TCK, its around 80K (can't quote me on that, I will likely get shot for sharing that) depending on the deal. But then again not much money is all relative :)

Any reason why Squawk may not fit your needs? It seems to me that if we can share our work together that the both of us could greatly benefit. Not forgetting the fact that compliance could come for "free" as we would take care of the compliance.

I know Squawk is bigger than it should be at the moment, but we have some stuff in the pipeline to work on this. The targets we are working on now are much smaller than the Sun SPOT.

Also, we add features that I think developers will find VERY appealing. Take into account the news I just put out, that you can now write Java 5 syntax based code for these small devices. This means annotations, Enums, for loops and so on.

Hope this helps and dont hesitate to ask more questions, we will do what we can to answer them.

faslam
Offline
Joined: 2008-01-19
Points: 0

Dear Eric Arseneau,

Thanks for your reply.

80K? We cannot spend even 5K on it. Our project is mostly self-funded. Hence it is written more using motivation and hard work then any money. If this much money is involved then we might have to say good bye to CLDC compliance even though we have now nearly fully functional JVM after two long years of hard work. Is there any other way that does not involve money? We are ready to work third year for CLDC compliance.

We would love to work with SUN. In fact you have offered me twice to working with SUN and have a conversation on emails too. However, you forgot to follow it later on. We might have been improving Squawk instead of starting independent development of new JVM, if our email conversation dated back to December 2007 was fruitful. We have been developing day and night since Dec 2007. If you are seriously interested then you please call me anytime and we will discuss status of our JVM with you. We will be happy to talk with you.

The platforms we are supporting currently include Crossbow-mica2/micaz, Crossbow-telosb and Sentilla-JCreate. They have from 4-10 KB of RAM and from 48-128 KB of flash. Unfortunately Sun Squawk is no way near to those small sizes.

For example, currently, we run Dymo routing protocols completely written in Java on a Crossbow-mica2 that has only 4 KB of RAM. This only 4KB of RAM is used for radio/serial drivers, JVM itself, C stack and by the Java program. We are now thinking to write an application over it using rest of memory left from 4KB of RAM.

--
best regards,

Faisal Aslam
Ph.D. Candidate
University of Freiburg, Germany
http://cone.informatik.uni-freiburg.de/people/aslam/

.

Message was edited by: faslam

eric_arseneau
Offline
Joined: 2004-07-15
Points: 0

I apologize, yes we have had discussions and they have not been very fruitful due to my being overloaded. The interest is there believe me, you can keep pushing :) You have access to ALL my work, I have access to none of yours :) If you have ideas or suggestions, make them here and we can get others involved.

I have been VERY bad at being organized and lost track of many contacts over the past couple of years. I have been working very hard to change this and be better at keeping threads going. You have to understand that I am stuck doing management, marketing, cheerleader AND software engineering. I do non-coding during day, and coding nights and weekends, even though I only get paid for the day part :(

This is one advantage I see is that if we can work together, then we can handle the TCK side of things. And then you end up with a compliant technology that you can use :)

Squawk is not as far as you think from the flash size. The RAM is a little tighter than we like, but things can be done there.

We are targeting 128K flash, although we run comfortably in 256 at the moment.

faslam
Offline
Joined: 2008-01-19
Points: 0

Dear Eric Arseneau,

I totally understand what you are saying and know that it is not your bad. I have great respect for you and SUN.
We have not yet released our JVM because we still have few bugs and few more things we want to do. We hope we could make it available to everyone in next few months.

We want to share all the things with you that includes what have done and want to do in future. We have no secret, from another open-source project. We hope with our discussions we could learn few things and Squawk could be also improved.

I want to discuss with you our offline Garbage collection idea.
The online garbage collection produce a delay at run-time (stop-the-world) and required either excessive RAM or computation. These things are mitigated in our offline garbage collection. The idea of offline garbage collection is very complex and need a discussion in detail. We are these days implementing it in Our JVM and will be happy if Squawk could use it too. We want to give you code so that you can have it in Squawk (if you like it). However, it is near impossible to discuss it here. May be a phone call?

I also want to discuss our optimization for flash. Our binary file is less than half the size of Squawk suite file. Furthermore, our bytecode optimization reduces the size of bytecode by 60%. We wish to have those things in Squawk too. We want to serve open source community in general and as long as Squawk is open source we will like to see it getting better.

I wish we discuss those things in detail. Hence please call us if possible as it is the easiest way to be on the same page quickly. Otherwise, may be a very long chain of emails?

Looking for your reply.

Faisal Aslam

Message was edited by: faslam