OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

emix message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [emix] Inheritance and Scarcity in EMIX Sequences


Here is an example of the effects in one of the standard examples.

 

(1)    In MidDayPriceBoost, all fields that we finally need for the completed artifact are mandatory, and so must be repeated in any interval that over-rides any part of it.

(2)    In MidDayPriceBoost Proposed, , all fields in the product description are optional, so an artifact validates even if only the [price] that changes is re-stated. This may make it more difficult verify completeness of each Product Description.

 

 

Comments, Please…

 

tc

 


"It is the theory that decides what can be observed."   - Albert Einstein


Toby Considine

Chair, OASIS oBIX Technical Committee
U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee

Facilities Technology Office
University of North Carolina
Chapel Hill, NC

  

Email: Toby.Considine@ unc.edu
Phone: (919)962-9073

http://www.oasis-open.org

blog: www.NewDaedalus.com

 

 

From: Toby Considine [mailto:tobyconsidine@gmail.com] On Behalf Of Toby Considine
Sent: Sunday, April 24, 2011 11:20 AM
To: emix@lists.oasis-open.org
Subject: [emix] Inheritance and Scarcity in EMIX Sequences

 

A complete power product description looks as below. In EMIX, a Product is a Product Description applied to a schedule. We have conformance rules that state that a product description can be “shared” between the Gluon and Each Interval.

 

<power:powerProductDescription>

    <power:productType>Energy</power:productType>

    <power:serviceDeliveryPoint>

        <power:node>xxxnode.idxx</power:node>

    </power:serviceDeliveryPoint>

    <power:unitEnergyPrice>

        <emix:priceMultiplier>

            <emix:multiplier>0.111</emix:multiplier>

            <emix:marketContext>ref-to-market@context.com</emix:marketContext>

        </emix:priceMultiplier>

        <power:energyReal>

            <itemDescription>RealEnergy</itemDescription>

            <itemUnits>Wh</itemUnits>

            <scale>k</scale>

        </power:energyReal>

    </power:unitEnergyPrice>

    <power:powerReal>

        <itemDescription>RealPower</itemDescription>

        <itemUnits>W</itemUnits>

        <scale>k</scale>

        <power:powerAttributes>

            <hertz>60</hertz>

            <voltage>220</voltage>

            <ac>true</ac>

        </power:powerAttributes>

    </power:powerReal>

    <power:charges />

</power:powerProductDescription>

 

If only the price varies per Interval, it would be good to express it as below. This includes only the context and the price, and leaves everything else as defined Gluon/Product Description.

 

<power:powerProductDescription>

    <power:unitEnergyPrice>

        <emix:priceMultiplier>

            <emix:multiplier>0.111</emix:multiplier>

        </emix:priceMultiplier>

    </power:unitEnergyPrice>

</power:powerProductDescription>

 

Note that per our conformance rules, only the elements that have a changing value are expressed. All components not expressed are inherited from the gluon. A full context is provided for the expressed variables so that multiple Products Descriptions could be carried by the same Sequence.

 

For this to validate, nearly everything (perhaps everything) in each power product needs to have a minOccurs of zero. The other choice is to state explicitly that evaluation (for completeness of artifact) does not occur until after the Intervals have been assembled and the re-assembly of the virtual products completed.

 

A similar example could be made using block purchases, wherein the quantity varies by interval.

A similar example could be made using block pricing, wherein only the Price Tiers the vary by interval.

 

We have danced around this, now we need to come to a consensus how explicitly we wish to handle these cases. Any changes we make to the cardinality of product descriptions will apply to all product descriptions.

 

tc

 


“The single biggest problem in communication is the illusion that it has taken place.”
– George Bernard Shaw.


Toby Considine
TC9, Inc

TC Chair: oBIX & WS-Calendar

TC Editor: EMIX, EnergyInterop

U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee

  

Email: Toby.Considine@gmail.com
Phone: (919)619-2104

http://www.tcnine.com/
blog: www.NewDaedalus.com

 

 

<?xml version="1.0"?>
<!--
Mid-Day Price Boost
Base price until 1:00 PM (13 H) (product inherited in full from Gluon)
Heightened Price from 1:00 to 3:00 (2H) (1.4)
Heightened Price from 3:00 to 4:00 (1H) (2.4)
Heightened Price from 4:00 to 6:00 (2H) (2.1)
Base Price from 6:00 to Midnight (2H) (product inherited in full from Gluon)

