From 4f816ee649624c98505bdc6dc85f4aef56e58e97 Mon Sep 17 00:00:00 2001 From: Simon <simon.eismann@uni-wuerzburg.de> Date: Wed, 25 Apr 2018 18:24:24 +0200 Subject: [PATCH] added first version of empiricalBlackbox behavior --- ...kboxBehavior_EmpiricalBlackboxBehavior.gif | Bin 0 -> 223 bytes ..._responseTimeSample_ResponseTimeSample.gif | Bin 0 -> 223 bytes ...seTimeSample_responseTime_ResponseTime.gif | Bin 0 -> 223 bytes .../full/obj16/EmpiricalBlackboxBehavior.gif | Bin 0 -> 129 bytes .../icons/full/obj16/ResponseTimeSample.gif | Bin 0 -> 129 bytes .../model/applicationlevel.genmodel | 12 +- .../model/repository.ecore | 3 + .../model/servicebehavior.ecore | 14 +- .../plugin.properties | 9 +- .../repository/BasicComponent.java | 18 ++ .../repository/RepositoryPackage.java | 30 ++- .../repository/impl/BasicComponentImpl.java | 13 + .../impl/RepositoryPackageImpl.java | 12 + .../provider/BasicComponentItemProvider.java | 7 + .../servicebehavior/BlackBoxBehavior.java | 4 +- .../EmpiricalBlackboxBehavior.java | 41 +++ .../servicebehavior/ResponseTime.java | 33 --- .../servicebehavior/ResponseTimeSample.java | 82 ++++++ .../ServicebehaviorFactory.java | 18 ++ .../ServicebehaviorPackage.java | 208 +++++++++++++-- .../impl/EmpiricalBlackboxBehaviorImpl.java | 58 +++++ .../impl/ResponseTimeImpl.java | 27 -- .../impl/ResponseTimeSampleImpl.java | 99 +++++++ .../impl/ServicebehaviorFactoryImpl.java | 24 ++ .../impl/ServicebehaviorPackageImpl.java | 91 ++++++- ...EmpiricalBlackboxBehaviorItemProvider.java | 141 ++++++++++ .../ResponseTimeSampleItemProvider.java | 183 +++++++++++++ ...icebehaviorItemProviderAdapterFactory.java | 48 ++++ .../util/ServicebehaviorAdapterFactory.java | 36 +++ .../util/ServicebehaviorSwitch.java | 43 +++ .../util/ServicebehaviorValidator.java | 245 ++++++++++-------- 31 files changed, 1288 insertions(+), 211 deletions(-) create mode 100644 tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateBasicComponent_empiricalBlackboxBehavior_EmpiricalBlackboxBehavior.gif create mode 100644 tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateEmpiricalBlackboxBehavior_responseTimeSample_ResponseTimeSample.gif create mode 100644 tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateResponseTimeSample_responseTime_ResponseTime.gif create mode 100644 tools.descartes.dml.mm.applicationlevel/icons/full/obj16/EmpiricalBlackboxBehavior.gif create mode 100644 tools.descartes.dml.mm.applicationlevel/icons/full/obj16/ResponseTimeSample.gif create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/EmpiricalBlackboxBehavior.java create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTimeSample.java create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/EmpiricalBlackboxBehaviorImpl.java create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeSampleImpl.java create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/EmpiricalBlackboxBehaviorItemProvider.java create mode 100644 tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ResponseTimeSampleItemProvider.java diff --git a/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateBasicComponent_empiricalBlackboxBehavior_EmpiricalBlackboxBehavior.gif b/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateBasicComponent_empiricalBlackboxBehavior_EmpiricalBlackboxBehavior.gif new file mode 100644 index 0000000000000000000000000000000000000000..b446c03e5730c9b7def6b810e0b2f8368285641c GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{P_L##+#%2@6TU$sq+8-`1$en|L@y3 zG&D3_yB2)xnB|%^I&E#crmF$b)=A3iy5yHONzJPin^_|K@9%pc`uq7j5dC?+`1jpr zplJ}G_>+YZ#L@u~AUhdYV-ytnQX=it7-pV5JmtdHN&U@zlS({|Kb!Pi%buhurrs}= zoar2>F?;z5c9A}<Ij2s#SuyCS-S>8}5D03R{UYJRqLb}R3lrSrZ?x3h&eb~oGCiLm Pr=}^ju_;?sk--`OWdURJ literal 0 HcmV?d00001 diff --git a/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateEmpiricalBlackboxBehavior_responseTimeSample_ResponseTimeSample.gif b/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateEmpiricalBlackboxBehavior_responseTimeSample_ResponseTimeSample.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9b72b5c8d2689433fb9432d9659a103d7ce2fc0 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqO=KL7v6&yTnNf8QR+ z{qg(jjW<X4-=DwiQsu7cYCyDglJdGP`K3)#^D4z=mI(j*`yPn?em)OGf1WS?eYY8C z8U!f*WMKrcbU*~iP6pN(1%<wpNINx#nP(4Axv+Ioe{<iY5>MmLCOy}(CuxeQ_e&*b zItOaZUVegIq)%(ksgrJ23_5D}y<IE>f*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~ OX-aKu%2rimum%9%wquq6 literal 0 HcmV?d00001 diff --git a/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateResponseTimeSample_responseTime_ResponseTime.gif b/tools.descartes.dml.mm.applicationlevel/icons/full/ctool16/CreateResponseTimeSample_responseTime_ResponseTime.gif new file mode 100644 index 0000000000000000000000000000000000000000..58edd523d023cc14033d0adc9a5e00e73d769f1a GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6thv_Ib1b-cjb&t;&j0`M^W*LR-?wjQ zXgF}-z??aAfQ(`_pIy_{fN1L^<#k>1OPi$TRf^3l5&rl0JrMo<d>)AYJYW3#ZZps{ z2vGdV!U$sNfC!MC46HE<3VkV&c4`bW&mNv~Ve6#+=DtZKp2nX|dah+p(iBtgmrBlb z4%C>v`~<s5pVpjHC*7<Vbky#9yI2SWHOzjI@L|!(cBX|1Zt^!;YHsIhoqm~~&yZ8o Nl-k&ot*Xdi4FG$PU;_XE literal 0 HcmV?d00001 diff --git a/tools.descartes.dml.mm.applicationlevel/icons/full/obj16/EmpiricalBlackboxBehavior.gif b/tools.descartes.dml.mm.applicationlevel/icons/full/obj16/EmpiricalBlackboxBehavior.gif new file mode 100644 index 0000000000000000000000000000000000000000..33a997a1606acf7cb8a32921faeee1e5c809a0cb GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|NlRJf4%YM=>Gfj zmtCq<{K>+|z`)6%1JVgHgMmfQ;H2m3y%w*(d{g0nSm?Ull=W6hg4cqDUv2b0PE)&T WR^GExlV5i^W2f7Zi9*7R4AuaR$TFz_ literal 0 HcmV?d00001 diff --git a/tools.descartes.dml.mm.applicationlevel/icons/full/obj16/ResponseTimeSample.gif b/tools.descartes.dml.mm.applicationlevel/icons/full/obj16/ResponseTimeSample.gif new file mode 100644 index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;<LVl^Md zpDc_F44e!)Ae|sH7+CZSPI|81Yw`NaHx>Seg|6F8S#PBzcr94?)kg2*G_|W{<vlAk S`E{2wcDfyzC?w3tU=0AIyf1?Q literal 0 HcmV?d00001 diff --git a/tools.descartes.dml.mm.applicationlevel/model/applicationlevel.genmodel b/tools.descartes.dml.mm.applicationlevel/model/applicationlevel.genmodel index 4ba70bbb..324cb40d 100644 --- a/tools.descartes.dml.mm.applicationlevel/model/applicationlevel.genmodel +++ b/tools.descartes.dml.mm.applicationlevel/model/applicationlevel.genmodel @@ -291,6 +291,7 @@ <genClasses ecoreClass="repository.ecore#//BasicComponent"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference repository.ecore#//BasicComponent/semaphores"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference repository.ecore#//BasicComponent/fineGrainedBehavior"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference repository.ecore#//BasicComponent/empiricalBlackboxBehavior"/> </genClasses> <genClasses ecoreClass="repository.ecore#//Semaphore"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute repository.ecore#//Semaphore/capacity"/> @@ -410,13 +411,18 @@ <genClasses ecoreClass="servicebehavior.ecore#//BlackBoxBehavior"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference servicebehavior.ecore#//BlackBoxBehavior/responseTime"/> </genClasses> - <genClasses ecoreClass="servicebehavior.ecore#//ResponseTime"> - <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference servicebehavior.ecore#//ResponseTime/blackBoxBehavior"/> - </genClasses> + <genClasses ecoreClass="servicebehavior.ecore#//ResponseTime"/> <genClasses ecoreClass="servicebehavior.ecore#//RelationshipVariable"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute servicebehavior.ecore#//RelationshipVariable/characterization"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference servicebehavior.ecore#//RelationshipVariable/explicitDescription"/> </genClasses> + <genClasses ecoreClass="servicebehavior.ecore#//EmpiricalBlackboxBehavior"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference servicebehavior.ecore#//EmpiricalBlackboxBehavior/responseTimeSample"/> + </genClasses> + <genClasses ecoreClass="servicebehavior.ecore#//ResponseTimeSample"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute servicebehavior.ecore#//ResponseTimeSample/concurrency"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute servicebehavior.ecore#//ResponseTimeSample/meanResponseTime"/> + </genClasses> </genPackages> <genPackages prefix="System" basePackage="tools.descartes.dml.mm.applicationlevel" disposableProviderFactory="true" ecorePackage="system.ecore#/"> diff --git a/tools.descartes.dml.mm.applicationlevel/model/repository.ecore b/tools.descartes.dml.mm.applicationlevel/model/repository.ecore index 818cad97..d0924164 100644 --- a/tools.descartes.dml.mm.applicationlevel/model/repository.ecore +++ b/tools.descartes.dml.mm.applicationlevel/model/repository.ecore @@ -152,6 +152,9 @@ upperBound="-1" eType="#//Semaphore" containment="true"/> <eStructuralFeatures xsi:type="ecore:EReference" name="fineGrainedBehavior" upperBound="-1" eType="ecore:EClass servicebehavior.ecore#//FineGrainedBehavior" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="empiricalBlackboxBehavior" + upperBound="-1" eType="ecore:EClass servicebehavior.ecore#//EmpiricalBlackboxBehavior" + containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Semaphore" eSuperTypes="../../tools.descartes.dml.core/model/core.ecore#//AdaptableEntity"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" lowerBound="1" diff --git a/tools.descartes.dml.mm.applicationlevel/model/servicebehavior.ecore b/tools.descartes.dml.mm.applicationlevel/model/servicebehavior.ecore index ce496fa1..3f613c4f 100644 --- a/tools.descartes.dml.mm.applicationlevel/model/servicebehavior.ecore +++ b/tools.descartes.dml.mm.applicationlevel/model/servicebehavior.ecore @@ -131,7 +131,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="BlackBoxBehavior" eSuperTypes="#//ServiceBehaviorAbstraction"> <eStructuralFeatures xsi:type="ecore:EReference" name="responseTime" eType="#//ResponseTime" - containment="true" eOpposite="#//ResponseTime/blackBoxBehavior"/> + containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ResponseTime" eSuperTypes="#//RelationshipVariable"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> @@ -140,8 +140,6 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="EnforceExplicitDescriptionWhenExplicitCharacterizationType" value="
			self.characterization = parameterdependencies::RelationshipCharacterizationType::EXPLICIT implies explicitDescription <> null"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="blackBoxBehavior" lowerBound="1" - eType="#//BlackBoxBehavior" eOpposite="#//BlackBoxBehavior/responseTime"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="RelationshipVariable" eSuperTypes="parameterdependency.ecore#//ModelVariable ../../tools.descartes.dml.identifier/model/identifier.ecore#//Identifier"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="characterization" lowerBound="1" @@ -149,4 +147,14 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="explicitDescription" eType="ecore:EClass functions.ecore#//RandomVariable" containment="true"/> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EmpiricalBlackboxBehavior" eSuperTypes="#//ServiceBehaviorAbstraction"> + <eStructuralFeatures xsi:type="ecore:EReference" name="responseTimeSample" lowerBound="1" + upperBound="-1" eType="#//ResponseTimeSample" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ResponseTimeSample"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="concurrency" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="meanResponseTime" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </eClassifiers> </ecore:EPackage> diff --git a/tools.descartes.dml.mm.applicationlevel/plugin.properties b/tools.descartes.dml.mm.applicationlevel/plugin.properties index 2d8f064d..246c4f3a 100644 --- a/tools.descartes.dml.mm.applicationlevel/plugin.properties +++ b/tools.descartes.dml.mm.applicationlevel/plugin.properties @@ -366,7 +366,7 @@ _UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 _UI_Wizard_initial_object_description = Select a model object to create _UI_FileConflict_label = File Conflict _WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? - + _UI_RelationshipVariable_type = Relationship Variable _UI_InfluencingParameterValue_relationshipVariable_feature = Relationship Variable _UI_CallParameter_parameterCharacterization_feature = Parameter Characterization @@ -374,3 +374,10 @@ _UI_ServiceBehaviorAbstraction_callParameter_feature = Call Parameter _UI_RelationshipVariable_characterization_feature = Characterization _UI_RelationshipVariable_explicitDescription_feature = Explicit Description _UI_Sample_probability_feature = Probability +_UI_EmpiricalBlackboxBehavior_type = Empirical Blackbox Behavior +_UI_ResponseTimeSample_type = Response Time Sample +_UI_BasicComponent_empiricalBlackboxBehavior_feature = Empirical Blackbox Behavior +_UI_EmpiricalBlackboxBehavior_responseTimeSample_feature = Response Time Sample +_UI_ResponseTimeSample_responseTime_feature = Response Time +_UI_ResponseTimeSample_concurrency_feature = Concurrency +_UI_ResponseTimeSample_meanResponseTime_feature = Mean Response Time diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/BasicComponent.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/BasicComponent.java index f6ad5b0e..643c6d95 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/BasicComponent.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/BasicComponent.java @@ -5,6 +5,7 @@ package tools.descartes.dml.mm.applicationlevel.repository; import org.eclipse.emf.common.util.EList; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior; import tools.descartes.dml.mm.applicationlevel.servicebehavior.FineGrainedBehavior; /** @@ -18,6 +19,7 @@ import tools.descartes.dml.mm.applicationlevel.servicebehavior.FineGrainedBehavi * <ul> * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.BasicComponent#getSemaphores <em>Semaphores</em>}</li> * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.BasicComponent#getFineGrainedBehavior <em>Fine Grained Behavior</em>}</li> + * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.BasicComponent#getEmpiricalBlackboxBehavior <em>Empirical Blackbox Behavior</em>}</li> * </ul> * * @see tools.descartes.dml.mm.applicationlevel.repository.RepositoryPackage#getBasicComponent() @@ -58,4 +60,20 @@ public interface BasicComponent extends RepositoryComponent { */ EList<FineGrainedBehavior> getFineGrainedBehavior(); + /** + * Returns the value of the '<em><b>Empirical Blackbox Behavior</b></em>' containment reference list. + * The list contents are of type {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Empirical Blackbox Behavior</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Empirical Blackbox Behavior</em>' containment reference list. + * @see tools.descartes.dml.mm.applicationlevel.repository.RepositoryPackage#getBasicComponent_EmpiricalBlackboxBehavior() + * @model containment="true" resolveProxies="true" + * @generated + */ + EList<EmpiricalBlackboxBehavior> getEmpiricalBlackboxBehavior(); + } // BasicComponent diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/RepositoryPackage.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/RepositoryPackage.java index f566128a..cd862071 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/RepositoryPackage.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/RepositoryPackage.java @@ -1048,6 +1048,15 @@ public interface RepositoryPackage extends EPackage { */ int BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR = REPOSITORY_COMPONENT_FEATURE_COUNT + 1; + /** + * The feature id for the '<em><b>Empirical Blackbox Behavior</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR = REPOSITORY_COMPONENT_FEATURE_COUNT + 2; + /** * The number of structural features of the '<em>Basic Component</em>' class. * <!-- begin-user-doc --> @@ -1055,7 +1064,7 @@ public interface RepositoryPackage extends EPackage { * @generated * @ordered */ - int BASIC_COMPONENT_FEATURE_COUNT = REPOSITORY_COMPONENT_FEATURE_COUNT + 2; + int BASIC_COMPONENT_FEATURE_COUNT = REPOSITORY_COMPONENT_FEATURE_COUNT + 3; /** * The meta object id for the '{@link tools.descartes.dml.mm.applicationlevel.repository.impl.SemaphoreImpl <em>Semaphore</em>}' class. @@ -2544,6 +2553,17 @@ public interface RepositoryPackage extends EPackage { */ EReference getBasicComponent_FineGrainedBehavior(); + /** + * Returns the meta object for the containment reference list '{@link tools.descartes.dml.mm.applicationlevel.repository.BasicComponent#getEmpiricalBlackboxBehavior <em>Empirical Blackbox Behavior</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Empirical Blackbox Behavior</em>'. + * @see tools.descartes.dml.mm.applicationlevel.repository.BasicComponent#getEmpiricalBlackboxBehavior() + * @see #getBasicComponent() + * @generated + */ + EReference getBasicComponent_EmpiricalBlackboxBehavior(); + /** * Returns the meta object for class '{@link tools.descartes.dml.mm.applicationlevel.repository.Semaphore <em>Semaphore</em>}'. * <!-- begin-user-doc --> @@ -3370,6 +3390,14 @@ public interface RepositoryPackage extends EPackage { */ EReference BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR = eINSTANCE.getBasicComponent_FineGrainedBehavior(); + /** + * The meta object literal for the '<em><b>Empirical Blackbox Behavior</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR = eINSTANCE.getBasicComponent_EmpiricalBlackboxBehavior(); + /** * The meta object literal for the '{@link tools.descartes.dml.mm.applicationlevel.repository.impl.SemaphoreImpl <em>Semaphore</em>}' class. * <!-- begin-user-doc --> diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/BasicComponentImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/BasicComponentImpl.java index 68553d3b..f32746d7 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/BasicComponentImpl.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/BasicComponentImpl.java @@ -9,6 +9,7 @@ import org.eclipse.emf.ecore.EClass; import tools.descartes.dml.mm.applicationlevel.repository.BasicComponent; import tools.descartes.dml.mm.applicationlevel.repository.RepositoryPackage; import tools.descartes.dml.mm.applicationlevel.repository.Semaphore; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior; import tools.descartes.dml.mm.applicationlevel.servicebehavior.FineGrainedBehavior; /** @@ -21,6 +22,7 @@ import tools.descartes.dml.mm.applicationlevel.servicebehavior.FineGrainedBehavi * <ul> * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.impl.BasicComponentImpl#getSemaphores <em>Semaphores</em>}</li> * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.impl.BasicComponentImpl#getFineGrainedBehavior <em>Fine Grained Behavior</em>}</li> + * <li>{@link tools.descartes.dml.mm.applicationlevel.repository.impl.BasicComponentImpl#getEmpiricalBlackboxBehavior <em>Empirical Blackbox Behavior</em>}</li> * </ul> * * @generated @@ -67,4 +69,15 @@ public class BasicComponentImpl extends RepositoryComponentImpl implements Basic return (EList<FineGrainedBehavior>)eGet(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR, true); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + @SuppressWarnings("unchecked") + public EList<EmpiricalBlackboxBehavior> getEmpiricalBlackboxBehavior() { + return (EList<EmpiricalBlackboxBehavior>)eGet(RepositoryPackage.Literals.BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR, true); + } + } //BasicComponentImpl diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/RepositoryPackageImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/RepositoryPackageImpl.java index e5d6fc33..dea95db6 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/RepositoryPackageImpl.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/impl/RepositoryPackageImpl.java @@ -827,6 +827,16 @@ public class RepositoryPackageImpl extends EPackageImpl implements RepositoryPac return (EReference)basicComponentEClass.getEStructuralFeatures().get(1); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getBasicComponent_EmpiricalBlackboxBehavior() { + return (EReference)basicComponentEClass.getEStructuralFeatures().get(2); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1314,6 +1324,7 @@ public class RepositoryPackageImpl extends EPackageImpl implements RepositoryPac basicComponentEClass = createEClass(BASIC_COMPONENT); createEReference(basicComponentEClass, BASIC_COMPONENT__SEMAPHORES); createEReference(basicComponentEClass, BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR); + createEReference(basicComponentEClass, BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR); semaphoreEClass = createEClass(SEMAPHORE); createEAttribute(semaphoreEClass, SEMAPHORE__CAPACITY); @@ -1504,6 +1515,7 @@ public class RepositoryPackageImpl extends EPackageImpl implements RepositoryPac initEClass(basicComponentEClass, BasicComponent.class, "BasicComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getBasicComponent_Semaphores(), this.getSemaphore(), null, "semaphores", null, 0, -1, BasicComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEReference(getBasicComponent_FineGrainedBehavior(), theServicebehaviorPackage.getFineGrainedBehavior(), null, "fineGrainedBehavior", null, 0, -1, BasicComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getBasicComponent_EmpiricalBlackboxBehavior(), theServicebehaviorPackage.getEmpiricalBlackboxBehavior(), null, "empiricalBlackboxBehavior", null, 0, -1, BasicComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(semaphoreEClass, Semaphore.class, "Semaphore", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSemaphore_Capacity(), ecorePackage.getEBigInteger(), "capacity", null, 1, 1, Semaphore.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java index f842e089..cab22344 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java @@ -64,6 +64,7 @@ public class BasicComponentItemProvider extends RepositoryComponentItemProvider super.getChildrenFeatures(object); childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__SEMAPHORES); childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR); + childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR); } return childrenFeatures; } @@ -121,6 +122,7 @@ public class BasicComponentItemProvider extends RepositoryComponentItemProvider switch (notification.getFeatureID(BasicComponent.class)) { case RepositoryPackage.BASIC_COMPONENT__SEMAPHORES: case RepositoryPackage.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR: + case RepositoryPackage.BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } @@ -147,6 +149,11 @@ public class BasicComponentItemProvider extends RepositoryComponentItemProvider (createChildParameter (RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR, ServicebehaviorFactory.eINSTANCE.createFineGrainedBehavior())); + + newChildDescriptors.add + (createChildParameter + (RepositoryPackage.Literals.BASIC_COMPONENT__EMPIRICAL_BLACKBOX_BEHAVIOR, + ServicebehaviorFactory.eINSTANCE.createEmpiricalBlackboxBehavior())); } } diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/BlackBoxBehavior.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/BlackBoxBehavior.java index 0fdfe894..bd6cb3c0 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/BlackBoxBehavior.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/BlackBoxBehavior.java @@ -23,7 +23,6 @@ package tools.descartes.dml.mm.applicationlevel.servicebehavior; public interface BlackBoxBehavior extends ServiceBehaviorAbstraction { /** * Returns the value of the '<em><b>Response Time</b></em>' containment reference. - * It is bidirectional and its opposite is '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior <em>Black Box Behavior</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Response Time</em>' containment reference isn't clear, @@ -33,8 +32,7 @@ public interface BlackBoxBehavior extends ServiceBehaviorAbstraction { * @return the value of the '<em>Response Time</em>' containment reference. * @see #setResponseTime(ResponseTime) * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getBlackBoxBehavior_ResponseTime() - * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior - * @model opposite="blackBoxBehavior" containment="true" resolveProxies="true" + * @model containment="true" resolveProxies="true" * @generated */ ResponseTime getResponseTime(); diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/EmpiricalBlackboxBehavior.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/EmpiricalBlackboxBehavior.java new file mode 100644 index 00000000..f9caf4f2 --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/EmpiricalBlackboxBehavior.java @@ -0,0 +1,41 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Empirical Blackbox Behavior</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior#getResponseTimeSample <em>Response Time Sample</em>}</li> + * </ul> + * + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getEmpiricalBlackboxBehavior() + * @model + * @generated + */ +public interface EmpiricalBlackboxBehavior extends ServiceBehaviorAbstraction { + /** + * Returns the value of the '<em><b>Response Time Sample</b></em>' containment reference list. + * The list contents are of type {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Response Time Sample</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Response Time Sample</em>' containment reference list. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getEmpiricalBlackboxBehavior_ResponseTimeSample() + * @model containment="true" resolveProxies="true" required="true" + * @generated + */ + EList<ResponseTimeSample> getResponseTimeSample(); + +} // EmpiricalBlackboxBehavior diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTime.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTime.java index 88eb0b75..4ff4917e 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTime.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTime.java @@ -8,12 +8,6 @@ package tools.descartes.dml.mm.applicationlevel.servicebehavior; * A representation of the model object '<em><b>Response Time</b></em>'. * <!-- end-user-doc --> * - * <p> - * The following features are supported: - * </p> - * <ul> - * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior <em>Black Box Behavior</em>}</li> - * </ul> * * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getResponseTime() * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='EnforceExplicitDescriptionWhenExplicitCharacterizationType'" @@ -21,32 +15,5 @@ package tools.descartes.dml.mm.applicationlevel.servicebehavior; * @generated */ public interface ResponseTime extends RelationshipVariable { - /** - * Returns the value of the '<em><b>Black Box Behavior</b></em>' container reference. - * It is bidirectional and its opposite is '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.BlackBoxBehavior#getResponseTime <em>Response Time</em>}'. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Black Box Behavior</em>' container reference isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Black Box Behavior</em>' container reference. - * @see #setBlackBoxBehavior(BlackBoxBehavior) - * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getResponseTime_BlackBoxBehavior() - * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.BlackBoxBehavior#getResponseTime - * @model opposite="responseTime" required="true" transient="false" - * @generated - */ - BlackBoxBehavior getBlackBoxBehavior(); - - /** - * Sets the value of the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior <em>Black Box Behavior</em>}' container reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Black Box Behavior</em>' container reference. - * @see #getBlackBoxBehavior() - * @generated - */ - void setBlackBoxBehavior(BlackBoxBehavior value); } // ResponseTime diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTimeSample.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTimeSample.java new file mode 100644 index 00000000..f24e9ef6 --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ResponseTimeSample.java @@ -0,0 +1,82 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior; + +import java.math.BigDecimal; +import java.math.BigInteger; + +import org.eclipse.emf.cdo.CDOObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Response Time Sample</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getConcurrency <em>Concurrency</em>}</li> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getMeanResponseTime <em>Mean Response Time</em>}</li> + * </ul> + * + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getResponseTimeSample() + * @model + * @extends CDOObject + * @generated + */ +public interface ResponseTimeSample extends CDOObject { + /** + * Returns the value of the '<em><b>Concurrency</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Concurrency</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Concurrency</em>' attribute. + * @see #setConcurrency(BigInteger) + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getResponseTimeSample_Concurrency() + * @model required="true" + * @generated + */ + BigInteger getConcurrency(); + + /** + * Sets the value of the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getConcurrency <em>Concurrency</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Concurrency</em>' attribute. + * @see #getConcurrency() + * @generated + */ + void setConcurrency(BigInteger value); + + /** + * Returns the value of the '<em><b>Mean Response Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mean Response Time</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mean Response Time</em>' attribute. + * @see #setMeanResponseTime(BigDecimal) + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage#getResponseTimeSample_MeanResponseTime() + * @model required="true" + * @generated + */ + BigDecimal getMeanResponseTime(); + + /** + * Sets the value of the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getMeanResponseTime <em>Mean Response Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mean Response Time</em>' attribute. + * @see #getMeanResponseTime() + * @generated + */ + void setMeanResponseTime(BigDecimal value); + +} // ResponseTimeSample diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorFactory.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorFactory.java index 89c9d2de..866579f2 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorFactory.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorFactory.java @@ -193,6 +193,24 @@ public interface ServicebehaviorFactory extends EFactory { */ RelationshipVariable createRelationshipVariable(); + /** + * Returns a new object of class '<em>Empirical Blackbox Behavior</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Empirical Blackbox Behavior</em>'. + * @generated + */ + EmpiricalBlackboxBehavior createEmpiricalBlackboxBehavior(); + + /** + * Returns a new object of class '<em>Response Time Sample</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Response Time Sample</em>'. + * @generated + */ + ResponseTimeSample createResponseTimeSample(); + /** * Returns the package supported by this factory. * <!-- begin-user-doc --> diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorPackage.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorPackage.java index dd072eff..877ec969 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorPackage.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/ServicebehaviorPackage.java @@ -1082,22 +1082,106 @@ public interface ServicebehaviorPackage extends EPackage { int RESPONSE_TIME__EXPLICIT_DESCRIPTION = RELATIONSHIP_VARIABLE__EXPLICIT_DESCRIPTION; /** - * The feature id for the '<em><b>Black Box Behavior</b></em>' container reference. + * The number of structural features of the '<em>Response Time</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int RESPONSE_TIME__BLACK_BOX_BEHAVIOR = RELATIONSHIP_VARIABLE_FEATURE_COUNT + 0; + int RESPONSE_TIME_FEATURE_COUNT = RELATIONSHIP_VARIABLE_FEATURE_COUNT + 0; + /** - * The number of structural features of the '<em>Response Time</em>' class. + * The meta object id for the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.EmpiricalBlackboxBehaviorImpl <em>Empirical Blackbox Behavior</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.EmpiricalBlackboxBehaviorImpl + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ServicebehaviorPackageImpl#getEmpiricalBlackboxBehavior() + * @generated + */ + int EMPIRICAL_BLACKBOX_BEHAVIOR = 21; + + /** + * The feature id for the '<em><b>Described Signature</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPIRICAL_BLACKBOX_BEHAVIOR__DESCRIBED_SIGNATURE = SERVICE_BEHAVIOR_ABSTRACTION__DESCRIBED_SIGNATURE; + + /** + * The feature id for the '<em><b>Call Parameter</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPIRICAL_BLACKBOX_BEHAVIOR__CALL_PARAMETER = SERVICE_BEHAVIOR_ABSTRACTION__CALL_PARAMETER; + + /** + * The feature id for the '<em><b>Interface Providing Role</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPIRICAL_BLACKBOX_BEHAVIOR__INTERFACE_PROVIDING_ROLE = SERVICE_BEHAVIOR_ABSTRACTION__INTERFACE_PROVIDING_ROLE; + + /** + * The feature id for the '<em><b>Response Time Sample</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE = SERVICE_BEHAVIOR_ABSTRACTION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Empirical Blackbox Behavior</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int RESPONSE_TIME_FEATURE_COUNT = RELATIONSHIP_VARIABLE_FEATURE_COUNT + 1; + int EMPIRICAL_BLACKBOX_BEHAVIOR_FEATURE_COUNT = SERVICE_BEHAVIOR_ABSTRACTION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl <em>Response Time Sample</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ServicebehaviorPackageImpl#getResponseTimeSample() + * @generated + */ + int RESPONSE_TIME_SAMPLE = 22; + + /** + * The feature id for the '<em><b>Concurrency</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESPONSE_TIME_SAMPLE__CONCURRENCY = 0; + + /** + * The feature id for the '<em><b>Mean Response Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME = 1; + + /** + * The number of structural features of the '<em>Response Time Sample</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESPONSE_TIME_SAMPLE_FEATURE_COUNT = 2; /** @@ -1608,17 +1692,6 @@ public interface ServicebehaviorPackage extends EPackage { */ EClass getResponseTime(); - /** - * Returns the meta object for the container reference '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior <em>Black Box Behavior</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the container reference '<em>Black Box Behavior</em>'. - * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime#getBlackBoxBehavior() - * @see #getResponseTime() - * @generated - */ - EReference getResponseTime_BlackBoxBehavior(); - /** * Returns the meta object for class '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.RelationshipVariable <em>Relationship Variable</em>}'. * <!-- begin-user-doc --> @@ -1651,6 +1724,59 @@ public interface ServicebehaviorPackage extends EPackage { */ EReference getRelationshipVariable_ExplicitDescription(); + /** + * Returns the meta object for class '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior <em>Empirical Blackbox Behavior</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Empirical Blackbox Behavior</em>'. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior + * @generated + */ + EClass getEmpiricalBlackboxBehavior(); + + /** + * Returns the meta object for the containment reference list '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior#getResponseTimeSample <em>Response Time Sample</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Response Time Sample</em>'. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior#getResponseTimeSample() + * @see #getEmpiricalBlackboxBehavior() + * @generated + */ + EReference getEmpiricalBlackboxBehavior_ResponseTimeSample(); + + /** + * Returns the meta object for class '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample <em>Response Time Sample</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Response Time Sample</em>'. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample + * @generated + */ + EClass getResponseTimeSample(); + + /** + * Returns the meta object for the attribute '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getConcurrency <em>Concurrency</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Concurrency</em>'. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getConcurrency() + * @see #getResponseTimeSample() + * @generated + */ + EAttribute getResponseTimeSample_Concurrency(); + + /** + * Returns the meta object for the attribute '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getMeanResponseTime <em>Mean Response Time</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Mean Response Time</em>'. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample#getMeanResponseTime() + * @see #getResponseTimeSample() + * @generated + */ + EAttribute getResponseTimeSample_MeanResponseTime(); + /** * Returns the factory that creates the instances of the model. * <!-- begin-user-doc --> @@ -2097,14 +2223,6 @@ public interface ServicebehaviorPackage extends EPackage { */ EClass RESPONSE_TIME = eINSTANCE.getResponseTime(); - /** - * The meta object literal for the '<em><b>Black Box Behavior</b></em>' container reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference RESPONSE_TIME__BLACK_BOX_BEHAVIOR = eINSTANCE.getResponseTime_BlackBoxBehavior(); - /** * The meta object literal for the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.RelationshipVariableImpl <em>Relationship Variable</em>}' class. * <!-- begin-user-doc --> @@ -2131,6 +2249,50 @@ public interface ServicebehaviorPackage extends EPackage { */ EReference RELATIONSHIP_VARIABLE__EXPLICIT_DESCRIPTION = eINSTANCE.getRelationshipVariable_ExplicitDescription(); + /** + * The meta object literal for the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.EmpiricalBlackboxBehaviorImpl <em>Empirical Blackbox Behavior</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.EmpiricalBlackboxBehaviorImpl + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ServicebehaviorPackageImpl#getEmpiricalBlackboxBehavior() + * @generated + */ + EClass EMPIRICAL_BLACKBOX_BEHAVIOR = eINSTANCE.getEmpiricalBlackboxBehavior(); + + /** + * The meta object literal for the '<em><b>Response Time Sample</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE = eINSTANCE.getEmpiricalBlackboxBehavior_ResponseTimeSample(); + + /** + * The meta object literal for the '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl <em>Response Time Sample</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ServicebehaviorPackageImpl#getResponseTimeSample() + * @generated + */ + EClass RESPONSE_TIME_SAMPLE = eINSTANCE.getResponseTimeSample(); + + /** + * The meta object literal for the '<em><b>Concurrency</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute RESPONSE_TIME_SAMPLE__CONCURRENCY = eINSTANCE.getResponseTimeSample_Concurrency(); + + /** + * The meta object literal for the '<em><b>Mean Response Time</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME = eINSTANCE.getResponseTimeSample_MeanResponseTime(); + } } //ServicebehaviorPackage diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/EmpiricalBlackboxBehaviorImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/EmpiricalBlackboxBehaviorImpl.java new file mode 100644 index 00000000..85841546 --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/EmpiricalBlackboxBehaviorImpl.java @@ -0,0 +1,58 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior.impl; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Empirical Blackbox Behavior</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.EmpiricalBlackboxBehaviorImpl#getResponseTimeSample <em>Response Time Sample</em>}</li> + * </ul> + * + * @generated + */ +public class EmpiricalBlackboxBehaviorImpl extends ServiceBehaviorAbstractionImpl implements EmpiricalBlackboxBehavior { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EmpiricalBlackboxBehaviorImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ServicebehaviorPackage.Literals.EMPIRICAL_BLACKBOX_BEHAVIOR; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + @SuppressWarnings("unchecked") + public EList<ResponseTimeSample> getResponseTimeSample() { + return (EList<ResponseTimeSample>)eGet(ServicebehaviorPackage.Literals.EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE, true); + } + +} //EmpiricalBlackboxBehaviorImpl diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeImpl.java index 9eac3cdc..cedcc55f 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeImpl.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeImpl.java @@ -4,7 +4,6 @@ package tools.descartes.dml.mm.applicationlevel.servicebehavior.impl; import org.eclipse.emf.ecore.EClass; -import tools.descartes.dml.mm.applicationlevel.servicebehavior.BlackBoxBehavior; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; @@ -12,12 +11,6 @@ import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPa * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Response Time</b></em>'. * <!-- end-user-doc --> - * <p> - * The following features are implemented: - * </p> - * <ul> - * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeImpl#getBlackBoxBehavior <em>Black Box Behavior</em>}</li> - * </ul> * * @generated */ @@ -41,24 +34,4 @@ public class ResponseTimeImpl extends RelationshipVariableImpl implements Respon return ServicebehaviorPackage.Literals.RESPONSE_TIME; } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public BlackBoxBehavior getBlackBoxBehavior() { - return (BlackBoxBehavior)eGet(ServicebehaviorPackage.Literals.RESPONSE_TIME__BLACK_BOX_BEHAVIOR, true); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setBlackBoxBehavior(BlackBoxBehavior newBlackBoxBehavior) { - eSet(ServicebehaviorPackage.Literals.RESPONSE_TIME__BLACK_BOX_BEHAVIOR, newBlackBoxBehavior); - } - } //ResponseTimeImpl diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeSampleImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeSampleImpl.java new file mode 100644 index 00000000..b89236f8 --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ResponseTimeSampleImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior.impl; + +import java.math.BigDecimal; +import java.math.BigInteger; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.internal.cdo.CDOObjectImpl; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Response Time Sample</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl#getConcurrency <em>Concurrency</em>}</li> + * <li>{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.impl.ResponseTimeSampleImpl#getMeanResponseTime <em>Mean Response Time</em>}</li> + * </ul> + * + * @generated + */ +public class ResponseTimeSampleImpl extends CDOObjectImpl implements ResponseTimeSample { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ResponseTimeSampleImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected int eStaticFeatureCount() { + return 0; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public BigInteger getConcurrency() { + return (BigInteger)eGet(ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__CONCURRENCY, true); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setConcurrency(BigInteger newConcurrency) { + eSet(ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__CONCURRENCY, newConcurrency); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public BigDecimal getMeanResponseTime() { + return (BigDecimal)eGet(ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME, true); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setMeanResponseTime(BigDecimal newMeanResponseTime) { + eSet(ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME, newMeanResponseTime); + } + +} //ResponseTimeSampleImpl diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorFactoryImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorFactoryImpl.java index 22029c8b..d323e04a 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorFactoryImpl.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorFactoryImpl.java @@ -93,6 +93,8 @@ public class ServicebehaviorFactoryImpl extends EFactoryImpl implements Serviceb case ServicebehaviorPackage.BLACK_BOX_BEHAVIOR: return createBlackBoxBehavior(); case ServicebehaviorPackage.RESPONSE_TIME: return createResponseTime(); case ServicebehaviorPackage.RELATIONSHIP_VARIABLE: return createRelationshipVariable(); + case ServicebehaviorPackage.EMPIRICAL_BLACKBOX_BEHAVIOR: return createEmpiricalBlackboxBehavior(); + case ServicebehaviorPackage.RESPONSE_TIME_SAMPLE: return createResponseTimeSample(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -307,6 +309,28 @@ public class ServicebehaviorFactoryImpl extends EFactoryImpl implements Serviceb return relationshipVariable; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EmpiricalBlackboxBehavior createEmpiricalBlackboxBehavior() { + EmpiricalBlackboxBehaviorImpl empiricalBlackboxBehavior = new EmpiricalBlackboxBehaviorImpl(); + return empiricalBlackboxBehavior; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResponseTimeSample createResponseTimeSample() { + ResponseTimeSampleImpl responseTimeSample = new ResponseTimeSampleImpl(); + return responseTimeSample; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorPackageImpl.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorPackageImpl.java index f5eef2ad..deff7a24 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorPackageImpl.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/impl/ServicebehaviorPackageImpl.java @@ -26,6 +26,7 @@ import tools.descartes.dml.mm.applicationlevel.servicebehavior.BranchProbabiliti import tools.descartes.dml.mm.applicationlevel.servicebehavior.CallFrequency; import tools.descartes.dml.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ComponentInternalBehavior; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ExternalCall; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ExternalCallAction; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ExternalCallFrequency; @@ -38,6 +39,7 @@ import tools.descartes.dml.mm.applicationlevel.servicebehavior.RelationshipVaria import tools.descartes.dml.mm.applicationlevel.servicebehavior.ReleaseAction; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResourceDemand; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTime; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServiceBehaviorAbstraction; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorFactory; import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; @@ -200,6 +202,20 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb */ private EClass relationshipVariableEClass = null; + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass empiricalBlackboxBehaviorEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass responseTimeSampleEClass = null; + /** * Creates an instance of the model <b>Package</b>, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package @@ -776,8 +792,8 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb * @generated */ @Override - public EReference getResponseTime_BlackBoxBehavior() { - return (EReference)responseTimeEClass.getEStructuralFeatures().get(0); + public EClass getRelationshipVariable() { + return relationshipVariableEClass; } /** @@ -786,8 +802,8 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb * @generated */ @Override - public EClass getRelationshipVariable() { - return relationshipVariableEClass; + public EAttribute getRelationshipVariable_Characterization() { + return (EAttribute)relationshipVariableEClass.getEStructuralFeatures().get(0); } /** @@ -796,8 +812,8 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb * @generated */ @Override - public EAttribute getRelationshipVariable_Characterization() { - return (EAttribute)relationshipVariableEClass.getEStructuralFeatures().get(0); + public EReference getRelationshipVariable_ExplicitDescription() { + return (EReference)relationshipVariableEClass.getEStructuralFeatures().get(1); } /** @@ -806,8 +822,48 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb * @generated */ @Override - public EReference getRelationshipVariable_ExplicitDescription() { - return (EReference)relationshipVariableEClass.getEStructuralFeatures().get(1); + public EClass getEmpiricalBlackboxBehavior() { + return empiricalBlackboxBehaviorEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getEmpiricalBlackboxBehavior_ResponseTimeSample() { + return (EReference)empiricalBlackboxBehaviorEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getResponseTimeSample() { + return responseTimeSampleEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getResponseTimeSample_Concurrency() { + return (EAttribute)responseTimeSampleEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getResponseTimeSample_MeanResponseTime() { + return (EAttribute)responseTimeSampleEClass.getEStructuralFeatures().get(1); } /** @@ -906,11 +962,17 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb createEReference(blackBoxBehaviorEClass, BLACK_BOX_BEHAVIOR__RESPONSE_TIME); responseTimeEClass = createEClass(RESPONSE_TIME); - createEReference(responseTimeEClass, RESPONSE_TIME__BLACK_BOX_BEHAVIOR); relationshipVariableEClass = createEClass(RELATIONSHIP_VARIABLE); createEAttribute(relationshipVariableEClass, RELATIONSHIP_VARIABLE__CHARACTERIZATION); createEReference(relationshipVariableEClass, RELATIONSHIP_VARIABLE__EXPLICIT_DESCRIPTION); + + empiricalBlackboxBehaviorEClass = createEClass(EMPIRICAL_BLACKBOX_BEHAVIOR); + createEReference(empiricalBlackboxBehaviorEClass, EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE); + + responseTimeSampleEClass = createEClass(RESPONSE_TIME_SAMPLE); + createEAttribute(responseTimeSampleEClass, RESPONSE_TIME_SAMPLE__CONCURRENCY); + createEAttribute(responseTimeSampleEClass, RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME); } /** @@ -967,6 +1029,7 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb responseTimeEClass.getESuperTypes().add(this.getRelationshipVariable()); relationshipVariableEClass.getESuperTypes().add(theParameterdependenciesPackage.getModelVariable()); relationshipVariableEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); + empiricalBlackboxBehaviorEClass.getESuperTypes().add(this.getServiceBehaviorAbstraction()); // Initialize classes and features; add operations and parameters initEClass(serviceBehaviorAbstractionEClass, ServiceBehaviorAbstraction.class, "ServiceBehaviorAbstraction", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -1033,15 +1096,21 @@ public class ServicebehaviorPackageImpl extends EPackageImpl implements Serviceb initEReference(getCallFrequency_ExternalCallFrequency(), this.getExternalCallFrequency(), this.getExternalCallFrequency_Frequency(), "externalCallFrequency", null, 1, 1, CallFrequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(blackBoxBehaviorEClass, BlackBoxBehavior.class, "BlackBoxBehavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getBlackBoxBehavior_ResponseTime(), this.getResponseTime(), this.getResponseTime_BlackBoxBehavior(), "responseTime", null, 0, 1, BlackBoxBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getBlackBoxBehavior_ResponseTime(), this.getResponseTime(), null, "responseTime", null, 0, 1, BlackBoxBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(responseTimeEClass, ResponseTime.class, "ResponseTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getResponseTime_BlackBoxBehavior(), this.getBlackBoxBehavior(), this.getBlackBoxBehavior_ResponseTime(), "blackBoxBehavior", null, 1, 1, ResponseTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(relationshipVariableEClass, RelationshipVariable.class, "RelationshipVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getRelationshipVariable_Characterization(), theParameterdependenciesPackage.getModelVariableCharacterizationType(), "characterization", null, 1, 1, RelationshipVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRelationshipVariable_ExplicitDescription(), theFunctionsPackage.getRandomVariable(), null, "explicitDescription", null, 0, 1, RelationshipVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(empiricalBlackboxBehaviorEClass, EmpiricalBlackboxBehavior.class, "EmpiricalBlackboxBehavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getEmpiricalBlackboxBehavior_ResponseTimeSample(), this.getResponseTimeSample(), null, "responseTimeSample", null, 1, -1, EmpiricalBlackboxBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(responseTimeSampleEClass, ResponseTimeSample.class, "ResponseTimeSample", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getResponseTimeSample_Concurrency(), ecorePackage.getEBigInteger(), "concurrency", null, 1, 1, ResponseTimeSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getResponseTimeSample_MeanResponseTime(), ecorePackage.getEBigDecimal(), "meanResponseTime", null, 1, 1, ResponseTimeSample.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + // Create resource createResource(eNS_URI); diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/EmpiricalBlackboxBehaviorItemProvider.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/EmpiricalBlackboxBehaviorItemProvider.java new file mode 100644 index 00000000..704f9812 --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/EmpiricalBlackboxBehaviorItemProvider.java @@ -0,0 +1,141 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorFactory; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; + +/** + * This is the item provider adapter for a {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class EmpiricalBlackboxBehaviorItemProvider extends ServiceBehaviorAbstractionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EmpiricalBlackboxBehaviorItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(ServicebehaviorPackage.Literals.EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns EmpiricalBlackboxBehavior.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EmpiricalBlackboxBehavior")); + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_EmpiricalBlackboxBehavior_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EmpiricalBlackboxBehavior.class)) { + case ServicebehaviorPackage.EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (ServicebehaviorPackage.Literals.EMPIRICAL_BLACKBOX_BEHAVIOR__RESPONSE_TIME_SAMPLE, + ServicebehaviorFactory.eINSTANCE.createResponseTimeSample())); + } + +} diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ResponseTimeSampleItemProvider.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ResponseTimeSampleItemProvider.java new file mode 100644 index 00000000..3435302f --- /dev/null +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ResponseTimeSampleItemProvider.java @@ -0,0 +1,183 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package tools.descartes.dml.mm.applicationlevel.servicebehavior.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import tools.descartes.dml.identifier.bugfix.BugfixCDOItemProviderAdapter; +import tools.descartes.dml.mm.applicationlevel.provider.ApplicationlevelEditPlugin; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.ServicebehaviorPackage; + +/** + * This is the item provider adapter for a {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ResponseTimeSampleItemProvider + extends BugfixCDOItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ResponseTimeSampleItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addConcurrencyPropertyDescriptor(object); + addMeanResponseTimePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Concurrency feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addConcurrencyPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ResponseTimeSample_concurrency_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ResponseTimeSample_concurrency_feature", "_UI_ResponseTimeSample_type"), + ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__CONCURRENCY, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Mean Response Time feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addMeanResponseTimePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ResponseTimeSample_meanResponseTime_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ResponseTimeSample_meanResponseTime_feature", "_UI_ResponseTimeSample_type"), + ServicebehaviorPackage.Literals.RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns ResponseTimeSample.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ResponseTimeSample")); + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated NOT + */ + @Override + public String getText(Object object) { + ResponseTimeSample rts = (ResponseTimeSample) object; + if (rts.getConcurrency() != null && rts.getMeanResponseTime() != null) + return getString("_UI_ResponseTimeSample_type") + " " + rts.getConcurrency() + " --> " + + rts.getMeanResponseTime(); + return getString("_UI_ResponseTimeSample_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ResponseTimeSample.class)) { + case ServicebehaviorPackage.RESPONSE_TIME_SAMPLE__CONCURRENCY: + case ServicebehaviorPackage.RESPONSE_TIME_SAMPLE__MEAN_RESPONSE_TIME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return ApplicationlevelEditPlugin.INSTANCE; + } + +} diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java index 8f4c7911..6b14424e 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java @@ -508,6 +508,52 @@ public class ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAd return relationshipVariableItemProvider; } + /** + * This keeps track of the one adapter used for all {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EmpiricalBlackboxBehaviorItemProvider empiricalBlackboxBehaviorItemProvider; + + /** + * This creates an adapter for a {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createEmpiricalBlackboxBehaviorAdapter() { + if (empiricalBlackboxBehaviorItemProvider == null) { + empiricalBlackboxBehaviorItemProvider = new EmpiricalBlackboxBehaviorItemProvider(this); + } + + return empiricalBlackboxBehaviorItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ResponseTimeSampleItemProvider responseTimeSampleItemProvider; + + /** + * This creates an adapter for a {@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createResponseTimeSampleAdapter() { + if (responseTimeSampleItemProvider == null) { + responseTimeSampleItemProvider = new ResponseTimeSampleItemProvider(this); + } + + return responseTimeSampleItemProvider; + } + /** * This returns the root adapter factory that contains this factory. * <!-- begin-user-doc --> @@ -632,6 +678,8 @@ public class ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAd if (blackBoxBehaviorItemProvider != null) blackBoxBehaviorItemProvider.dispose(); if (responseTimeItemProvider != null) responseTimeItemProvider.dispose(); if (relationshipVariableItemProvider != null) relationshipVariableItemProvider.dispose(); + if (empiricalBlackboxBehaviorItemProvider != null) empiricalBlackboxBehaviorItemProvider.dispose(); + if (responseTimeSampleItemProvider != null) responseTimeSampleItemProvider.dispose(); } } diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorAdapterFactory.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorAdapterFactory.java index 1c7c2c47..ad7cf560 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorAdapterFactory.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorAdapterFactory.java @@ -177,6 +177,14 @@ public class ServicebehaviorAdapterFactory extends AdapterFactoryImpl { return createRelationshipVariableAdapter(); } @Override + public Adapter caseEmpiricalBlackboxBehavior(EmpiricalBlackboxBehavior object) { + return createEmpiricalBlackboxBehaviorAdapter(); + } + @Override + public Adapter caseResponseTimeSample(ResponseTimeSample object) { + return createResponseTimeSampleAdapter(); + } + @Override public Adapter caseModelVariable(ModelVariable object) { return createModelVariableAdapter(); } @@ -510,6 +518,34 @@ public class ServicebehaviorAdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior <em>Empirical Blackbox Behavior</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.EmpiricalBlackboxBehavior + * @generated + */ + public Adapter createEmpiricalBlackboxBehaviorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample <em>Response Time Sample</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see tools.descartes.dml.mm.applicationlevel.servicebehavior.ResponseTimeSample + * @generated + */ + public Adapter createResponseTimeSampleAdapter() { + return null; + } + /** * Creates a new adapter for an object of class '{@link tools.descartes.dml.identifier.Identifier <em>Identifier</em>}'. * <!-- begin-user-doc --> diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorSwitch.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorSwitch.java index d7f5a3bd..34b3014b 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorSwitch.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorSwitch.java @@ -251,6 +251,19 @@ public class ServicebehaviorSwitch<T> extends Switch<T> { if (result == null) result = defaultCase(theEObject); return result; } + case ServicebehaviorPackage.EMPIRICAL_BLACKBOX_BEHAVIOR: { + EmpiricalBlackboxBehavior empiricalBlackboxBehavior = (EmpiricalBlackboxBehavior)theEObject; + T result = caseEmpiricalBlackboxBehavior(empiricalBlackboxBehavior); + if (result == null) result = caseServiceBehaviorAbstraction(empiricalBlackboxBehavior); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ServicebehaviorPackage.RESPONSE_TIME_SAMPLE: { + ResponseTimeSample responseTimeSample = (ResponseTimeSample)theEObject; + T result = caseResponseTimeSample(responseTimeSample); + if (result == null) result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } } @@ -570,6 +583,36 @@ public class ServicebehaviorSwitch<T> extends Switch<T> { return null; } + /** + * Returns the result of interpreting the object as an instance of '<em>Empirical Blackbox Behavior</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Empirical Blackbox Behavior</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEmpiricalBlackboxBehavior(EmpiricalBlackboxBehavior object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Response Time Sample</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Response Time Sample</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseResponseTimeSample(ResponseTimeSample object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of '<em>Identifier</em>'. * <!-- begin-user-doc --> diff --git a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorValidator.java b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorValidator.java index ef57b798..69711a20 100644 --- a/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorValidator.java +++ b/tools.descartes.dml.mm.applicationlevel/src/tools/descartes/dml/mm/applicationlevel/servicebehavior/util/ServicebehaviorValidator.java @@ -13,6 +13,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.EObjectValidator; import tools.descartes.dml.mm.applicationlevel.parameterdependencies.util.ParameterdependenciesValidator; +import tools.descartes.dml.mm.applicationlevel.servicebehavior.*; import tools.descartes.dml.mm.applicationlevel.servicebehavior.AbstractAction; import tools.descartes.dml.mm.applicationlevel.servicebehavior.AcquireAction; import tools.descartes.dml.mm.applicationlevel.servicebehavior.BlackBoxBehavior; @@ -159,6 +160,10 @@ public class ServicebehaviorValidator extends EObjectValidator { return validateResponseTime((ResponseTime)value, diagnostics, context); case ServicebehaviorPackage.RELATIONSHIP_VARIABLE: return validateRelationshipVariable((RelationshipVariable)value, diagnostics, context); + case ServicebehaviorPackage.EMPIRICAL_BLACKBOX_BEHAVIOR: + return validateEmpiricalBlackboxBehavior((EmpiricalBlackboxBehavior)value, diagnostics, context); + case ServicebehaviorPackage.RESPONSE_TIME_SAMPLE: + return validateResponseTimeSample((ResponseTimeSample)value, diagnostics, context); default: return true; } @@ -170,15 +175,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateServiceBehaviorAbstraction(ServiceBehaviorAbstraction serviceBehaviorAbstraction, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)serviceBehaviorAbstraction, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)serviceBehaviorAbstraction, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)serviceBehaviorAbstraction, diagnostics, context); + if (!validate_NoCircularContainment(serviceBehaviorAbstraction, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(serviceBehaviorAbstraction, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(serviceBehaviorAbstraction, diagnostics, context); if (result || diagnostics != null) result &= validateServiceBehaviorAbstraction_DescribedSignatureMustBelongToInterfaceReferencedByInterfaceProvidingRole(serviceBehaviorAbstraction, diagnostics, context); return result; } @@ -202,7 +207,7 @@ public class ServicebehaviorValidator extends EObjectValidator { return validate (ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION, - (EObject)serviceBehaviorAbstraction, + serviceBehaviorAbstraction, diagnostics, context, "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", @@ -218,15 +223,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateFineGrainedBehavior(FineGrainedBehavior fineGrainedBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)fineGrainedBehavior, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)fineGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)fineGrainedBehavior, diagnostics, context); + if (!validate_NoCircularContainment(fineGrainedBehavior, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(fineGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(fineGrainedBehavior, diagnostics, context); if (result || diagnostics != null) result &= validateServiceBehaviorAbstraction_DescribedSignatureMustBelongToInterfaceReferencedByInterfaceProvidingRole(fineGrainedBehavior, diagnostics, context); return result; } @@ -237,7 +242,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateComponentInternalBehavior(ComponentInternalBehavior componentInternalBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)componentInternalBehavior, diagnostics, context); + return validate_EveryDefaultConstraint(componentInternalBehavior, diagnostics, context); } /** @@ -246,7 +251,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateAbstractAction(AbstractAction abstractAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)abstractAction, diagnostics, context); + return validate_EveryDefaultConstraint(abstractAction, diagnostics, context); } /** @@ -255,7 +260,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateAcquireAction(AcquireAction acquireAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)acquireAction, diagnostics, context); + return validate_EveryDefaultConstraint(acquireAction, diagnostics, context); } /** @@ -264,7 +269,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateReleaseAction(ReleaseAction releaseAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)releaseAction, diagnostics, context); + return validate_EveryDefaultConstraint(releaseAction, diagnostics, context); } /** @@ -273,7 +278,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateInternalAction(InternalAction internalAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)internalAction, diagnostics, context); + return validate_EveryDefaultConstraint(internalAction, diagnostics, context); } /** @@ -282,7 +287,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateForkAction(ForkAction forkAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)forkAction, diagnostics, context); + return validate_EveryDefaultConstraint(forkAction, diagnostics, context); } /** @@ -291,7 +296,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateBranchAction(BranchAction branchAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)branchAction, diagnostics, context); + return validate_EveryDefaultConstraint(branchAction, diagnostics, context); } /** @@ -300,15 +305,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateBranchProbabilities(BranchProbabilities branchProbabilities, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)branchProbabilities, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)branchProbabilities, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)branchProbabilities, diagnostics, context); + if (!validate_NoCircularContainment(branchProbabilities, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(branchProbabilities, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(branchProbabilities, diagnostics, context); if (result || diagnostics != null) result &= parameterdependenciesValidator.validateControlFlowVariable_EnforceExplicitDescriptionWhenExplicitCharacterizationType(branchProbabilities, diagnostics, context); return result; } @@ -319,7 +324,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateLoopAction(LoopAction loopAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)loopAction, diagnostics, context); + return validate_EveryDefaultConstraint(loopAction, diagnostics, context); } /** @@ -328,15 +333,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateLoopIterationCount(LoopIterationCount loopIterationCount, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)loopIterationCount, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)loopIterationCount, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)loopIterationCount, diagnostics, context); + if (!validate_NoCircularContainment(loopIterationCount, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(loopIterationCount, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(loopIterationCount, diagnostics, context); if (result || diagnostics != null) result &= parameterdependenciesValidator.validateControlFlowVariable_EnforceExplicitDescriptionWhenExplicitCharacterizationType(loopIterationCount, diagnostics, context); if (result || diagnostics != null) result &= validateLoopIterationCount_LoopIterationCountHasToBeInt(loopIterationCount, diagnostics, context); return result; @@ -364,7 +369,7 @@ public class ServicebehaviorValidator extends EObjectValidator { return validate (ServicebehaviorPackage.Literals.LOOP_ITERATION_COUNT, - (EObject)loopIterationCount, + loopIterationCount, diagnostics, context, "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", @@ -381,7 +386,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateExternalCallAction(ExternalCallAction externalCallAction, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)externalCallAction, diagnostics, context); + return validate_EveryDefaultConstraint(externalCallAction, diagnostics, context); } /** @@ -390,15 +395,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateExternalCall(ExternalCall externalCall, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)externalCall, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)externalCall, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)externalCall, diagnostics, context); + if (!validate_NoCircularContainment(externalCall, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(externalCall, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(externalCall, diagnostics, context); if (result || diagnostics != null) result &= validateExternalCall_SignatureBelongsToInterfaceRequiringRole(externalCall, diagnostics, context); return result; } @@ -422,7 +427,7 @@ public class ServicebehaviorValidator extends EObjectValidator { return validate (ServicebehaviorPackage.Literals.EXTERNAL_CALL, - (EObject)externalCall, + externalCall, diagnostics, context, "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", @@ -439,15 +444,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateResourceDemand(ResourceDemand resourceDemand, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)resourceDemand, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)resourceDemand, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)resourceDemand, diagnostics, context); + if (!validate_NoCircularContainment(resourceDemand, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(resourceDemand, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resourceDemand, diagnostics, context); if (result || diagnostics != null) result &= validateResourceDemand_EnforceExplicitDescriptionWhenExplicitCharacterizationType(resourceDemand, diagnostics, context); return result; } @@ -471,7 +476,7 @@ public class ServicebehaviorValidator extends EObjectValidator { return validate (ServicebehaviorPackage.Literals.RESOURCE_DEMAND, - (EObject)resourceDemand, + resourceDemand, diagnostics, context, "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", @@ -488,15 +493,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateCoarseGrainedBehavior(CoarseGrainedBehavior coarseGrainedBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)coarseGrainedBehavior, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)coarseGrainedBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)coarseGrainedBehavior, diagnostics, context); + if (!validate_NoCircularContainment(coarseGrainedBehavior, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(coarseGrainedBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(coarseGrainedBehavior, diagnostics, context); if (result || diagnostics != null) result &= validateServiceBehaviorAbstraction_DescribedSignatureMustBelongToInterfaceReferencedByInterfaceProvidingRole(coarseGrainedBehavior, diagnostics, context); return result; } @@ -507,7 +512,7 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateExternalCallFrequency(ExternalCallFrequency externalCallFrequency, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)externalCallFrequency, diagnostics, context); + return validate_EveryDefaultConstraint(externalCallFrequency, diagnostics, context); } /** @@ -516,15 +521,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateCallFrequency(CallFrequency callFrequency, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)callFrequency, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)callFrequency, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)callFrequency, diagnostics, context); + if (!validate_NoCircularContainment(callFrequency, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(callFrequency, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(callFrequency, diagnostics, context); if (result || diagnostics != null) result &= parameterdependenciesValidator.validateControlFlowVariable_EnforceExplicitDescriptionWhenExplicitCharacterizationType(callFrequency, diagnostics, context); return result; } @@ -535,15 +540,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateBlackBoxBehavior(BlackBoxBehavior blackBoxBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)blackBoxBehavior, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)blackBoxBehavior, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)blackBoxBehavior, diagnostics, context); + if (!validate_NoCircularContainment(blackBoxBehavior, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(blackBoxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(blackBoxBehavior, diagnostics, context); if (result || diagnostics != null) result &= validateServiceBehaviorAbstraction_DescribedSignatureMustBelongToInterfaceReferencedByInterfaceProvidingRole(blackBoxBehavior, diagnostics, context); return result; } @@ -554,15 +559,15 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateResponseTime(ResponseTime responseTime, DiagnosticChain diagnostics, Map<Object, Object> context) { - if (!validate_NoCircularContainment((EObject)responseTime, diagnostics, context)) return false; - boolean result = validate_EveryMultiplicityConforms((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryDataValueConforms((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryReferenceIsContained((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryProxyResolves((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_UniqueID((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryKeyUnique((EObject)responseTime, diagnostics, context); - if (result || diagnostics != null) result &= validate_EveryMapEntryUnique((EObject)responseTime, diagnostics, context); + if (!validate_NoCircularContainment(responseTime, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(responseTime, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(responseTime, diagnostics, context); if (result || diagnostics != null) result &= validateResponseTime_EnforceExplicitDescriptionWhenExplicitCharacterizationType(responseTime, diagnostics, context); return result; } @@ -586,7 +591,7 @@ public class ServicebehaviorValidator extends EObjectValidator { return validate (ServicebehaviorPackage.Literals.RESPONSE_TIME, - (EObject)responseTime, + responseTime, diagnostics, context, "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", @@ -603,7 +608,35 @@ public class ServicebehaviorValidator extends EObjectValidator { * @generated */ public boolean validateRelationshipVariable(RelationshipVariable relationshipVariable, DiagnosticChain diagnostics, Map<Object, Object> context) { - return validate_EveryDefaultConstraint((EObject)relationshipVariable, diagnostics, context); + return validate_EveryDefaultConstraint(relationshipVariable, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateEmpiricalBlackboxBehavior(EmpiricalBlackboxBehavior empiricalBlackboxBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) { + if (!validate_NoCircularContainment(empiricalBlackboxBehavior, diagnostics, context)) return false; + boolean result = validate_EveryMultiplicityConforms(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(empiricalBlackboxBehavior, diagnostics, context); + if (result || diagnostics != null) result &= validateServiceBehaviorAbstraction_DescribedSignatureMustBelongToInterfaceReferencedByInterfaceProvidingRole(empiricalBlackboxBehavior, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateResponseTimeSample(ResponseTimeSample responseTimeSample, DiagnosticChain diagnostics, Map<Object, Object> context) { + return validate_EveryDefaultConstraint(responseTimeSample, diagnostics, context); } /** -- GitLab