mvel [LSARC/2009/096 FastTrack timeout 02/18/2009]
Mark Carlson
markcarl at sac.sfbay.sun.com
Wed Feb 11 17:07:42 PST 2009
I am sponsoring this familiarity case for Vivek Titarmare. It requests minor
binding and times out 02/18/2009. This Fast Track represents a component of
LSARC 2008/748 - Drools.
The FOSS checklist, man page and javadoc are in the case directory and
the checklist and man page are attached.
-- mark
Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
mvel
1.2. Name of Document Author/Supplier:
Author: Vivek Titarmare
1.3 Date of This Document:
11 February, 2009
2. Project Summary
2.1 Project Description
MVEL is a powerful expression language for Java-based applications. It provides a plethora of features and is suited for everything from the smallest property binding and extraction, to full blown scripts.
4. Technical Description:
MVEL has several specific components
* An Integrated Lexer-Parser, including Subparsers.
* An Execute-on-the-fly Interpreter
* An Intermediate Compiler
* An Interface for a JIT Accelerating Compiler
o A Reflection-Based Implementation of the JIT: The FRET
(Fast Reflection Evaluation Tree) Compiler
o A Bytecode-Based Implementation: Known just as "The JIT".
* Type Conversion API / System
* External Resolver API
5. Interfaces
Exported interface Classification Interface type
============================= ============== ==============
org.mvel
* Accessor Uncommitted Interface
* AccessorNode Uncommitted Interface
* ASTIterator Uncommitted Interface
* ConversionHandler Uncommitted Interface
* DataTypes Uncommitted Interface
* ExecutableStatement Uncommitted Interface
* Macro Uncommitted Interface
* NodeType Uncommitted Interface
* Operator Uncommitted Interface
* PreProcessor Uncommitted Interface
* TemplateRegistry Uncommitted Interface
org.mvel.asm
* AnnotationVisitor Uncommitted Interface
* ClassVisitor Uncommitted Interface
* FieldVisitor Uncommitted Interface
* MethodVisitor Uncommitted Interface
* Opcodes Uncommitted Interface
org.mvel.ast
* Assignment Uncommitted Interface
* NestedStatement Uncommitted Interface
org.mvel.conversion
* Converter Uncommitted Interface
org.mvel.debug
* Debugger Uncommitted Interface
org.mvel.integration
* Interceptor Uncommitted Interface
* VariableResolver Uncommitted Interface
* VariableResolverFactory Uncommitted Interface
org.mvel.integration.impl
* LocalVariableResolverFactory Uncommitted Interface
* TypeInjectionResolverFactory Uncommitted Interface
org.mvel.math
* MathProcessor Uncommitted Interface
org.mvel.optimizers
* AccessorOptimizer Uncommitted Interface
* OptimizerHook Uncommitted Interface
org.mvel.util
* Stack Uncommitted Interface
The Jar file would go in "usr/share/lib/java"
Imported interface Classification Comments
======================= ============== ===================================
None
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
SFW
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open
FCL--FOSS Check List
1.0 Project Information
1.1 Name of project/component
mvel Ver 1.2.22-java1.5.0
1.2 Author of document
Vivek R. Titarmare
2.0 Project Summary
2.1 Project Description
MVEL is a powerful expression language for Java-based applications. It provides a plethora of features and is suited for everything from the smallest property binding and extraction, to full blown scripts.
This case is a dependency for LSARC 2008/748 - Drools. Drools is a dependency for PSARC 2007/210 Automatic Data Migration (ADM).
Interface stabilities and contracts will be added to the consuming case(s) as needed.
2.2 Release binding
What is is the release binding?
(see http://opensolaris.org/os/community/arc/policies/release-taxonomy/)
[ ] Major
[X] Minor
[ ] Patch or Micro
[ ] Unknown -- ARC review required
2.3 Type of project
Is this case a Linux Familiarity project?
[X] Yes
[ ] No
2.4 Originating Community
2.4.1 Community Name
The Codehaus Mvel (http://codehaus.org/, http://dist.codehaus.org/)
2.4.2 Community Involvement
Indicate Sun's involvement in the community
[ ] Maintainer
[ ] Contributor
[X] Monitoring
Will the project team work with the upstream community to resolve
architectural issues of interest to Sun?
[X] Yes
[ ] No - briefly explain
Will we or are we forking from the community?
[ ] Yes - ARC review required prior to forking
[X] No
3.0 Technical Description
3.1 Installation & Sharable
3.1.1S Solaris Installation - section only required for Solaris Software
(see http://opensolaris.org/os/community/arc/policies/install-locations/ for details)
Does this project follow the Install Locations best practice?
[X] Yes
[ ] No - ARC review required
Does this project install into /usr under [sbin|bin|lib|include|man|share]?
[X] Yes
[ ] No or N/A
Does this project install into /opt?
[ ] Yes - explain below
[X] No or N/A
Does this project install into a different directory structure?
[ ] Yes - ARC review required
[X] No or N/A
Do any of the components of this project conflict with anything under /usr?
(see http://opensolaris.org/os/community/arc/caselog/2007/047/ for details)
[ ] Yes - explain below
[X] No
If conflicts exist then will this project install under /usr/gnu?
[ ] Yes
[ ] No - ARC review required
[X] N/A
Is this project installing into /usr/sfw?
[ ] Yes - ARC review required
[X] No
3.1.1W Windows Installation - section only required for Windows Software
(see http://sac.sfbay/WSARC/2002/494 for details)
Does this project install software into a
<system drive>:\Program Files\Sun\<product> or <system drive>:\Sun\<product>
directory?
[ ] Yes
[ ] No - ARC review required
Does the project use the Windows registry?
[ ] Yes
[ ] No - ARC review required
Does the project use
HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems\<product>\<version>
for the registry key?
[ ] Yes
[ ] No - ARC review required
Is the project's stored location
HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems\<product id>\<version id>\Path?
[ ] Yes
[ ] No - ARC review required
3.1.2 Share and Sharable
Does the module include any components that are used or shared by
other projects?
[X] Yes
[ ] No
If yes are these components packaged to be shared with the other FOSS?
[X] Yes
[ ] No - ARC review required
[ ] N/A
Are these components already in the Solaris WOS?
[ ] Yes
[X] No - continue with next section (section 3.2)
If yes are these newer versions being delivered?
[ ] Yes
[ ] No - ARC review required
If yes are the newer versions replacing the existing versions?
[ ] Yes
[ ] No - ARC review required
3.2 Exported Libraries
Are libraries being delivered by this project?
[X] Yes
[ ] No - continue with next section (section 3.3)
Are 64-bit versions of the libraries being delivered?
[X] Yes
[ ] No - ARC review required
Are static versions of the libraries being delivered?
[ ] Yes - ARC review required
[X] No
3.3 Services and the /etc Directory
(see http://opensolaris.org/os/community/arc/policies/SMF-policy/)
Does the project integrate anything into /etc/init.d or /etc/rc?.d?
[ ] Yes - ARC review required
[X] No
Does the project integrate any new entries into /etc/inittab or
/etc/inetd.conf?
[ ] Yes - ARC review required
[X] No
Does the project integrate any private non-public files into /etc/default
or /etc/ configuration files?
[ ] Yes - ARC review required
[X] No
Does the service manifests method context grant rights above that
of the noaccess user and basic privilege set?
[ ] Yes - ARC review required
[X] No
3.4 Security
3.4.1 Secure By Default
(see http://opensolaris.org/os/community/arc/policies/secure-by-default/ for details)
(see http://www.opensolaris.org/os/community/arc/policies/NITS-policy/ for details)
(see parts of http://opensolaris.org/os/community/arc/policies/SMF-policy/ for
addtional details)
Are there any network services provided by this project?
[ ] Yes
[X] No - continue with the next section (section 3.4.2)
Are network services enabled by default?
[ ] Yes - ARC review required
[ ] No
[X] N/A
Are network services automatically enabled by the project during installation?
[ ] Yes - ARC review required
[ ] No
[X] N/A
Are inbound network communications denied by default?
[ ] Yes
[ ] No - ARC review required
[X] N/A
Is inbound data checked to prevent content-based attacks?
[ ] Yes
[ ] No - ARC review required
[X] N/A
Is the outbound receiver authenticated?
[ ] Yes
[ ] No - ARC review required
[X] N/A
Is the receiver authenticated prior to receiving any sensitive outbound communication?
[ ] Yes
[ ] No - ARC review required
[X] N/A
3.4.2 Authorization
(see http://opensolaris.org/os/community/arc/bestpractices/rbac-intro/ and
http://opensolaris.org/os/community/arc/bestpractices/rbac-profiles/ and
http://opensolaris.org/os/community/arc/bestpractices/rbac-profiles/
for details)
Are there any setuid/setgid privileged binaries in the project?
[ ] Yes - ARC review required
[X] No - continue with next section (section 3.4.3)
If yes then are the setuid/setgid privileges handled by the use of roles?
[ ] Yes
[ ] No - ARC review required
3.4.3 Auditing
(see http://opensolaris.org/os/community/arc/policies/audit-policy/ for details)
(see http://opensolaris.org/os/community/arc/caselog/2003/397 for details)
Does this component contain administrative or security enforcing software?
[ ] Yes - ARC review required
[X] No - continue to next section (section 3.4.4)
(see http://opensolaris.org/os/community/arc/caselog/2003/397 for details)
Do the components create audit logs detailing what took place including what event
took place, who was involved, when the event took place?
[ ] Yes - ARC contract and Audit project team review required
[ ] No - ARC review required
3.4.4 Authentication
(see http://opensolaris.org/os/community/arc/policies/PAM/)
Do the components contain any authentication code?
[ ] Yes
[X] No - continue to next section (section 3.4.5)
If yes do the components use PAM (plugable authentication modules) for authentication?
[ ] Yes
[ ] No - ARC review required
If yes is a single PAM session maintained during authentication?
[ ] Yes
[ ] No - ARC review required
If yes are the components sufficiently privileged to allow the requested
operations (authentication, password change, process credential manipulation,
audit state initialization)?
[ ] Yes - briefly describe below
[ ] No - ARC review required
3.4.5 Passwords
(see http://opensolaris.org/os/community/arc/bestpractices/passwords-cli/ and
http://opensolaris.org/os/community/arc/bestpractices/passwords-files/ for details)
Do any of the components for the project deal with passwords?
[ ] Yes
[X] No - continue to next section (section 3.4.6)
If yes are these passwords entered via the CLI or environment?
[ ] Yes - ARC review required
[ ] No
Are passwords stored within the file system for the component?
[ ] Yes
[ ] No - continue to next section (section 3.4.6)
If yes are the permissions on the file such to protect exposing the password(s)?
[ ] Yes
[ ] No - ARC review required
3.4.6 General Security Questions
(see http://opensolaris.org/os/community/arc/bestpractices/security-questions/ for details)
Are there any network protocols used by this project?
[ ] Yes
[X] No - continue with the next section (section 3.5)
Do the components use standard network protocols?
[ ] Yes
[ ] No - ARC review required
Do network services for the project make decisions based upon user, host or
service identities?
[ ] Yes - explain below
[ ] No
[ ] N/A
Do the components make use of secret information during authentication and/or
authorization?
[ ] Yes - explain below
[ ] No
[ ] N/A
3.5 Networking
Do the components access the network?
[ ] Yes
[X] No - continue with the next section (section 3.6)
If yes do the components support IPv6?
[ ] Yes
[ ] No - ARC review required
3.6 Core Solaris Components
Do the components of this project compete with or duplicate core
Solaris components?
[ ] Yes - ARC review required
[X] No
4.0 Interfaces
(see http://www.opensolaris.org/os/community/arc/policies/interface-taxonomy/ for details)
4.1 Exported Interfaces
The jar file "mvel_1.2.22.jar" contains following interface.
Interface Name Classification Comments
--------------------------- ------------------- ---------------------------
org.mvel
* Accessor Uncommitted Interface
* AccessorNode Uncommitted Interface
* ASTIterator Uncommitted Interface
* ConversionHandler Uncommitted Interface
* DataTypes Uncommitted Interface
* ExecutableStatement Uncommitted Interface
* Macro Uncommitted Interface
* NodeType Uncommitted Interface
* Operator Uncommitted Interface
* PreProcessor Uncommitted Interface
* TemplateRegistry Uncommitted Interface
org.mvel.asm
* AnnotationVisitor Uncommitted Interface
* ClassVisitor Uncommitted Interface
* FieldVisitor Uncommitted Interface
* MethodVisitor Uncommitted Interface
* Opcodes Uncommitted Interface
org.mvel.ast
* Assignment Uncommitted Interface
* NestedStatement Uncommitted Interface
org.mvel.conversion
* Converter Uncommitted Interface
org.mvel.debug
* Debugger Uncommitted Interface
org.mvel.integration
* Interceptor Uncommitted Interface
* VariableResolver Uncommitted Interface
* VariableResolverFactory Uncommitted Interface
org.mvel.integration.impl
* LocalVariableResolverFactory Uncommitted Interface
* TypeInjectionResolverFactory Uncommitted Interface
org.mvel.math
* MathProcessor Uncommitted Interface
org.mvel.optimizers
* AccessorOptimizer Uncommitted Interface
* OptimizerHook Uncommitted Interface
org.mvel.util
* Stack Uncommitted Interface
The Jar file would go in "usr/share/lib/java"
4.2 Imported Interfaces
Interface Name Classification Comments
--------------------------- -------------------- --------------------------
None
Appendix B - Suggested case materials
1. man pages
Attached are the zipped Java docs (mvel.zip_)
2. SMF manifests
3. links to contracts
Introduction to Library Functions mvel(3)
NAME
mvel - Java-based Expression Language
DESCRIPTION
mvel(3) is a powerful expression language for Java-based
applications. It provides a plethora of features and is
suited for everything from the smallest property binding and
extraction, to full blown scripts.For additional information
on using mvel, browse the complete html documentation at:
file:/usr/share/lib/java/javadoc/mvel/index.html
LICENSE
ASL 2.0
FILES
/usr/share/lib/java/mvel-1.2.22.jar
mvel jar file
/usr/share/lib/java/javadoc/mvel/index.html
mvel API documentation generated with javadoc.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
_______________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE|
|_______________________________________
| Availability | SUNWmvel |
|_______________________________________
| Interface Stability| Uncommitted |
|____________________|_________________|
SEE ALSO
http://mvel.codehaus.org/
NOTES
Source for mvel is available on http://opensolaris.org
SunOS 5.10 Last change: 4 Feb 2009 1
More information about the opensolaris-arc
mailing list