This is the long form, in which all fields are required,  as per PR02 release.
-->
<emix:product xmlns:emix="http://docs.oasis-open.org/ns/emix"; xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"; xmlns:res="http://docs.oasis-open.org/ns/emix/power/resource"; xmlns:power="http://docs.oasis-open.org/ns/emix/power";>
	<xcal:properties/>
	<xcal:components>
		<xcal:gluon>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>54f8a39a-4e27-4ece-914e-60ba7fea8b9a</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text>CHILD</xcal:text>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:uid>
				</xcal:related-to>
				<xcal:dtstart>
					<xcal:parameters>
						<xcal:tzid>
							<xcal:text>America/New_York</xcal:text>
						</xcal:tzid>
					</xcal:parameters>
					<xcal:date-time>20110615T13000000</xcal:date-time>
				</xcal:dtstart>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT1H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:productType>Energy</power:productType>
						<power:serviceDeliveryPoint>
							<power:node>xxxnode.idxx</power:node>
						</power:serviceDeliveryPoint>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>1.0</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
							<power:energyReal>
								<itemDescription>RealEnergy</itemDescription>
								<itemUnits>Wh</itemUnits>
								<scale>k</scale>
							</power:energyReal>
						</power:unitEnergyPrice>
						<power:powerReal>
							<itemDescription>RealPower</itemDescription>
							<itemUnits>W</itemUnits>
							<scale>k</scale>
							<power:powerAttributes>
								<hertz>60</hertz>
								<voltage>220</voltage>
								<ac>true</ac>
							</power:powerAttributes>
						</power:powerReal>
						<power:charges/>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:gluon>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:text>
				</xcal:uid>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT13H</xcal:duration>
				</xcal:duration>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>10bf0310-ccdb-4337-bf94-00cb1bfaf4f2</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT2H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:productType>Energy</power:productType>
						<power:serviceDeliveryPoint>
							<power:node>xxxnode.idxx</power:node>
						</power:serviceDeliveryPoint>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>2.4</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
							<power:energyReal>
								<itemDescription>RealEnergy</itemDescription>
								<itemUnits>Wh</itemUnits>
								<scale>k</scale>
							</power:energyReal>
						</power:unitEnergyPrice>
						<power:powerReal>
							<itemDescription>RealPower</itemDescription>
							<itemUnits>W</itemUnits>
							<scale>k</scale>
							<power:powerAttributes>
								<hertz>60</hertz>
								<voltage>220</voltage>
								<ac>true</ac>
							</power:powerAttributes>
						</power:powerReal>
						<power:charges/>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>528d60fe-7a45-4049-b973-e7ab11d587e6</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>10bf0310-ccdb-4337-bf94-00cb1bfaf4f2</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT1H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:productType>Energy</power:productType>
						<power:serviceDeliveryPoint>
							<power:node>xxxnode.idxx</power:node>
						</power:serviceDeliveryPoint>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>2.1</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
							<power:energyReal>
								<itemDescription>RealEnergy</itemDescription>
								<itemUnits>Wh</itemUnits>
								<scale>k</scale>
							</power:energyReal>
						</power:unitEnergyPrice>
						<power:powerReal>
							<itemDescription>RealPower</itemDescription>
							<itemUnits>W</itemUnits>
							<scale>k</scale>
							<power:powerAttributes>
								<hertz>60</hertz>
								<voltage>220</voltage>
								<ac>true</ac>
							</power:powerAttributes>
						</power:powerReal>
						<power:charges/>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>b9ff80c3-e60b-4162-96ac-ca9cb67606ce</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>528d60fe-7a45-4049-b973-e7ab11d587e6</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT2H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:productType>Energy</power:productType>
						<power:serviceDeliveryPoint>
							<power:node>xxxnode.idxx</power:node>
						</power:serviceDeliveryPoint>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>1.0</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
							<power:energyReal>
								<itemDescription>RealEnergy</itemDescription>
								<itemUnits>Wh</itemUnits>
								<scale>k</scale>
							</power:energyReal>
						</power:unitEnergyPrice>
						<power:powerReal>
							<itemDescription>RealPower</itemDescription>
							<itemUnits>W</itemUnits>
							<scale>k</scale>
							<power:powerAttributes>
								<hertz>60</hertz>
								<voltage>220</voltage>
								<ac>true</ac>
							</power:powerAttributes>
						</power:powerReal>
						<power:charges/>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>e9a15dda-da7f-445e-8cfe-911554c2ae3f</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>b9ff80c3-e60b-4162-96ac-ca9cb67606ce</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT6H</xcal:duration>
				</xcal:duration>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
	</xcal:components>
	<emix:currency>AED</emix:currency>
	<emix:marketContext/>
	<emix:transactiveState>Publication</emix:transactiveState>
	<emix:side>Buy</emix:side>
	<emix:constraints>
		<emix:constraints/>
		<emix:requirements/>
	</emix:constraints>
