Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Sterotypes
Sterotypes [message #477514] Fri, 13 June 2008 14:16 Go to next message
Hoze Nadav is currently offline Hoze NadavFriend
Messages: 9
Registered: July 2009
Junior Member
Hello all

I'm developing a plugin which takes a UML file and according to a
multiplicity stereotype instantiate it.

I wrote here an example and its a bit long so whoever reads it understand
my problem better,
so please bear with me.

Lets say that I have a class diagram file called a.uml with the following
classes:

1. class Student that has multiplicity 2..2 with the following properties:
name with multiplicity 1..1
id with multiplicity 2..2

2. Class Lecturer that has multiplicity 1..1 with the following properties:
name with multiplicity 4..4
id with multiplicity 4..4

My plugin will creates a new UML class diagram with the number of
instances for each class in the a.uml according to their multiplicity,
thus I will have:

2 Students
1 Lecturer

each student has 1 instance of the property called name and 2 instances of
the property called id

the lecturer has 4 instances of the property called name
and 4 instances of the property called id

My plugin also creates a Profile that accordingly for each element in a.uml
creates a stereotype with an attribute called path that has the uri of the
element and sets the stereotype name to be the element name.

you can say that these stereotypes are classifiers.

so in this example I will have the following stereotypes:

stereotype called Student
with the property path that has the value of Student.uri

stereotype called name
with the property path that has the value of Student.name.uri

stereotype called id
with the property path that has the value of Student.id.uri

stereotype called Lecturer
with the property path that has the value of Lecturer.uri

stereotype called name
with the property path that has the value of Lecturer.name.uri

stereotype called id
with the property path that has the value of Lecturer.id.uri


Finally!! :-) my problem is:


After defining the profile and applying it to the new class diagram

some how when applying stereotypes with the same name to different
instances in my new class diagram, the applied stereotype for them is only
the first one and the other stereotypes are ignored.

all of the I'm doing of course programmatically.

so in this example the instance of Student.name will be applied with the
sterotype for Student.name which is good, but also the instance of
Lecturer.name will be applied with the same stereotype instead of the
stereotype for Lecturer.name.

does anyone have any idea why this happens ?

thx for any help,
if you need me to post my code I'll be more the happy :-)

thx again
Re: Sterotypes [message #477516 is a reply to message #477514] Fri, 13 June 2008 19:52 Go to previous messageGo to next message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Nadav,

Perhaps you could post a code snippet? and possibly your model and profile.
If you apply a stereotype to different instances of some type then it should
work. Are you getting any errors? Does this work if you try doing it from
the editor?

Cheers,
- James.



"Nadav" <nadav.hoze@gmail.com> wrote in message
news:82fd61024ea8f8d010b66e06bf2160b2$1@www.eclipse.org...
> Hello all
>
> I'm developing a plugin which takes a UML file and according to a
> multiplicity stereotype instantiate it.
>
> I wrote here an example and its a bit long so whoever reads it understand
> my problem better, so please bear with me.
>
> Lets say that I have a class diagram file called a.uml with the following
> classes:
>
> 1. class Student that has multiplicity 2..2 with the following properties:
> name with multiplicity 1..1
> id with multiplicity 2..2
>
> 2. Class Lecturer that has multiplicity 1..1 with the following
> properties:
> name with multiplicity 4..4
> id with multiplicity 4..4
>
> My plugin will creates a new UML class diagram with the number of
> instances for each class in the a.uml according to their multiplicity,
> thus I will have:
>
> 2 Students 1 Lecturer
>
> each student has 1 instance of the property called name and 2 instances of
> the property called id
>
> the lecturer has 4 instances of the property called name
> and 4 instances of the property called id
>
> My plugin also creates a Profile that accordingly for each element in
> a.uml
> creates a stereotype with an attribute called path that has the uri of the
> element and sets the stereotype name to be the element name.
>
> you can say that these stereotypes are classifiers.
>
> so in this example I will have the following stereotypes:
>
> stereotype called Student with the property path that has the value of
> Student.uri
>
> stereotype called name
> with the property path that has the value of Student.name.uri
>
> stereotype called id with the property path that has the value of
> Student.id.uri
>
> stereotype called Lecturer
> with the property path that has the value of Lecturer.uri
>
> stereotype called name
> with the property path that has the value of Lecturer.name.uri
>
> stereotype called id
> with the property path that has the value of Lecturer.id.uri
>
>
> Finally!! :-) my problem is:
>
>
> After defining the profile and applying it to the new class diagram
>
> some how when applying stereotypes with the same name to different
> instances in my new class diagram, the applied stereotype for them is only
> the first one and the other stereotypes are ignored.
>
> all of the I'm doing of course programmatically.
> so in this example the instance of Student.name will be applied with the
> sterotype for Student.name which is good, but also the instance of
> Lecturer.name will be applied with the same stereotype instead of the
> stereotype for Lecturer.name.
>
> does anyone have any idea why this happens ?
> thx for any help, if you need me to post my code I'll be more the happy
> :-)
>
> thx again
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Re: Sterotypes [message #477519 is a reply to message #477516] Sat, 14 June 2008 08:43 Go to previous message
Hoze Nadav is currently offline Hoze NadavFriend
Messages: 9
Registered: July 2009
Junior Member
Sure, no problem

if you have any problem reading this (cause its long...) , here is my mail
(nadav.hoze@gmail.com), you can send my your mail, and i'll give you my
files.

thx :)

These are code sinppets from My instantiator class.

First for each element in the domain file that need to be instantiated I
created a stereotype as written below.

private Stereotype createStereotype(Element domainElement) {
Stereotype stp = UMLFactory.eINSTANCE.createStereotype();
EStructuralFeature nameFeature =

domainElement.eClass().getEStructuralFeature("name");
String name = (String) domainElement.eGet(nameFeature);
stp.setName(name);
URI uri = EcoreUtil.getURI(domainElement);
Property stpProperty = UMLFactory.eINSTANCE.createProperty();
stpProperty.setType(stringPrimitiveType);
stpProperty.setName("path");
stpProperty.setIsReadOnly(true);
LiteralString pathLiteralString = UMLFactory.eINSTANCE.
createLiteralString();
pathLiteralString.setValue(uri.toString());
stpProperty.setDefaultValue(pathLiteralString);
stp.getOwnedAttributes().add(stpProperty);
return stp;
}

