[Isolate-interest] CLDC compatiblity

Jesper Zuschlag jesper at zuschlag.dk
Sun Jul 17 18:53:25 EDT 2005


CLDC has been mention several times during this current public review  
and I'm also of the opinion that multitasking capabilities is a very  
important element in the future evolution of CLDC-based platforms  
which makes CLDC-compatibility an important issue for JSR-121. I have  
been talking with Pete Sober about this on several occasions and  
apparently work has been done to make JSR-121 more compatible with  
CLDC, however several stumbling-stones remains.

I have made a quick survey of the latest API proposal and come up  
with a list of the issues I have found. The question is if these  
issues should be handled by JSR-121 (possible as an amendment to the  
JSR) or be postponed to a future JSR (e.g. next CLDC version).

Some issues could be easily solved:

On the issue of StreamBindings I agree with Bryn Rahm that using only  
InputStream and OutputStream as source and destination for the  
standard stream would make the design much cleaner (and make it  
suitable for CLDC).

The use of Serializable on exceptions classes could be dropped in a  
CLDC context similar to other exceptions in CLDC and MIDP.

So the remaining challenge is the whole area of security and context/ 
properties, which heavily depends on the Java SE architecture and  
thus cannot easily be applied to CLDC.

In my opinion, JSR-121 should include a base line semantic for  
adapting JSR-121 into a CLDC environment that is compatible with the  
current CLDC version, with the possibility for later versions of CLDC  
to expand the semantic. E.g. the specification should state than in a  
CLDC environment only classes from the same repository (jar file) as  
the parent Isolate can be used as starting-point/main-class of a new  
Isolate, and that Isolates always inherits permissions and properties  
from the parent Isolate (although a mechanism allowing the parent  
Isolate to add additional properties could perhaps be provided). Then  
later version of e.g. CLDC could perhaps extend this semantic with  
some kind of light-weight user-defined security mechanism.

By the way, is it the intent of the EG to write a "formal  
specification" or is the JavaDoc  the chosen format?

/Jesper



Classe survey:

--------------------

ClosedLinkException:

-       Implements java.io.Serializable

Isolate

-       Applies java.util.Properties

-       Uses variable arguments in several methods (Isolate(..), start 
(…)

IsolateException

-       Implements java.io.Serializable

IsolatePermission

-       Inheriting from java.security.BasicPermission

-       Incompatible security model. No extensible security model in  
CLDC (sandbox confinement to originating jar-file, no class path)

-       Implements java.io.Serializable

-       Implements java.security.Guard

IsolateStartupException

-       Implements java.io.Serializable

IsolateStatus.ExitReason

-       Implements java.io.Serializable

IsolateStatus.State

-       Implements java.io.Serializable

LinkMessage

-       Applies java.net.ServerSocket

-       Applies java.net.Socket

StreamBindings

-       Applies java.io.FileOutputStream

-       Applies java.io.FileInputStream

-       Applies java.net.Socket





  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/attachments/20050718/a37e220a/attachment.htm


More information about the Isolate-interest mailing list