</emix:product>
<?xml version="1.0"?>
<!--
Mid-Day Price Boost Proposed
Base price until 1:00 PM (13 H) (product inherited in full from Gluon)
Heightened Price from 1:00 to 3:00 (2H) (1.4)
Heightened Price from 3:00 to 4:00 (1H) (2.4)
Heightened Price from 4:00 to 6:00 (2H) (2.1)
Base Price from 6:00 to Midnight (2H) (product inherited in full from Gluon)

This is the short form, enabled because Product Descriptions fields are optional, as per Toby Considine Proposal

This means that minimal schemas spread over iuntervals validate on initial presentation
This means that it can be difficult to evaluate for required elements
-->
<emix:product xmlns:emix="http://docs.oasis-open.org/ns/emix"; xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"; xmlns:res="http://docs.oasis-open.org/ns/emix/power/resource"; xmlns:power="http://docs.oasis-open.org/ns/emix/power";>
	<xcal:properties/>
	<xcal:components>
		<xcal:gluon>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>54f8a39a-4e27-4ece-914e-60ba7fea8b9a</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text>CHILD</xcal:text>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:uid>
				</xcal:related-to>
				<xcal:dtstart>
					<xcal:parameters>
						<xcal:tzid>
							<xcal:text>America/New_York</xcal:text>
						</xcal:tzid>
					</xcal:parameters>
					<xcal:date-time>20110615T13000000</xcal:date-time>
				</xcal:dtstart>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT1H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:productType>Energy</power:productType>
						<power:serviceDeliveryPoint>
							<power:node>xxxnode.idxx</power:node>
						</power:serviceDeliveryPoint>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>1.0</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
							<power:energyReal>
								<itemDescription>RealEnergy</itemDescription>
								<itemUnits>Wh</itemUnits>
								<scale>k</scale>
							</power:energyReal>
						</power:unitEnergyPrice>
						<power:powerReal>
							<itemDescription>RealPower</itemDescription>
							<itemUnits>W</itemUnits>
							<scale>k</scale>
							<power:powerAttributes>
								<hertz>60</hertz>
								<voltage>220</voltage>
								<ac>true</ac>
							</power:powerAttributes>
						</power:powerReal>
						<power:charges/>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:gluon>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:text>
				</xcal:uid>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT13H</xcal:duration>
				</xcal:duration>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>10bf0310-ccdb-4337-bf94-00cb1bfaf4f2</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>64f589bc-ee35-4183-b972-537f7a49b98e</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT2H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>2.4</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
						</power:unitEnergyPrice>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>528d60fe-7a45-4049-b973-e7ab11d587e6</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>10bf0310-ccdb-4337-bf94-00cb1bfaf4f2</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT1H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>2.1</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
						</power:unitEnergyPrice>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>b9ff80c3-e60b-4162-96ac-ca9cb67606ce</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>528d60fe-7a45-4049-b973-e7ab11d587e6</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT2H</xcal:duration>
				</xcal:duration>
				<xcal:x-wsCalendar-attach>
					<xcal:parameters/>
					<power:powerProductDescription>
						<power:unitEnergyPrice>
							<emix:priceMultiplier>
								<emix:multiplier>1.0</emix:multiplier>
								<emix:marketContext>ref-to-market@context.com</emix:marketContext>
							</emix:priceMultiplier>
						</power:unitEnergyPrice>
					</power:powerProductDescription>
				</xcal:x-wsCalendar-attach>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
		<xcal:interval>
			<xcal:properties>
				<xcal:uid>
					<xcal:parameters/>
					<xcal:text>e9a15dda-da7f-445e-8cfe-911554c2ae3f</xcal:text>
				</xcal:uid>
				<xcal:related-to>
					<xcal:parameters>
						<xcal:reltype>
							<xcal:text/>
						</xcal:reltype>
					</xcal:parameters>
					<xcal:uid>b9ff80c3-e60b-4162-96ac-ca9cb67606ce</xcal:uid>
				</xcal:related-to>
				<xcal:duration>
					<xcal:parameters/>
					<xcal:duration>PT6H</xcal:duration>
				</xcal:duration>
			</xcal:properties>
			<xcal:components/>
		</xcal:interval>
	</xcal:components>
	<emix:currency>AED</emix:currency>
	<emix:marketContext/>
	<emix:transactiveState>Publication</emix:transactiveState>
	<emix:side>Buy</emix:side>
	<emix:constraints>
		<emix:constraints/>
		<emix:requirements/>
	</emix:constraints>
</emix:product>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]