blob: b6cde8340b2c17c2ce3a03274aad0a40a8b3f507 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="RandL" nsURI="http://de.tuhh.sts.octopus/octopus2emfatic/2006/RandL"
nsPrefix="RandL">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EEnum" name="RandLColor">
<eLiterals name="silver"/>
<eLiterals name="gold" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceLevel">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="program" lowerBound="1"
eType="#//LoyaltyProgram" eOpposite="#//LoyaltyProgram/levels"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="availableServices" ordered="false"
upperBound="-1" eType="#//Service" eOpposite="#//Service/level"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="Membership" ordered="false"
upperBound="-1" eType="#//Membership" eOpposite="#//Membership/currentLevel"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Gender">
<eLiterals name="male"/>
<eLiterals name="female" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transaction" abstract="true">
<eOperations name="program" lowerBound="1" eType="#//LoyaltyProgram"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="points" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="date" lowerBound="1" eType="#//Date"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="account" lowerBound="1"
eType="#//LoyaltyAccount" eOpposite="#//LoyaltyAccount/transactions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="generatedBy" lowerBound="1"
eType="#//Service" eOpposite="#//Service/transactions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="card" lowerBound="1" eType="#//CustomerCard"
eOpposite="#//CustomerCard/transactions"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LoyaltyAccount">
<eOperations name="earn">
<eParameters name="i" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eOperations>
<eOperations name="burn">
<eParameters name="i" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eOperations>
<eOperations name="getCustomerName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="isEmpty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="points" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="totalPointsEarned" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="number" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="usedServices" ordered="false"
upperBound="-1" eType="#//Service" changeable="false" volatile="true" transient="true"
derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="Membership" lowerBound="1"
eType="#//Membership" eOpposite="#//Membership/account"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transactions" ordered="false"
upperBound="-1" eType="#//Transaction" eOpposite="#//Transaction/account"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Earning" eSuperTypes="#//Transaction"/>
<eClassifiers xsi:type="ecore:EClass" name="ProgramPartner">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfCustomers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="deliveredServices" ordered="false"
upperBound="-1" eType="#//Service" eOpposite="#//Service/partner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="programs" ordered="false"
lowerBound="1" upperBound="-1" eType="#//LoyaltyProgram" eOpposite="#//LoyaltyProgram/partners"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Burning" eSuperTypes="#//Transaction"/>
<eClassifiers xsi:type="ecore:EClass" name="TransactionReport">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="balance" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="totalEarned" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="totalBurned" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="number" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="until" lowerBound="1" eType="#//Date"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//Date"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="lines" ordered="false"
upperBound="-1" eType="#//TransactionReportLine" eOpposite="#//TransactionReportLine/report"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="card" lowerBound="1" eType="#//CustomerCard"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CustomerCard">
<eOperations name="getTransactions" ordered="false" upperBound="-1" eType="#//Transaction">
<eParameters name="until" eType="#//Date"/>
<eParameters name="from" eType="#//Date"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="valid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="color" eType="#//RandLColor"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="printedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="goodThru" eType="#//Date"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="validFrom" eType="#//Date"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="myLevel" eType="#//ServiceLevel"
changeable="false" volatile="true" transient="true" derived="true" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Customer"
eOpposite="#//Customer/cards"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="Membership" lowerBound="1"
eType="#//Membership" eOpposite="#//Membership/card"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transactions" ordered="false"
upperBound="-1" eType="#//Transaction" eOpposite="#//Transaction/card"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Date">
<eOperations name="isBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject">
<eParameters name="t" eType="#//Date"/>
</eOperations>
<eOperations name="isEqual" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject">
<eParameters name="t" eType="#//Date"/>
</eOperations>
<eOperations name="fromYMD" eType="#//Date">
<eParameters name="m" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eParameters name="k" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eParameters name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eOperations>
<eOperations name="isAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject">
<eParameters name="t" eType="#//Date"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="month" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="day" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Membership">
<eStructuralFeatures xsi:type="ecore:EReference" name="currentLevel" lowerBound="1"
eType="#//ServiceLevel" eOpposite="#//ServiceLevel/Membership"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="card" lowerBound="1" eType="#//CustomerCard"
eOpposite="#//CustomerCard/Membership"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="account" eType="#//LoyaltyAccount"
eOpposite="#//LoyaltyAccount/Membership"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="programs" lowerBound="1"
eType="#//LoyaltyProgram"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="participants" lowerBound="1"
eType="#//Customer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Container_RandL">
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Customer" upperBound="-1"
eType="#//Customer" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Date" upperBound="-1"
eType="#//Date" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_CustomerCard"
upperBound="-1" eType="#//CustomerCard" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Membership" upperBound="-1"
eType="#//Membership" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Service" upperBound="-1"
eType="#//Service" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_LoyaltyProgram"
upperBound="-1" eType="#//LoyaltyProgram" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Earning" upperBound="-1"
eType="#//Earning" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_LoyaltyAccount"
upperBound="-1" eType="#//LoyaltyAccount" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_ServiceLevel"
upperBound="-1" eType="#//ServiceLevel" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_TransactionReport"
upperBound="-1" eType="#//TransactionReport" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_ProgramPartner"
upperBound="-1" eType="#//ProgramPartner" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_Burning" upperBound="-1"
eType="#//Burning" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref_RandL_TransactionReportLine"
upperBound="-1" eType="#//TransactionReportLine" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Service">
<eOperations name="calcPoints" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eOperations name="upgradePointsEarned">
<eParameters name="amount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="serviceNr" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pointsEarned" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pointsBurned" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="partner" lowerBound="1"
eType="#//ProgramPartner" eOpposite="#//ProgramPartner/deliveredServices"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transactions" ordered="false"
upperBound="-1" eType="#//Transaction" eOpposite="#//Transaction/generatedBy"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="level" lowerBound="1" eType="#//ServiceLevel"
eOpposite="#//ServiceLevel/availableServices"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Customer">
<eOperations name="birthdayHappens"/>
<eOperations name="age" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="gender" lowerBound="1"
eType="#//Gender"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isMale" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="title" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="age" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dateOfBirth" lowerBound="1"
eType="#//Date" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="programs" ordered="false"
upperBound="-1" eType="#//LoyaltyProgram" eOpposite="#//LoyaltyProgram/participants"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="cards" ordered="false"
upperBound="-1" eType="#//CustomerCard" eOpposite="#//CustomerCard/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="memberships" upperBound="-1"
eType="#//Membership"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransactionReportLine">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="partnerName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="serviceDesc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="points" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="date" lowerBound="1" eType="#//Date"
changeable="false" volatile="true" transient="true" derived="true" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transaction" lowerBound="1"
eType="#//Transaction"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="report" lowerBound="1"
eType="#//TransactionReport" eOpposite="#//TransactionReport/lines"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LoyaltyProgram">
<eOperations name="selectPopularPartners" ordered="false" upperBound="-1" eType="#//ProgramPartner">
<eParameters name="d" lowerBound="1" eType="#//Date"/>
</eOperations>
<eOperations name="addService">
<eParameters name="s" eType="#//Service"/>
<eParameters name="l" eType="#//ServiceLevel"/>
<eParameters name="p" eType="#//ProgramPartner"/>
</eOperations>
<eOperations name="getServices" ordered="false" upperBound="-1" eType="#//Service">
<eParameters name="pp" eType="#//ProgramPartner"/>
</eOperations>
<eOperations name="enrollAndCreateCustomer" lowerBound="1" eType="#//Customer">
<eParameters name="n" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="d" lowerBound="1" eType="#//Date"/>
</eOperations>
<eOperations name="enroll">
<eParameters name="c" eType="#//Customer"/>
</eOperations>
<eOperations name="addTransaction">
<eParameters name="d" eType="#//Date"/>
<eParameters name="servId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
<eParameters name="pName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="amnt" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
<eParameters name="accNr" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eOperations>
<eOperations name="getServices" ordered="false" upperBound="-1" eType="#//Service"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="partners" ordered="false"
lowerBound="1" upperBound="-1" eType="#//ProgramPartner" eOpposite="#//ProgramPartner/programs"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="levels" lowerBound="1"
upperBound="-1" eType="#//ServiceLevel" eOpposite="#//ServiceLevel/program"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="participants" upperBound="-1"
eType="#//Customer" eOpposite="#//Customer/programs"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="memberships" upperBound="-1"
eType="#//Membership"/>
</eClassifiers>
</ecore:EPackage>