WSARC Review Questions

Version 2.1


Please maintain the history of your responses:

Author

Date

Comments

Your name

mm/dd/yyyy

comments

George Vasick

08/06/2007

1st draft


  1. What are we reviewing?

    1. Project name:

      NetBeans 6.0 UML

    2. ARC case number:

      WSARC/2007/343

    3. Project's PAC full title and email address:

      Java Tools PAC
      javatools-pac@Sun.COM

    4. Name(s) of the person(s) providing answers to the questions:

      George Vasick

    5. Are your answers to these questions for an Inception or Commitment review?

      Inception.

    6. Major milestones dates:
      Alpha: M9 JavaONE Preview 05/2007
      Customer Acceptance/Beta: Beta1 09/2007
      Revenue Release/GA: 11/2007

    7. Proposed release binding (See: Release Taxonomy) (Major, Minor, Micro, Patch):

      Major

      Product version number:

      6.0

    8. For projects modifying existing products:
      Enumerate incompatibilities this project introduces that existing customers/user will see:

      UML projects from JSE 8.1 and NB 5.5/5.5.1 can be opened and continued with NB 6.0.  Once the user has done so, the project can no longer be opened with the previous version of the IDE.

      What is the size of the existing customer base?

      Approximately 80K downloads since 5.5 FCS,  April 2007 through June 2007.

    9. If a previous version of this project has been through an ARC commitment review before what is the ARC case number(s) for the last case(s)?

      WSARC/2005/716.

    10. List all hardware platforms and Operating Systems this project supports:

      Windows
      Linux
      Solaris
      X86
      Sparc

    11. Please provide a short summary of what this project is. This may be copied from the project's one-pager. The case owner needs a 1 to 4 paragraph description for the beginning of the Opinion document.

      The UML Modeling project provides UML modeling features to the NetBeans IDE. UML modeling allows analysts and designers to design applications using a standard modeling language. Developers are then able to generate source code from the UML model and update the model from changes made in their source code.

      The UML Modeling module provides the following main features:

      • Forward and reverse engineering:  You can generate Java code from your model as well as create UML models from your existing Java source.
      • Code generation:  The code generated by the UML module is free of any artificial markers, e.g. comments or tags, introduced solely to support code generation.
      • Supports 8 diagrams:
        • Activity diagram
        • Class diagram
        • Collaboration diagram
        • Component diagram
        • Deployment diagram
        • Sequence diagram
        • State diagram
        • Use Case diagram
      • Requirements gathering:  You can bring application design requirements into your model via an XML file or import them from Telelogic's DOORS requirements tool.
      • Predefined and Extensible Design Patterns: There is a full set of design patterns including EJB 1.1, EJB 2.0 and Gang of Four (23 patterns).
      • Web Reporting: You can create Javadoc style web reports from your model allowing your work to be easily shared with others.
    12. Who are the target users for this project (Administrators, Developers, End-users, etc)?

      Developers and Architects.

    13. If this is a modification to an existing product, enumerate the changes/additions to the public interfaces. In other words, what is the difference from one version to the next? If this is a new product enumerate the significant features.

      Customizable Code Generation
      Domain Modeling Code Generation
      Source Code Synchronization
      New Oprions Panel

    14. Please provide diagrams that illustrate the project's architecture and interfaces. Be specific about deliverable components and their interfaces. Pay particular attention to describing the scope of the project, especially near the project boundaries.

      uml block diagram

    15. What is the motivation for this project? What are the expected benefits for Sun?

      Developer adoption. Worldwide, significat percentages of developers use UML:
      APAC: 50.60%
      EMEA: 40.40%
      NA: 42.30%
      Note, UML is also required by many enterprise class customers.

  2. Related Projects.

    1. Are there related projects at Sun? What are their relationships to this project?

      UML is included in the NetBeans 6.0 Full installer..

    2. Enumerate the (known) projects at Sun which depend on this project.

      None.

    3. Enumerate the projects this project depends on.

      NetBeans 6.0 Basic.  UML runs within the NetBeans IDE.

    4. Enumerate the products this project bundles (i.e. includes in its distribution).

      None.

    5. Enumerate any non-Sun projects this project depend on.

      Antrl
      Dom4j
      Tom Sawyer Graph Library

    6. Does this project incorporate any software that is governed by the GNU General Public License (See http://www.gnu.org/copyleft/gpl.html.

      No.

    7. What future projects should be started or avoided to help your project succeed, why?

      None.

  3. Project Delivery.

    1. Will the project be bundled in (integrated into) Solaris?

      No.

      Solaris 9 update release: N/A.

      Solaris 10 release: N/A.

      Solaris 11 release: N/A.

    2. Does the project ship as part of project Java ES or what is your roadmap with respect to shipping with project Java ES?

      UML is included in JSE 8.1, the campion tools product for JES 5.  A future version of NetBeans will be paired with JES 6.

    3. For each platform the project delivers on, what installation mechanism will be used to install the project (SVR4 Packages, SetupSDK, RPM's, etc)?

      NBM's

    4. List any SVR4 package names and a short description of each new or modified package you will be delivering. Additionally include in your case materials prior to commitment the spec for the contents of the packages. The package prototype files are acceptable.

      N/A

    5. List any RPM package names and a short description of each new or modified RPM you will be delivering. Additionally include in your case materials prior to commitment the spec for the contents of the RPM's.

      N/A

    6. Default installation directory:
      Solaris: Same as NetBeans 6.0.
      Linux: Same as NetBeans 6.0.
      Windows: Same as NetBeans 6.0.
      Other: N/A

      Is the user allowed to override these locations?

      Yes.

    7. Can multiple versions and/or multiple copies of the project be available on the same system at the same time?

      Yes.

    8. When the project is uninstalled does it leave anything on the filesystem? How does the user clean up files that remain?

      Same as NetBeans 6.0.

    9. Can the project's installer upgrade-in-place a prior installation (down-rev) of the project? On all platforms supported?

      Upgrades can be performed via the plugin manager.

    10. During the installation process does the installer execute any programs or [class-action] scripts the project provides?

      No.

  4. Platform Dependencies.

    1. Does the project require a JDK or a JRE (state which)? What JVM versions does the project require and/or support?

      JDK.  Java SE 5 and 6 are supported.

    2. Does the project expect the JVM to already be installed on the system or does the project install the JVM?

      Yes.

      If the project installs the JVM where is it installed (See LSARC/2002/172)?

      N/A.

    3. Does the project run in a J2EE environment?

      No.

      If so which version of the J2EE standard do you support.

      N/A

    4. Do you intend replace/augment any of the J2EE platform jars with a different version?

      No.

    5. Which J2EE application servers do you qualify against

      N/A.

  5. Administration and Observability.

  6. N/A.

  7. Reliability, Availability and Serviceability (RAS).

    N/A.

  8. Security.

    N/A.

  9. Operational Environment.

    1. What environment variables are used (both consumed and produced)?

      None.

    2. What entries are stored or retrieved from the Windows Registry?

      None.

    3. What exit statuses are exported?

      None.

    4. What signals (man signal(5)) are issued or caught?

      None.

    5. What network port numbers are utilized? If you are exporting any ports have they been registered with www.iana.org?

      None.

    6. If you utilize a port in the private range (above 49152) how do you test for availability?

      None.

    7. Does the project utilize cron or the Windows Task Scheduler? Describe how it is used and how often tasks run:

      No.

    8. Does the project use any hidden (dot) files?

      Yes, the netbeans userdir, .netbeans.

      Any temp files?

      No.

      Any files in the user's home directory?

      Yes. The .netbeans userdir is created in the user's home directory by default.

    9. Does the project utilize a proscriptive licensing mechanism?

      No.

    10. Command line interfaces. Provide specifications for any command line interfaces the project introduces or modifies (preferably in man page format). The specs should include the command name, description of what it does, command options, exit status and output format. Command options should be getopt (man intro(1)) and/or CLIP compliant.

      N/A.

    11. For each command list any libraries it uses. (Hint: Use ldd and dump -Lv). Identify and justify the requirement for any static libraries.

      N/A.

    12. Does this project deliver any shared libraries? Enumerate the names of any public shared libraries.

      Are they versioned and scoped?

      N/A.

    13. Does this project delivery any static libraries?

      No.

    14. Is the project 64-bit clean?

      Yes.

      Is there any architectural reason why the project would not work in a 64-bit environment? See http://docs.sun.com/db/doc/806-6543 for more info.

      No.

    15. Is the project compatible with IPV6 interfaces and addresses?

      N/A.

  10. Internationalization and Localization

    1. Has the project been internationalized? (See http://i18n.red.iplanet.com/faq.html for an internationalization FAQ)

      Yes.

    2. Which locales does the project support? Indicate which locale is the default.

      English, Japanese, Simplified Chinese.

    3. Does the project use resource files or solaris locale databases?

      resource files.

    4. Does the project set any of the environment variables: LANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_CTIME, LC_NUMERIC, LC_MONETARY, LC_MESSAGES?

      No

    5. Are there other projects that depend upon this project, that require locales that will not be provided by this project?

      No.

    6. How does the project behave when run in the C locale (the default Solaris locale)?

      It defaults to English.

    7. Does the project follow the solaris convention for L10N package names, see http://sekai.sfbay/projects3/l10n_steering_committee/l10n_steering_committee/web/docs/pkg_convention.txt?

      N/A.

  11. Desktop Operational Environment.

    1. Does this project supply a graphical user interface? If so please provide a user interface specification with your case materials.

      Documented in the online help provided within the NetBeans IDE.

    2. Does this project add any items to any existing system menus (e.g. Windows Start menu)? Describe what is added.

      No.

    3. Does this project add any icons to the user's desktop?

      No.

    4. Does this project introduce any new MIME types?

      No.

  12. Interfaces Imported and Exported.

    This is an umbrella project description for Open ESB. Detailed interface changes or new interface descriptions will appear in corresponding one pagers and functional specifications.

    1. Interfaces Imported

      Generally imported interfaces

      Interface Name Stability Classification Specified in What Document?
      Java API at least 1.5 Stable java.sun.com (PSARC/2000/436)
      Tom Sawyer Graphic Library
      Third Party
      tomsawyer.com
      Antlr 2.7.2
      Third Party antlr 2.7 2
      dom4j 1.2
      Third Party dom4j.org

      Interfaces imported by individual modules

      Interface Name Stability Classification Specified in What Document?
       org.jdesktop.layout Standard
      org.openide.actions Official org-openide-actions/overview-summary.html
      org.openide.awt Official org-openide-awt/overview-summary.html
       org.openide.dialogs Official org-openide-dialogs/overview-summary.html
       org.openide.explorer Official org-openide-explorer/overview-summary.html
      org.openide.filesystems Official org-openide-filesystems/overview-summary.html
      org.openide.io Official org-openide-filesystems/overview-summary.html
      org.openide.loaders Official org-openide-loaders/overview-summary.html
      org.openide.modules Official org-openide-modules/overview-summary.html
      org.openide.nodes Official org-openide-nodes/overview-summary.html
       org.openide.text Official org-openide-text/overview-summary.html
      org.openide.util Official org-openide-util/overview-summary.html
      org.openide.windows Official org-openide-windows/overview-summary.html
      org.netbeans.api.java Official org-openide-filesystems/overview-summary.html
       org.netbeans.api.progress Official org-netbeans-api-progress/overview-summary.html
       org.netbeans.libs.javacapi Standard
       org.netbeans.modules.java.project Official org-netbeans-modules-java-project/overview-summary.html
       org.netbeans.modules.java.source Under Development org-netbeans-modules-java-source/overview-summary.html
       org.netbeans.modules.options.api Under Development org-netbeans-modules-options-api/overview-summary.html
       org.netbeans.modules.project.ant Official org-netbeans-modules-project-ant/overview-summary.html
       org.netbeans.modules.projectapi Official org-netbeans-modules-projectapi/overview-summary.html
       org.netbeans.modules.projectuiapi Official org-netbeans-modules-projectuiapi/overview-summary.html
       org.netbeans.modules.queries Official org-netbeans-modules-queries/overview-summary.html
       org.netbeans.modules.schema2beans Stable http://schema2beans.netbeans.org/docs.html
       org.netbeans.spi.palette Stable org-netbeans-spi-palette/overview-summary.html
       org.netbeans.spi.navigator Stable org-netbeans-spi-navigator/overview-summary.html

    2. Interfaces Exported

      Interface

      Classification

      Comments

      None



  13. Interface Extensibility and Evolution.

    1. How is the project and its significant interfaces versioned?

      The spec number is incremented in the corresponding NBM.

    2. Can this version co-exist with existing standards and with earlier or later versions or with alternative implementations (perhaps by other vendors)?

      N/A

    3. Are there incompatibilities with prior versions of the interface?

      if yes, how is the transition to the new version to be accomplished?

      N/A

  14. Interoperability.

    1. If applicable, explain your project's interoperability with other major implementations in the industry:

      There is currently no interoperability. Support of XMI import/export is on our roadmap for a future release.

    2. What would be different about installing your project in a heterogeneous site instead of a homogeneous one (e.g. All running Solaris)?

      No issues. The project is completely implemented in Java.




Please identify any issues that you would like the ARC to address:

None.