stringPrimitiveType is a field in my class that I imported from the
UML_PRIMITIVE_TYPES_LIBRARY_URI

then I add each stereotype to an already created profile (also a field in
my Instantiator class) with an AddCommand that look like this:
new
AddCommand(ed,profile,UMLPackage.Literals.PROFILE__OWNED_STE REOTYPE,stp);

after executing the AddCommand I need to do the following:
1.define my Profile
2.apply it to the relevant packages
3.applying for each set of instantiated elements the relevant stereotype.

these is how I do it:

private void defineProfile() {
Map<Stereotype, StereotypeStructure> data = getData();
DefineProfileCommand defineProfileCommand = new
DefineProfileCommand(profile,data,data);
ed.getCommandStack().execute(defineProfileCommand);
}

private Map<Stereotype, StereotypeStructure> getData() {
HashMap<Stereotype, StereotypeStructure> data = new HashMap<Stereotype,


StereotypeStructure>();
EList<Stereotype> stpList = profile.getOwnedStereotypes();
for (Stereotype stereotype : stpList) {
StereotypeStructure structure = new StereotypeStructure(stereotype);
structure.updateMetaclasses(metaClasses);
data.put(stereotype,structure);
}
return data;
}

metaClasses is a field in My instantiator class that has the metaclass of
Element (these is the metaclass that I want any of the created stereotypes
to be applicable to)

private void applyProfile() {
List<Package> filteredList =

filter(appRoot.getNestedPackages(),ADOMConstants.PACKAGE_IMP L);
ed.getCommandStack().execute(new

ApplyProfileCommand(ed,filteredList,profile));
}

the filter function return all the packages that instances of
org.eclipse.uml2.uml.internal.impl.PackageImpl (to avoid applying the
profile to itself which is an instance of org.eclipse.uml2.uml.Package)

