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]{ 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]{ 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]{ 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]{ 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]{ 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]{ 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]\n 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 # eof