★ wanayoo — archive 1999 http://developer.java.sun.com/developer/community/chat/JavaLive/2001/jl0213.htmlNouvelle recherche | Portail wanayoo
Java Technology Home Page
A-Z Index

Java Developer Connection(SM)
Chat

Downloads, APIs, Documentation
Java Developer Connection
Tutorials, Tech Articles, Training
Online Support
Community Discussion
News & Events from Everywhere
Products from Everywhere
How Java Technology is Used Worldwide
Print Button

Members Only Requires login

Early Access Members Only

Downloads

Bug Database Members Only
Submit a Bug
View Database

Newsletters
Back Issues
Subscribe

Learning Centers
Articles
Bookshelf
Code Samples
New to Java
Question of the Week
Quizzes
Tech Tips
Tutorials

Forums

Technology Centers
JavaLive Transcripts Index

J2METM CDC and Foundation Profile
February 13, 2001



Guest Speaker: Brian Ogata (Brian) and Borek Vokach-Brodsky (bvokach)
Moderator: Edward Ort (MDR-EdO)

This is a moderated forum

MDR-EdO: Welcome to Java Live! Today's session is on the J2METM Connected Device Configuration (CDC), the CVM, and Foundation Profile. Our guests are two key members of the CDC/CVM/FP team: Program Manager Brian Ogata, and Engineering Manager Borek Vokach-Brodsky. They'll answer your CDC/CMV/FP questions. So let's begin. Who has the first question?

DiegoFG: When is the Palm Profile coming out? Is it going to resemble kAWT? Should we use kAWT in preparation for the Palm Profile?

Brian: DiegoFG, Currently, the Palm Profile is with the expert group. We do not have a specific date when it will be generally available. The expert group is defining how AWT-like the profile will be.

Mark: Hi. What is the uncompressed disk footprint size for CDC and Foundation Profile, excluding the VM? What is the footprint with the VM?

bvokach: Hi Mark. With consumer and embedded devices, we usually think in terms of a memory (flash) footprint. CVM has a static footprint of 256 KB. The Romized footprint of CDC is 1011 KB and Foundation Profile is 1564KB. Note that the footprint of Foundation Profile includes the CDC footprint.

test: Why was CDC and FP initially made available on Linux? What are your plans for making CDC and FP available on other platforms?

Brian: Test, we chose Linux because our customers clearly indicated that it is becoming a commonly used development platform. We also have an implementation for Wind River VxWorks for real-time development. For both, go to the Sun SCSL page where both are available for download.

Brian: For all who are on-line, what is your interest in the CVM/CDC/Foundation Profile? What uses are you planning for CVM/CDC/Foundation Profile?

DiegoFG: I want to see the JavaTM programming language as the main development language for the PalmOS. I think that J2ME is a great tool, but I have encountered some GUI limitations with the kJava classes. That's why I am very keen on following the directions the J2ME/CLDC platform is taking.

Brian: DiegoFG, For the PalmOS, check out the Mobile Information Device Profile (MIDP). This has a GUI that is more appropriate for the Palm.

test: CLDC and MIDP allow an application to load classes only from its own JAR file. Is this restriction also enforced in CDC and FP?

bvokach: No. CDC and FP have the full capabilities of a Java 2 virtual machine 1, andclasses can be downloaded across a network. At LinuxWorld we showed CDC running on an iPaq with a wireless 802.11 connection to a server. One of the demo applications displayed real-time stock quotes on the iPaq.

test: Are CLDC application upward compatible with CDC? In other words, if my application runs with the core CLDC classes, will it also run in a CDC implementation?

Brian: Test, Yes. Any application written in CLDC is upwardly compatible with CDC.

Nathan: Borek, LinuxVR is a port of Linux to an NEC processor derived from MIPS (with no floating-point hardware), and is used in several Linux PDA projects. I assume your current Linux CVM is for the i386 processor. Porting to LinuxVR may be a simple matter of rebuilding with the right cross-compiler, but life isn't usually that simple :-).

bvokach: Nathan. Linux CVM is on X86 and ARM. Porting to LinuxVR would involve porting CVM to the NEC processor. There is about 100 lines of asm code involved. The rest of the port should be straightforward since you are going from RedHat to LinuxVR.

Nathan: Thanks, Borek. Linux isn't the only OS on the NEC/MIPS processor - WinCE is also there. But it sounds like a port under Sun's auspices is not in the current plans.

bvokach: Nathan. You're correct. Sun is not planning a WinCE port at the moment but the value of the community source program is that you have access to all the sources of CVM, CDC, and Foundation so that you can port to other architectures and OS's.

Nathan: Borek, So if some brave (or foolish) enterprising type were to dive into CVM source, what sort of functionality is handled by that 100 lines of asm that needs to be ported?

bvokach: Nathan. The CVM sources have a separate porting layer and all the work you need to do is there. The 100 lines of asm express the invoke native functionality. You should be able to use the X86 asm as a template.

Sean: So, as it stands now, the CLDC is for the Palm, and the CDC for the iPaq. Are there any other PDAs that the CDC can run on?

bvokach: Sean. CDC can run on any device with the appropriate resources. For the Java portion,CDC requires 1MB including CVM. What PDAs were you thinking of?

Sean: Hmm... not any one in particular. I just thought there might be some sort of listing of compatible devices. I'm mostly interested in Palms though. So the CDC could run on an 8 meg Palm as well then?