private void applyStereotypes() {
Set<Entry<Element, Entry<Collection<Element>, Stereotype>>> entrySet
=

domainElementsToNewElementsSteroetypeMapper.entrySet();
CompoundCommand cc = new CompoundCommand("apply stereotype classifier
to
all instantiate
elements");
for (Entry<Element, Entry<Collection<Element>, Stereotype>> entry :

entrySet) {

Entry<Collection<Element>, Stereotype> elementsToStereotype =

entry.getValue();
Collection<Element> newElements = elementsToStereotype.getKey();
Stereotype stp = elementsToStereotype.getValue();
for (Element element : newElements) {
cc.append(new ApplyStereoTypeCommand(element,stp));
}
}
if (!cc.isEmpty())
ed.getCommandStack().execute(cc);
}

domainElementsToNewElementsSteroetypeMapper is a hashmap field in My
instantiator class that during the instantiaton process maps all the
domain elements to list of the corresponding instantiated elements and
their matching stereotype.

code of StereotypeStructure (belongs to TOPCASED):



import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.eclipse.swt.widgets.Text;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Stereotype;
import org.eclipse.uml2.uml.Type;

/**
* Structure that stores stereotype data
*/
public class StereotypeStructure
{
/** */
private Stereotype stereotype;

/** */
private Text nameText;

/** */
private String name;

/** */
private Text extensionTxt;

/** */
private List metaclasses;

/**
*
* @param stereo
*/
public StereotypeStructure(Stereotype stereo)
{
stereotype = stereo;
name = stereo.getName();
metaclasses = new ArrayList();
Iterator iterator = stereo.getOwnedAttributes().iterator();
while (iterator.hasNext())
{
Object o = iterator.next();
if (o instanceof Property)
{
Property property = (Property) o;
if (property.getAssociation() instanceof Extension)
{
metaclasses.add(property.getType());
}
}
}
}

/**
*
* @return Stereotype the Stereotype
*/
public Stereotype getStereotype()
{
return stereotype;
}

/**
*
* @return List the list of MetaClasses
*/
public List getMetaclasses()
{
return metaclasses;
}

/**
*
* @return String the new name
*/
public String getNewName()
{
return name;
}

/**
*
* @param metas
*/
public void updateMetaclasses(List metas)
{
metaclasses = metas;
}

/**
*
*
*/
public void updateLabel()
{
boolean first = true;
StringBuffer result = new StringBuffer();
Iterator iterator = metaclasses.iterator();
int counter = 0;
while (iterator.hasNext())
{
if (first)
{
first = false;
}
else
{
result.append(", ");
}

result.append(((Type) iterator.next()).getName());
counter++;
}

if (metaclasses.size() == 0)
{
result.append("none");
}

if (extensionTxt != null)
{
extensionTxt.setText(result.toString());
}
else
{
throw new IllegalStateException("Label cannot be null at this
point.");
}
}

/**
*
* @return String the name
*/
protected String getName()
{
if (nameText != null)
{
return nameText.getText();
}
else
{
throw new IllegalStateException("Text cannot be null at this
point.");
}
}

/**
*
* @param name
*/
protected void setName(String name)
{
this.name = name;
}

/**
*
* @return Text the Text widget associated with the extension
*/
protected Text getExtensionTxt()
{
return extensionTxt;
}

/**
*
* @param extensionTxt
*/
protected void setExtensionTxt(Text extensionTxt)
{
this.extensionTxt = extensionTxt;
}

/**
* @return Text the Text widget associated with the name
*/
protected Text getNameText()
{
return nameText;
}

/**
*
* @param nameText
*/
protected void setNameText(Text nameText)
{
this.nameText = nameText;
}

}

code of DefineProfileCommand (also belongs to TOPCASED):


import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;

import org.eclipse.emf.common.command.AbstractCommand;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Stereotype;
import org.topcased.modeler.uml.dialogs.StereotypeStructure;

/**
* TODO completly refactor and redesign this class Class that create a
command in order to update profile settings <br>
* creation : 31 may 2005
*
* @author <a href="mailto:mathieu.garcia@anyware-tech.com">Mathieu
Garcia</a>
*/
public class DefineProfileCommand extends AbstractCommand
{
/** Current profile */
private Profile profile;

/** Old values */
private Map<Stereotype, StereotypeStructure> oldDatas;

/** New values */
private Map<Stereotype, StereotypeStructure> datas;

/**
* Create a command for updating parameters on a given profile
*
* @param prof the profile
* @param data the new datas
* @param oldData the old datas
*/
public DefineProfileCommand(Profile prof, Map<Stereotype,
StereotypeStructure> data, Map<Stereotype, StereotypeStructure> oldData)
{
profile = prof;
datas = data;
oldDatas = oldData;
}

/**
* Set the values
*/
protected void setValues()
{

// Remove imported classes
// TODO check if the following code line is clean
profile.getElementImports().clear();

// Look for properties that handle extension
ArrayList propertyToRemove = new ArrayList();
Iterator itStereotype = profile.getOwnedStereotypes().iterator();
while (itStereotype.hasNext())
{
Stereotype stereotype = (Stereotype) itStereotype.next();
Iterator itAttribute =
stereotype.getOwnedAttributes().iterator();
while (itAttribute.hasNext())
{
Property property = (Property) itAttribute.next();
if (property.getAssociation() instanceof Extension)
{
propertyToRemove.add(property);
}
}
}

// Remove the found properties and extension associated to
Iterator itProperty = propertyToRemove.iterator();
while (itProperty.hasNext())
{
Property property = (Property) itProperty.next();
if (property.getAssociation() != null)
{
property.getAssociation().destroy();
}
property.destroy();
}

// Update each stereotype
Iterator itValues = datas.values().iterator();
while (itValues.hasNext())
{
Object object = itValues.next();
if (object instanceof StereotypeStructure)
{
StereotypeStructure stSt = (StereotypeStructure) object;
Stereotype stereotype = stSt.getStereotype();

// update name
stereotype.setName(stSt.getNewName());

// update metaclass
for (Iterator metaIterator =
stSt.getMetaclasses().iterator(); metaIterator.hasNext();)
{
Class metaclass = (Class) metaIterator.next();
if
(!profile.getMetaclassReferences().contains(metaclass))
{
profile.createMetaclassReference(metaclass);
}
stereotype.createExtension(metaclass, false);
}
}
}

profile.define();
}

/**
* Switch the old and new values
*/
protected void switchValues()
{
Map temp = datas;
datas = oldDatas;
oldDatas = temp;
}

public void execute()
{
setValues();
}

public void undo()
{
switchValues();
setValues();
}

public void redo()
{
switchValues();
setValues();
}


@Override
protected boolean prepare() {
return !datas.isEmpty();
}
}


finally :-)
here are my domain.uml file and domain_app.file

domain.uml:

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:Multiplicity="http:///schemas/Multiplicity/_v55BMDObEd2Ax4zFLRHZ-Q/0"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xsi:schemaLocation="http:///schemas/Multiplicity/_v55BMDObEd2Ax4zFLRHZ-Q/0
../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_v 55BMjObEd2Ax4zFLRHZ-Q ">
<uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA">
<packagedElement xmi:type="uml:Package"
xmi:id="_w8IxIM37EdqwVrslYOdUDA" name="domain">
<elementImport xmi:id="_2TAwADnpEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</elementImport>
<packagedElement xmi:type="uml:Class"
xmi:id="_vOBDQDnpEd2-cMuNDU2d2Q" name="Student">
<ownedAttribute xmi:id="_wsyuYDnpEd2-cMuNDU2d2Q" name="name">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedAttribute xmi:id="_xfmrYjnpEd2-cMuNDU2d2Q" name="id">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Intege r"/>
</ownedAttribute>
<ownedOperation xmi:id="_yJxpwDnpEd2-cMuNDU2d2Q" name="getName">
<ownedParameter xmi:id="_6rdW8DnpEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_y6WyIjnpEd2-cMuNDU2d2Q" name="getId">
<ownedParameter xmi:id="_6VZnYDnpEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class"
xmi:id="_9yO6qDnpEd2-cMuNDU2d2Q" name="Lecturer">
<ownedAttribute xmi:id="__VVFEjnpEd2-cMuNDU2d2Q" name="name">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedAttribute xmi:id="__tK9UjnpEd2-cMuNDU2d2Q" name="id">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedOperation xmi:id="_DFF7YjnqEd2-cMuNDU2d2Q" name="getName">
<ownedParameter xmi:id="_H1qucDnqEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_DWhpoDnqEd2-cMuNDU2d2Q" name="getId">
<ownedParameter xmi:id="_IkAbIDnqEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Intege r"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<profileApplication xmi:id="_MTxRcDnqEd2-cMuNDU2d2Q">
<eAnnotations xmi:id="_MTxRcTnqEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage"
href=" ../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_v 55BMjObEd2Ax4zFLRHZ-Q "/>
</eAnnotations>
<appliedProfile
href=" ../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_a wtoADObEd2Ax4zFLRHZ-Q "/>
</profileApplication>
</packagedElement>
</uml:Model>
<Multiplicity:Multiplicity xmi:id="_OFBMoDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_vOBDQDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_QDOlwDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_wsyuYDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_SNXiEDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_xfmrYjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_Td1EYDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_yJxpwDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_U44GEDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_y6WyIjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_ZvkIMDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_9yO6qDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_bcMpIDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="__VVFEjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_b5tEgDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="__tK9UjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_cW594DnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_DFF7YjnqEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_cq4CwDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_DWhpoDnqEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_kBwJsDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_w8IxIM37EdqwVrslYOdUDA"/>
</xmi:XMI>


here is my domain_app.uml:

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:domain_app=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xsi:schemaLocation=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0
#_GcccUTnrEd2-cMuNDU2d2Q">
<uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA" name="model_domain_app">
<packagedElement xmi:type="uml:Profile"
xmi:id="_GbQJcDnrEd2-cMuNDU2d2Q" name="domain_app"
metaclassReference="_GcSrbDnrEd2-cMuNDU2d2Q _GcSrcDnrEd2-cMuNDU2d2Q
_GcSrdDnrEd2-cMuNDU2d2Q _GcSreDnrEd2-cMuNDU2d2Q _GcSrfDnrEd2-cMuNDU2d2Q
_GcSrgDnrEd2-cMuNDU2d2Q _GcSrhDnrEd2-cMuNDU2d2Q _GcSriDnrEd2-cMuNDU2d2Q
_GcccQznrEd2-cMuNDU2d2Q _GcccRznrEd2-cMuNDU2d2Q _GcccSznrEd2-cMuNDU2d2Q">
<eAnnotations xmi:id="_GcccUDnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type="ecore:EPackage"
xmi:id="_GcccUTnrEd2-cMuNDU2d2Q" name="domain_app"
nsURI=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0"
nsPrefix="domain_app">
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccUjnrEd2-cMuNDU2d2Q" name="domain">
<eAnnotations xmi:id="_GcccUznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrQDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccVDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_w8IxIM37EdqwVrslYOdUDA ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccVjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccWDnrEd2-cMuNDU2d2Q" name="Student">
<eAnnotations xmi:id="_GcccWTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrRDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccWjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_vOBDQDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccXDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccXjnrEd2-cMuNDU2d2Q" name="name">
<eAnnotations xmi:id="_GcccXznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrSDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccYDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_wsyuYDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccYjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccZDnrEd2-cMuNDU2d2Q" name="id">
<eAnnotations xmi:id="_GcccZTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrTDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccZjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_xfmrYjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccaDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccajnrEd2-cMuNDU2d2Q" name="getName">
<eAnnotations xmi:id="_GcccaznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrUDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccbDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_yJxpwDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccbjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GccccDnrEd2-cMuNDU2d2Q" name="getId">
<eAnnotations xmi:id="_GccccTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrVDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccccjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_y6WyIjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccdDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccdjnrEd2-cMuNDU2d2Q" name="Lecturer">
<eAnnotations xmi:id="_GcccdznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrWDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccceDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_9yO6qDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccejnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccfDnrEd2-cMuNDU2d2Q" name="name">
<eAnnotations xmi:id="_GcccfTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrXDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccfjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__VVFEjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccgDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccgjnrEd2-cMuNDU2d2Q" name="id">
<eAnnotations xmi:id="_GcccgznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrYDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccchDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__tK9UjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GccchjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GccciDnrEd2-cMuNDU2d2Q" name="getName">
<eAnnotations xmi:id="_GccciTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrZDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccijnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DFF7YjnqEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccjDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccjjnrEd2-cMuNDU2d2Q" name="getId">
<eAnnotations xmi:id="_GcccjznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSraDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccckDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DWhpoDnqEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GccckjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
</contents>
</eAnnotations>
<elementImport xmi:id="_GcSrbDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrcDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrdDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSreDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrfDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrgDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrhDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSriDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccQznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccRznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccSznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrQDnrEd2-cMuNDU2d2Q" name="domain">
<ownedAttribute xmi:id="_GcSrQTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrQjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_w8IxIM37EdqwVrslYOdUDA "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrdznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrdTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrRDnrEd2-cMuNDU2d2Q" name="Student">
<ownedAttribute xmi:id="_GcSrRTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrRjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_vOBDQDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccQjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccQDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrSDnrEd2-cMuNDU2d2Q" name="name">
<ownedAttribute xmi:id="_GcSrSTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrSjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_wsyuYDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrcznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrcTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrTDnrEd2-cMuNDU2d2Q" name="id">
<ownedAttribute xmi:id="_GcSrTTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrTjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_xfmrYjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccTjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccTDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrUDnrEd2-cMuNDU2d2Q" name="getName">
<ownedAttribute xmi:id="_GcSrUTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrUjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_yJxpwDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrbznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrbTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrVDnrEd2-cMuNDU2d2Q" name="getId">
<ownedAttribute xmi:id="_GcSrVTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrVjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_y6WyIjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSreznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSreTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrWDnrEd2-cMuNDU2d2Q" name="Lecturer">
<ownedAttribute xmi:id="_GcSrWTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrWjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_9yO6qDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrhznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrhTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrXDnrEd2-cMuNDU2d2Q" name="name">
<ownedAttribute xmi:id="_GcSrXTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrXjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__VVFEjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccRjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccRDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrYDnrEd2-cMuNDU2d2Q" name="id">
<ownedAttribute xmi:id="_GcSrYTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrYjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__tK9UjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrgznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrgTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrZDnrEd2-cMuNDU2d2Q" name="getName">
<ownedAttribute xmi:id="_GcSrZTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrZjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DFF7YjnqEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccSjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccSDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSraDnrEd2-cMuNDU2d2Q" name="getId">
<ownedAttribute xmi:id="_GcSraTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrajnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DWhpoDnqEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrfznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrfTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrbTnrEd2-cMuNDU2d2Q" name="Element_getName"
memberEnd="_GcSrbjnrEd2-cMuNDU2d2Q _GcSrbznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrbjnrEd2-cMuNDU2d2Q" name="extension_getName"
type="_GcSrUDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrbTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrcTnrEd2-cMuNDU2d2Q" name="Element_name"
memberEnd="_GcSrcjnrEd2-cMuNDU2d2Q _GcSrcznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrcjnrEd2-cMuNDU2d2Q" name="extension_name"
type="_GcSrSDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrcTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrdTnrEd2-cMuNDU2d2Q" name="Element_domain"
memberEnd="_GcSrdjnrEd2-cMuNDU2d2Q _GcSrdznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrdjnrEd2-cMuNDU2d2Q" name="extension_domain"
type="_GcSrQDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrdTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSreTnrEd2-cMuNDU2d2Q" name="Element_getId"
memberEnd="_GcSrejnrEd2-cMuNDU2d2Q _GcSreznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrejnrEd2-cMuNDU2d2Q" name="extension_getId"
type="_GcSrVDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSreTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrfTnrEd2-cMuNDU2d2Q" name="Element_getId"
memberEnd="_GcSrfjnrEd2-cMuNDU2d2Q _GcSrfznrEd2-cMuNDU2d2Q">
<ownedEnd xmi
Re: Sterotypes [message #626706 is a reply to message #477514] Fri, 13 June 2008 19:52 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Nadav,

Perhaps you could post a code snippet? and possibly your model and profile.
If you apply a stereotype to different instances of some type then it should
work. Are you getting any errors? Does this work if you try doing it from
the editor?

Cheers,
- James.



"Nadav" <nadav.hoze@gmail.com> wrote in message
news:82fd61024ea8f8d010b66e06bf2160b2$1@www.eclipse.org...
> Hello all
>
> I'm developing a plugin which takes a UML file and according to a
> multiplicity stereotype instantiate it.
>
> I wrote here an example and its a bit long so whoever reads it understand
> my problem better, so please bear with me.
>
> Lets say that I have a class diagram file called a.uml with the following
> classes:
>
> 1. class Student that has multiplicity 2..2 with the following properties:
> name with multiplicity 1..1
> id with multiplicity 2..2
>
> 2. Class Lecturer that has multiplicity 1..1 with the following
> properties:
> name with multiplicity 4..4
> id with multiplicity 4..4
>
> My plugin will creates a new UML class diagram with the number of
> instances for each class in the a.uml according to their multiplicity,
> thus I will have:
>
> 2 Students 1 Lecturer
>
> each student has 1 instance of the property called name and 2 instances of
> the property called id
>
> the lecturer has 4 instances of the property called name
> and 4 instances of the property called id
>
> My plugin also creates a Profile that accordingly for each element in
> a.uml
> creates a stereotype with an attribute called path that has the uri of the
> element and sets the stereotype name to be the element name.
>
> you can say that these stereotypes are classifiers.
>
> so in this example I will have the following stereotypes:
>
> stereotype called Student with the property path that has the value of
> Student.uri
>
> stereotype called name
> with the property path that has the value of Student.name.uri
>
> stereotype called id with the property path that has the value of
> Student.id.uri
>
> stereotype called Lecturer
> with the property path that has the value of Lecturer.uri
>
> stereotype called name
> with the property path that has the value of Lecturer.name.uri
>
> stereotype called id
> with the property path that has the value of Lecturer.id.uri
>
>
> Finally!! :-) my problem is:
>
>
> After defining the profile and applying it to the new class diagram
>
> some how when applying stereotypes with the same name to different
> instances in my new class diagram, the applied stereotype for them is only
> the first one and the other stereotypes are ignored.
>
> all of the I'm doing of course programmatically.
> so in this example the instance of Student.name will be applied with the
> sterotype for Student.name which is good, but also the instance of
> Lecturer.name will be applied with the same stereotype instead of the
> stereotype for Lecturer.name.
>
> does anyone have any idea why this happens ?
> thx for any help, if you need me to post my code I'll be more the happy
> :-)
>
> thx again
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Re: Sterotypes [message #626709 is a reply to message #477516] Sat, 14 June 2008 08:43 Go to previous message
Hoze Nadav is currently offline Hoze NadavFriend
Messages: 9
Registered: July 2009
Junior Member
Sure, no problem

if you have any problem reading this (cause its long...) , here is my mail
(nadav.hoze@gmail.com), you can send my your mail, and i'll give you my
files.

thx :)

These are code sinppets from My instantiator class.

First for each element in the domain file that need to be instantiated I
created a stereotype as written below.

private Stereotype createStereotype(Element domainElement) {
Stereotype stp = UMLFactory.eINSTANCE.createStereotype();
EStructuralFeature nameFeature =

domainElement.eClass().getEStructuralFeature("name");
String name = (String) domainElement.eGet(nameFeature);
stp.setName(name);
URI uri = EcoreUtil.getURI(domainElement);
Property stpProperty = UMLFactory.eINSTANCE.createProperty();
stpProperty.setType(stringPrimitiveType);
stpProperty.setName("path");
stpProperty.setIsReadOnly(true);
LiteralString pathLiteralString = UMLFactory.eINSTANCE.
createLiteralString();
pathLiteralString.setValue(uri.toString());
stpProperty.setDefaultValue(pathLiteralString);
stp.getOwnedAttributes().add(stpProperty);
return stp;
}

stringPrimitiveType is a field in my class that I imported from the
UML_PRIMITIVE_TYPES_LIBRARY_URI

then I add each stereotype to an already created profile (also a field in
my Instantiator class) with an AddCommand that look like this:
new
AddCommand(ed,profile,UMLPackage.Literals.PROFILE__OWNED_STE REOTYPE,stp);

after executing the AddCommand I need to do the following:
1.define my Profile
2.apply it to the relevant packages
3.applying for each set of instantiated elements the relevant stereotype.

these is how I do it:

private void defineProfile() {
Map<Stereotype, StereotypeStructure> data = getData();
DefineProfileCommand defineProfileCommand = new
DefineProfileCommand(profile,data,data);
ed.getCommandStack().execute(defineProfileCommand);
}

private Map<Stereotype, StereotypeStructure> getData() {
HashMap<Stereotype, StereotypeStructure> data = new HashMap<Stereotype,


StereotypeStructure>();
EList<Stereotype> stpList = profile.getOwnedStereotypes();
for (Stereotype stereotype : stpList) {
StereotypeStructure structure = new StereotypeStructure(stereotype);
structure.updateMetaclasses(metaClasses);
data.put(stereotype,structure);
}
return data;
}

metaClasses is a field in My instantiator class that has the metaclass of
Element (these is the metaclass that I want any of the created stereotypes
to be applicable to)

private void applyProfile() {
List<Package> filteredList =

filter(appRoot.getNestedPackages(),ADOMConstants.PACKAGE_IMP L);
ed.getCommandStack().execute(new

ApplyProfileCommand(ed,filteredList,profile));
}

the filter function return all the packages that instances of
org.eclipse.uml2.uml.internal.impl.PackageImpl (to avoid applying the
profile to itself which is an instance of org.eclipse.uml2.uml.Package)

private void applyStereotypes() {
Set<Entry<Element, Entry<Collection<Element>, Stereotype>>> entrySet
=

domainElementsToNewElementsSteroetypeMapper.entrySet();
CompoundCommand cc = new CompoundCommand("apply stereotype classifier
to
all instantiate
elements");
for (Entry<Element, Entry<Collection<Element>, Stereotype>> entry :

entrySet) {

Entry<Collection<Element>, Stereotype> elementsToStereotype =

entry.getValue();
Collection<Element> newElements = elementsToStereotype.getKey();
Stereotype stp = elementsToStereotype.getValue();
for (Element element : newElements) {
cc.append(new ApplyStereoTypeCommand(element,stp));
}
}
if (!cc.isEmpty())
ed.getCommandStack().execute(cc);
}

domainElementsToNewElementsSteroetypeMapper is a hashmap field in My
instantiator class that during the instantiaton process maps all the
domain elements to list of the corresponding instantiated elements and
their matching stereotype.

code of StereotypeStructure (belongs to TOPCASED):



import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.eclipse.swt.widgets.Text;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Stereotype;
import org.eclipse.uml2.uml.Type;

/**
* Structure that stores stereotype data
*/
public class StereotypeStructure
{
/** */
private Stereotype stereotype;

/** */
private Text nameText;

/** */
private String name;

/** */
private Text extensionTxt;

/** */
private List metaclasses;

/**
*
* @param stereo
*/
public StereotypeStructure(Stereotype stereo)
{
stereotype = stereo;
name = stereo.getName();
metaclasses = new ArrayList();
Iterator iterator = stereo.getOwnedAttributes().iterator();
while (iterator.hasNext())
{
Object o = iterator.next();
if (o instanceof Property)
{
Property property = (Property) o;
if (property.getAssociation() instanceof Extension)
{
metaclasses.add(property.getType());
}
}
}
}

/**
*
* @return Stereotype the Stereotype
*/
public Stereotype getStereotype()
{
return stereotype;
}

/**
*
* @return List the list of MetaClasses
*/
public List getMetaclasses()
{
return metaclasses;
}

/**
*
* @return String the new name
*/
public String getNewName()
{
return name;
}

/**
*
* @param metas
*/
public void updateMetaclasses(List metas)
{
metaclasses = metas;
}

/**
*
*
*/
public void updateLabel()
{
boolean first = true;
StringBuffer result = new StringBuffer();
Iterator iterator = metaclasses.iterator();
int counter = 0;
while (iterator.hasNext())
{
if (first)
{
first = false;
}
else
{
result.append(", ");
}

result.append(((Type) iterator.next()).getName());
counter++;
}

if (metaclasses.size() == 0)
{
result.append("none");
}

if (extensionTxt != null)
{
extensionTxt.setText(result.toString());
}
else
{
throw new IllegalStateException("Label cannot be null at this
point.");
}
}

/**
*
* @return String the name
*/
protected String getName()
{
if (nameText != null)
{
return nameText.getText();
}
else
{
throw new IllegalStateException("Text cannot be null at this
point.");
}
}

/**
*
* @param name
*/
protected void setName(String name)
{
this.name = name;
}

/**
*
* @return Text the Text widget associated with the extension
*/
protected Text getExtensionTxt()
{
return extensionTxt;
}

/**
*
* @param extensionTxt
*/
protected void setExtensionTxt(Text extensionTxt)
{
this.extensionTxt = extensionTxt;
}

/**
* @return Text the Text widget associated with the name
*/
protected Text getNameText()
{
return nameText;
}

/**
*
* @param nameText
*/
protected void setNameText(Text nameText)
{
this.nameText = nameText;
}

}

code of DefineProfileCommand (also belongs to TOPCASED):


import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;

import org.eclipse.emf.common.command.AbstractCommand;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Extension;
import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Stereotype;
import org.topcased.modeler.uml.dialogs.StereotypeStructure;

/**
* TODO completly refactor and redesign this class Class that create a
command in order to update profile settings <br>
* creation : 31 may 2005
*
* @author <a href="mailto:mathieu.garcia@anyware-tech.com">Mathieu
Garcia</a>
*/
public class DefineProfileCommand extends AbstractCommand
{
/** Current profile */
private Profile profile;

/** Old values */
private Map<Stereotype, StereotypeStructure> oldDatas;

/** New values */
private Map<Stereotype, StereotypeStructure> datas;

/**
* Create a command for updating parameters on a given profile
*
* @param prof the profile
* @param data the new datas
* @param oldData the old datas
*/
public DefineProfileCommand(Profile prof, Map<Stereotype,
StereotypeStructure> data, Map<Stereotype, StereotypeStructure> oldData)
{
profile = prof;
datas = data;
oldDatas = oldData;
}

/**
* Set the values
*/
protected void setValues()
{

// Remove imported classes
// TODO check if the following code line is clean
profile.getElementImports().clear();

// Look for properties that handle extension
ArrayList propertyToRemove = new ArrayList();
Iterator itStereotype = profile.getOwnedStereotypes().iterator();
while (itStereotype.hasNext())
{
Stereotype stereotype = (Stereotype) itStereotype.next();
Iterator itAttribute =
stereotype.getOwnedAttributes().iterator();
while (itAttribute.hasNext())
{
Property property = (Property) itAttribute.next();
if (property.getAssociation() instanceof Extension)
{
propertyToRemove.add(property);
}
}
}

// Remove the found properties and extension associated to
Iterator itProperty = propertyToRemove.iterator();
while (itProperty.hasNext())
{
Property property = (Property) itProperty.next();
if (property.getAssociation() != null)
{
property.getAssociation().destroy();
}
property.destroy();
}

// Update each stereotype
Iterator itValues = datas.values().iterator();
while (itValues.hasNext())
{
Object object = itValues.next();
if (object instanceof StereotypeStructure)
{
StereotypeStructure stSt = (StereotypeStructure) object;
Stereotype stereotype = stSt.getStereotype();

// update name
stereotype.setName(stSt.getNewName());

// update metaclass
for (Iterator metaIterator =
stSt.getMetaclasses().iterator(); metaIterator.hasNext();)
{
Class metaclass = (Class) metaIterator.next();
if
(!profile.getMetaclassReferences().contains(metaclass))
{
profile.createMetaclassReference(metaclass);
}
stereotype.createExtension(metaclass, false);
}
}
}

profile.define();
}

/**
* Switch the old and new values
*/
protected void switchValues()
{
Map temp = datas;
datas = oldDatas;
oldDatas = temp;
}

public void execute()
{
setValues();
}

public void undo()
{
switchValues();
setValues();
}

public void redo()
{
switchValues();
setValues();
}


@Override
protected boolean prepare() {
return !datas.isEmpty();
}
}


finally :-)
here are my domain.uml file and domain_app.file

domain.uml:

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:Multiplicity="http:///schemas/Multiplicity/_v55BMDObEd2Ax4zFLRHZ-Q/0"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xsi:schemaLocation="http:///schemas/Multiplicity/_v55BMDObEd2Ax4zFLRHZ-Q/0
../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_v 55BMjObEd2Ax4zFLRHZ-Q ">
<uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA">
<packagedElement xmi:type="uml:Package"
xmi:id="_w8IxIM37EdqwVrslYOdUDA" name="domain">
<elementImport xmi:id="_2TAwADnpEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</elementImport>
<packagedElement xmi:type="uml:Class"
xmi:id="_vOBDQDnpEd2-cMuNDU2d2Q" name="Student">
<ownedAttribute xmi:id="_wsyuYDnpEd2-cMuNDU2d2Q" name="name">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedAttribute xmi:id="_xfmrYjnpEd2-cMuNDU2d2Q" name="id">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Intege r"/>
</ownedAttribute>
<ownedOperation xmi:id="_yJxpwDnpEd2-cMuNDU2d2Q" name="getName">
<ownedParameter xmi:id="_6rdW8DnpEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_y6WyIjnpEd2-cMuNDU2d2Q" name="getId">
<ownedParameter xmi:id="_6VZnYDnpEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class"
xmi:id="_9yO6qDnpEd2-cMuNDU2d2Q" name="Lecturer">
<ownedAttribute xmi:id="__VVFEjnpEd2-cMuNDU2d2Q" name="name">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedAttribute xmi:id="__tK9UjnpEd2-cMuNDU2d2Q" name="id">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
<ownedOperation xmi:id="_DFF7YjnqEd2-cMuNDU2d2Q" name="getName">
<ownedParameter xmi:id="_H1qucDnqEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_DWhpoDnqEd2-cMuNDU2d2Q" name="getId">
<ownedParameter xmi:id="_IkAbIDnqEd2-cMuNDU2d2Q" name="return"
direction="return">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Intege r"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<profileApplication xmi:id="_MTxRcDnqEd2-cMuNDU2d2Q">
<eAnnotations xmi:id="_MTxRcTnqEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage"
href=" ../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_v 55BMjObEd2Ax4zFLRHZ-Q "/>
</eAnnotations>
<appliedProfile
href=" ../../.ADOMResources/adomutitlity/MultiplicityProfile.uml#_a wtoADObEd2Ax4zFLRHZ-Q "/>
</profileApplication>
</packagedElement>
</uml:Model>
<Multiplicity:Multiplicity xmi:id="_OFBMoDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_vOBDQDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_QDOlwDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_wsyuYDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_SNXiEDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_xfmrYjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_Td1EYDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_yJxpwDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_U44GEDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_y6WyIjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_ZvkIMDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_9yO6qDnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_bcMpIDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="__VVFEjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_b5tEgDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="__tK9UjnpEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_cW594DnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_DFF7YjnqEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_cq4CwDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_DWhpoDnqEd2-cMuNDU2d2Q"/>
<Multiplicity:Multiplicity xmi:id="_kBwJsDnqEd2-cMuNDU2d2Q" min="1"
max="1" base_Element="_w8IxIM37EdqwVrslYOdUDA"/>
</xmi:XMI>


here is my domain_app.uml:

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:domain_app=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML"
xsi:schemaLocation=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0
#_GcccUTnrEd2-cMuNDU2d2Q">
<uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA" name="model_domain_app">
<packagedElement xmi:type="uml:Profile"
xmi:id="_GbQJcDnrEd2-cMuNDU2d2Q" name="domain_app"
metaclassReference="_GcSrbDnrEd2-cMuNDU2d2Q _GcSrcDnrEd2-cMuNDU2d2Q
_GcSrdDnrEd2-cMuNDU2d2Q _GcSreDnrEd2-cMuNDU2d2Q _GcSrfDnrEd2-cMuNDU2d2Q
_GcSrgDnrEd2-cMuNDU2d2Q _GcSrhDnrEd2-cMuNDU2d2Q _GcSriDnrEd2-cMuNDU2d2Q
_GcccQznrEd2-cMuNDU2d2Q _GcccRznrEd2-cMuNDU2d2Q _GcccSznrEd2-cMuNDU2d2Q">
<eAnnotations xmi:id="_GcccUDnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type="ecore:EPackage"
xmi:id="_GcccUTnrEd2-cMuNDU2d2Q" name="domain_app"
nsURI=" http://model_domain_app/schemas/domain_app/_GcccTznrEd2-cMuN DU2d2Q/0"
nsPrefix="domain_app">
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccUjnrEd2-cMuNDU2d2Q" name="domain">
<eAnnotations xmi:id="_GcccUznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrQDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccVDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_w8IxIM37EdqwVrslYOdUDA ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccVjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccWDnrEd2-cMuNDU2d2Q" name="Student">
<eAnnotations xmi:id="_GcccWTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrRDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccWjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_vOBDQDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccXDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccXjnrEd2-cMuNDU2d2Q" name="name">
<eAnnotations xmi:id="_GcccXznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrSDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccYDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_wsyuYDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccYjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccZDnrEd2-cMuNDU2d2Q" name="id">
<eAnnotations xmi:id="_GcccZTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrTDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccZjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_xfmrYjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccaDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccajnrEd2-cMuNDU2d2Q" name="getName">
<eAnnotations xmi:id="_GcccaznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrUDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccbDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_yJxpwDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccbjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GccccDnrEd2-cMuNDU2d2Q" name="getId">
<eAnnotations xmi:id="_GccccTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrVDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccccjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_y6WyIjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccdDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccdjnrEd2-cMuNDU2d2Q" name="Lecturer">
<eAnnotations xmi:id="_GcccdznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrWDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccceDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_9yO6qDnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccejnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccfDnrEd2-cMuNDU2d2Q" name="name">
<eAnnotations xmi:id="_GcccfTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrXDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccfjnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__VVFEjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccgDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccgjnrEd2-cMuNDU2d2Q" name="id">
<eAnnotations xmi:id="_GcccgznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrYDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccchDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__tK9UjnpEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GccchjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GccciDnrEd2-cMuNDU2d2Q" name="getName">
<eAnnotations xmi:id="_GccciTnrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSrZDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GcccijnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DFF7YjnqEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GcccjDnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass"
xmi:id="_GcccjjnrEd2-cMuNDU2d2Q" name="getId">
<eAnnotations xmi:id="_GcccjznrEd2-cMuNDU2d2Q"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_GcSraDnrEd2-cMuNDU2d2Q"/>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_GccckDnrEd2-cMuNDU2d2Q" name="path" ordered="false"
lowerBound="1" changeable="false"
defaultValueLiteral=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DWhpoDnqEd2-cMuNDU2d2Q ">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_GccckjnrEd2-cMuNDU2d2Q" name="base_Element" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.1.0/UML#//Element"/>
</eStructuralFeatures>
</eClassifiers>
</contents>
</eAnnotations>
<elementImport xmi:id="_GcSrbDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrcDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrdDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSreDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrfDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrgDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSrhDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcSriDnrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccQznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccRznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<elementImport xmi:id="_GcccSznrEd2-cMuNDU2d2Q">
<importedElement xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</elementImport>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrQDnrEd2-cMuNDU2d2Q" name="domain">
<ownedAttribute xmi:id="_GcSrQTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrQjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_w8IxIM37EdqwVrslYOdUDA "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrdznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrdTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrRDnrEd2-cMuNDU2d2Q" name="Student">
<ownedAttribute xmi:id="_GcSrRTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrRjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_vOBDQDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccQjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccQDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrSDnrEd2-cMuNDU2d2Q" name="name">
<ownedAttribute xmi:id="_GcSrSTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrSjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_wsyuYDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrcznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrcTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrTDnrEd2-cMuNDU2d2Q" name="id">
<ownedAttribute xmi:id="_GcSrTTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrTjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_xfmrYjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccTjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccTDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrUDnrEd2-cMuNDU2d2Q" name="getName">
<ownedAttribute xmi:id="_GcSrUTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrUjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_yJxpwDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrbznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrbTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrVDnrEd2-cMuNDU2d2Q" name="getId">
<ownedAttribute xmi:id="_GcSrVTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrVjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_y6WyIjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSreznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSreTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrWDnrEd2-cMuNDU2d2Q" name="Lecturer">
<ownedAttribute xmi:id="_GcSrWTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrWjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_9yO6qDnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrhznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrhTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrXDnrEd2-cMuNDU2d2Q" name="name">
<ownedAttribute xmi:id="_GcSrXTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrXjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__VVFEjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccRjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccRDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrYDnrEd2-cMuNDU2d2Q" name="id">
<ownedAttribute xmi:id="_GcSrYTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrYjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#__tK9UjnpEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrgznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrgTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSrZDnrEd2-cMuNDU2d2Q" name="getName">
<ownedAttribute xmi:id="_GcSrZTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrZjnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DFF7YjnqEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcccSjnrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcccSDnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype"
xmi:id="_GcSraDnrEd2-cMuNDU2d2Q" name="getId">
<ownedAttribute xmi:id="_GcSraTnrEd2-cMuNDU2d2Q" name="path"
isReadOnly="true">
<type xmi:type="uml:PrimitiveType"
href=" pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<defaultValue xmi:type="uml:LiteralString"
xmi:id="_GcSrajnrEd2-cMuNDU2d2Q"
value=" file:/D:/AdomProject/eclipse/runtime-EclipseApplication/Itay /Models/domain.uml#_DWhpoDnqEd2-cMuNDU2d2Q "/>
</ownedAttribute>
<ownedAttribute xmi:id="_GcSrfznrEd2-cMuNDU2d2Q"
name="base_Element" association="_GcSrfTnrEd2-cMuNDU2d2Q">
<type xmi:type="uml:Class"
href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrbTnrEd2-cMuNDU2d2Q" name="Element_getName"
memberEnd="_GcSrbjnrEd2-cMuNDU2d2Q _GcSrbznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrbjnrEd2-cMuNDU2d2Q" name="extension_getName"
type="_GcSrUDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrbTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrcTnrEd2-cMuNDU2d2Q" name="Element_name"
memberEnd="_GcSrcjnrEd2-cMuNDU2d2Q _GcSrcznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrcjnrEd2-cMuNDU2d2Q" name="extension_name"
type="_GcSrSDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrcTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrdTnrEd2-cMuNDU2d2Q" name="Element_domain"
memberEnd="_GcSrdjnrEd2-cMuNDU2d2Q _GcSrdznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrdjnrEd2-cMuNDU2d2Q" name="extension_domain"
type="_GcSrQDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSrdTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSreTnrEd2-cMuNDU2d2Q" name="Element_getId"
memberEnd="_GcSrejnrEd2-cMuNDU2d2Q _GcSreznrEd2-cMuNDU2d2Q">
<ownedEnd xmi:type="uml:ExtensionEnd"
xmi:id="_GcSrejnrEd2-cMuNDU2d2Q" name="extension_getId"
type="_GcSrVDnrEd2-cMuNDU2d2Q" aggregation="composite"
association="_GcSreTnrEd2-cMuNDU2d2Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension"
xmi:id="_GcSrfTnrEd2-cMuNDU2d2Q" name="Element_getId"
memberEnd="_GcSrfjnrEd2-cMuNDU2d2Q _GcSrfznrEd2-cMuNDU2d2Q">
<ownedEnd xmi
Previous Topic:Creating a UML Editor
Next Topic:how to clone a model
Goto Forum:
  


Current Time: Mon Mar 30 23:48:52 GMT 2020

Powered by FUDForum. Page generated in 0.02556 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top