METAMODEL date=2015-03-06
uri:http://unican.es/istr/PyEmofUC/CountyCity/County
mmUrl:http://unican.es/istr/PyEmofUC/EmofUC.xmi
nsPrefix:cnty
rootType:cnty.County
rootPackage:Package[cnty.rootPackage]{
nestingPackage:None
visibility:#emof.VisibilityKind.Public
Age:PrimitiveType[cnty.Age]{
PT:Tag[cnty.Age.PT] value:emof.PyInteger
MIN:Tag[cnty.Age.MIN] value:0
visibility:#emof.VisibilityKind.Public
package:#cnty.rootPackage
} # Age
Sex:Enumeration[cnty.Sex]{
visibility:#emof.VisibilityKind.Public
package:#cnty.rootPackage
Man:EnumerationLiteral[cnty.Sex.Man]{
visibility:#emof.VisibilityKind.Public
enumeration:#cnty.Sex
} # Man
Woman:EnumerationLiteral[cnty.Sex.Woman]{
visibility:#emof.VisibilityKind.Public
enumeration:#cnty.Sex
} # Woman
} # Sex
County:Class[cnty.County]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:http://unican.es/istr/PyEmofUC/EmofUC#emof.Object
countyName:Property[cnty.County.name]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:http://unican.es/istr/PyEmofUC/EmofUC#emof.PyString
theClass:#cnty.County
} # countyName
countyAddress:Property[cnty.County.countyAddress]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:http://unican.es/istr/PyEmofUC/EmofUC#emof.PyString
theClass:#cnty.County
} # countyAddress
home:Property[cnty.County.home]<<isComposite>>{
upper:*
lower:0
opposite:#cnty.Home.county
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Home
theClass:#cnty.County
} # home
schoolDirectory:Property[cnty.Count.schoolDirectory]<<isComposite>>{
upper:*
lower:0
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.schoolDirectory
theClass:#cnty.County
} # schoolDirectory
} # County
SchoolDirectory:Class[cnty.SchoolDirectory]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:http://unican.es/istr/PyEmofUC/EmofUC#emof.Object
school:Property[cnty.SchoolDirectory.school]<<isComposite>>{
upper:*
lower:0
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.School
theClass:#cnty.SchoolDirectory
} # school
} # SchoolDirectory
Home:Class[cnty.Home]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:http://unican.es/istr/PyEmofUC/EmofUC#emof.Object
address:Property[cnty.Home.address]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:http://unican.es/istr/PyEmofUC/EmofUC#emof.PyString
theClass:#cnty.Home
} # address
county:Property[cnty.Home.county]{
upper:1
lower:1
opposite:#County.home
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.County
theClass:#cnty.Home
} # county
parent:Property[cnty.Home.parent]{
upper:*
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Adult
theClass:#cnty.Home
} # parent
member:Property[cnty.Home.member]<<isComposite>>{
upper:*
lower:1
opposite:#cnty.Person.home
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Person
theClass:#cnty.Home
} # member
} # Home
Person:Class[cnty.Person]<<isAbstract>>{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:http://unican.es/istr/PyEmofUC/EmofUC#emof.Object
name:Property[cnty.Person.name]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:http://unican.es/istr/PyEmofUC/EmofUC#emof.PyString
theClass:#cnty.Person
} # name
sex:Property[cnty.Person.sex]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:#cnty.Sex.Man
theType:#cnty.Sex
theClass:#cnty.Person
} # sex
age:Property[cnty.Person.age]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Age
theClass:#cnty.Person
} # age
home:Property[cnty.Person.home]{
upper:1
lower:1
opposite:#cnty.Home.member
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Home
theClass:#cnty.Person
} # home
} # Person
Infant:Class[cnty.Infant]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:#cnty.Person
school:Property[cnty.Infant.school]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.School
theClass:#cnty.Infant
} # school
} # Infant
Adult:Class[cnty.Adult]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:#cnty.Person
job:Property[cnty.Adult.job]{
upper:*
lower:0
opposite:cty#cty.Employ.worker
visibility:#emof.VisibilityKind.Public
default:None
theType:cty#cty.Employ
theClass:#cnty.Adult
} # job
offspring:Property[cnty.Adult.offspring]<<isDerived>>{
DPE:Tag[cnty.Adult.offspring.DPE] value:return [offspring for offspring in self.home.member if not offspring in self.home.parent and self in self.home.parent]
upper:*
lower:0
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:#cnty.Person
theClass:#cnty.Adult
} # offspring
} # Adult
School:Class[cnty.School]{
package:#cnty.rootPackage
visibility:#emof.VisibilityKind.Public
superclass:http://unican.es/istr/PyEmofUC/EmofUC#emof.Object
name:Property[cnty.School.name]{
upper:1
lower:1
opposite:None
visibility:#emof.VisibilityKind.Public
default:None
theType:http://unican.es/istr/PyEmofUC/EmofUC#emof.PyString
theClass:#cnty.School
} # name
} # School
} # rootPackage