bvokach: Sean. Yes it could. Especially interesting would be the new Palms that I have read about with Strong ARM processors.

Sean: Oh really...Now that's very interesting. I wasn't aware of that. Thanks for the info.

bvokach: Sean. You're welcome.

anilk: Are there any plans to consolidate CLDC/KVM into CDC/CVM in the near future?

Brian: anilk, No plans to consolidate. These are two different classes of devices. As Borek mentioned, CLDC/KVM is targeted for devices that are running 16- or 32-bit processors with less than 512K memory. CDC, Foundation, and Personal Profile are for devices with a 32-bit processor and 2.0 Mbyte or more of memory.

Hari K Gottipati: Is CLDC part of the PersonalJavaTM Environment?

bvokach: Hari. No. CLDC is not part of the PersonalJava Environment. CLDC is designed for very constrained devices (less than 512KB). CDC, Foundation and PersonalJava are designed for a different class of device. CDC and Foundation are the runtimes that will replace PersonalJava over time.

DiegoFG: What is the C virtual machine (CVM)? What is its scope?

bvokach: Diego. CVM is a complete Java 2 VM designed specifically for consumer and embedded devices. It has an optimized interpreter, fast synchronization, native thread support, exact memory system, and Java 2 security. It's also highly portable, and hardened in low memory situations with ordered shutdown and restartability.

anilk: What other technologies do you foresee being run over by CDC FP? You mentioned PersonalJava...

Brian: anilk, we are transitioning from the monolilthic PersonalJava to a modular architecture of CDC+Foundation Profile + Personal Profile.

JimmiD: What is the relationship between CDC and RMI? When will I be able to access RMI functions in a J2ME application?

Brian: JimmiD, The RMI profile should be available mid-2001. You will be able to use the RMI Profile with CDC.

Hari K Gottipati: Why are there two types of virtual machines for PDA kinds of devices? I mean why is there a CVM and KVM for the same devices? What is the difference between CVM & KVM? How is CLDC is different from CDC? How do both of these differ from the PersonalJava Environment?

Brian: Hari K G, I can understand the confusion. However, the two VMs are meant for two different classes of devices. KVM/CLDC is intended for constrained devices; 16- and 32- bit CPU with less than 512 Kbytes of memory. The CVM/CDC is intended for devices with 32-bit CPU and 2.0 Mbytes or more of memory.

Nathan: Borek: So JIT is not part of the picture? That does simplify things :-).

bvokach: Nathan. The 1.0 release of CVM does not include a dynamic compiler so it is quite easy to port. We are working on a dynamic compiler for a future release but again we are working very hard to make that highly portable. Stay tuned.

bvokach: Just to let you know, we will be at Java One this year with more cool demos of using CDC and Foundation and Personal Profile in wireless devices, digital set top boxes, and automobile systems.

anilk: bkovach, are there any live demos that we can access over the net?

bvokach: Anilk. I would like to do this, and we are looking at ways to make the demos available. You would need an iPaq. Would you be interested in having these kinds of demos available? How would you use them?

anilk: bkovach, that would be EXTREMELY useful. We could use them not only for future development purposes, but also for live demos to our clients (that would speed things up for us)...please keep us posted. It doesn't matter if it needs iPaq....

Mark: What other profiles are in the pipe? Any chance of a Swing profile?

Brian: Mark, Currently, the Personal Profile and RMI Profile are with their respective Java expert groups. Hopefully, they'll be available mid-2001. There are no plans for a Swing Profile.

test: When will CVC/CDC/FP be available from other RTOS vendors?

bvokach: test, RTOS vendors have been working on CDC and Foundation Profile products for some time, and they will become available over the course of this year.

DiegoFG: When is CVM/CDC coming to the Windows platform?

Brian: DiegoFG, Based on our conversations with and requests from our customers, there are no plans for a Windows implementation.

Fritz: I am unfamiliar with the term dynamic compiler. Is this a just-in-time one?

bvokach: Fritz. Yes the terms are very similar. JITs tend to compile most of the classes and methods they encounter. On consumer and embedded devices we need to take a somewhat different approach.

EdO: Well, we've come to the end of the hour (and the official end of the chat). I want to thank all of our participants. There were many good questions. Of course, I'd especially like to thank our guests, Brian and Borek, for their excellent answers. Look for a transcript of today's session on the JDC in a day or two.

bvokach: It was good to have the opportunity to talk to you today. Hope we can repeat this again soon.

Brian: All, Good to have this chance to chat with you. We welcome your further comments at: cdc-interest@eng.sun.com ... Talk to you soon.

MDR-EdO: Last moderator (me) signing off. The forum is now unmoderated.



1 As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.

coffeecup


Reader Feedback

Tell us what you think of this transcript.

Duke

Very worth reading Worth reading Not worth reading

If you have other comments or ideas for future articles, please type them here


Print Button
[ This page was updated: 15-Feb-2001 ]
Products & APIs | Developer Connection | Docs & Training | Online Support
Community Discussion | Industry News | Solutions Marketplace | Case Studies
Glossary | Feedback | A-Z Index
For more information on Java technology
and other software from Sun Microsystems, call:
(800) 786-7638
Outside the U.S. and Canada, dial your country's AT&T Direct Access Number first.
Sun Microsystems, Inc.
Copyright © 1995-2001 Sun Microsystems, Inc.
All Rights Reserved. Terms of Use. Privacy Policy.