Download presentation
Presentation is loading. Please wait.
Published byPhilip Christopher Phelps Modified over 9 years ago
1
OASIS SDD TC Version Proposal Draft 3 after Jan. 2007 F2F Brent A. Miller STSM, IBM Corp.
2
Current State versionStringType: –We specify this –This is incorporated in the specification –Used in (PD).packageIdentity.IdentityType, (DD).resultingResource.backwardCompatibility, ( DD).resource, (DD).resultingResource, (DD).root[x]U.identity, (DD).ResourceConstraintGroup.versionConstraint –Blue = ones that we control and specify as VRML –We specify a version comparison algorithm
3
Problem Statement (1) We control the “make it up” version specifications –Descriptor identities We do not control the “look it up” version specifications –Resource –resultingResource –Version constraints Examples of version indication methods on next slide Hence, we cannot constrain version to VRML format in all cases
4
Version Indication Examples In just one hosting environment (OS), in just several popular OSes, we find “version” information consisting of some combination of: –Generation –Edition –Ver –KernelVer –Maint –BuildNum –CodeName –ProdNum My computer’s version identification information is “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2) ” –Windows version numbers ( “5.1” ) are little used –“XP” serves as a major version number, but doesn’t appear as a classic one –Build number is a key identifier, but does not update the version number –Etc. (and similarly in other OSes/hosting environments/applications…) Some mechanism for normalizing version specification is desirable
5
Proposal 1.Accommodate (“import”) all version specifications genericVersionString This enables a single, consolidated version representation for: –Capturing versions returned this way from environments, to enable mapping to structure defined in #2 below –Displaying version information as a string –Containing version information that can’t be mapped to the sequence 2.Define structure in schema to allow genericVersionString to be mapped to version parts for version comparison. This replaces VRML. 3.Specify mapping to this structure in profiles –Manufacturer-to-SDD neutral vocabulary –Expand contents to include non-numeric characters –Add the string noted above for versions that can’t be structured 4.Update version comparison algorithm to handle non-numeric values Result is: Normalization of version information Accommodation of “all” versions with structuring for comparison Consistent with CIM/SMASH (http://www.dmtf.org/standards/published_documents/DSP1023.pdf)
6
Schema [add]: [current]: [replace with]: <element name = “genericVersionString” type=“GenericVersionStringType” minoccurs=“0”/> Notes: 1.Assume 4 elements (a la CIM/SMASH/VRML) 2.Should version part strings have restrictions?
7
Version comparison algorithm –Standard versions are of the form type VersionType with each part being numeric. Non-standard versions may include alphabetic characters SHOULD be mapped to the individual parts of StructuredVersionType according to mappings specified in profiles. Equality is determined by testing the equality of each part. Least significant parts may be omitted if they are “0”, e.g., 1.1 is equivalent to 1.1.0.0; 4a.1.2 is equivalent to 4a.1.2.0. –To compare versions, each version part is evaluated from left to right using either alphanumeric or alphabetic comparison (alphabetic comparison which MUST use a non-Unicode, locale-insensitive, case- insensitive collating sequence). For version parts that consist of a number followed by a letter, the numeric part is compared first: a version part “4a” is greater than a version part “4”; a version part of “40” is greater than “4a”. Comparison stops when the version parts are different (in this case, the greater version is the one with the greater version part), when no corresponding version part exists in one of the versions being compared (in this case, the greater version is the one with remaining non-zero version part(s)) or when the versions are equal.
8
Example (1) Windows “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2)” 1.Accommodate (“import”) all version specifications genericVersionString= “Version 5.1 (Build 2600.xpsp_sp2_gdr.050301-1519:Service Pack 2)” 2.Specify mapping to structure in profiles –major=“5” –minor=“1” –revision=“2600” –qualifier=“” Should “Service Pack 2” go here?
9
Example (2) RHEL “RHEL AS 3 Update 8 k2.6.10-xenU” 1.Accommodate (“import”) all version specifications genericVersionString= “RHEL AS 3 Update 8 k2.6.10-xenU” (note: K2.6.10 is kernel version, which is distinct from the Linux release) 2.Specify mapping to structure in profiles –major=“AS 3” –minor=“” –revision=“” –qualifier=“”
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.