E&S CVS Commit: PEAK - The end of 'metamodels.SimpleModel' and 'metamodel.querying'! Replaced the
pje at eby-sarna.com
pje at eby-sarna.com
Fri Nov 22 19:24:01 EST 2002
Module Name: PEAK
Committed By: pje
Date: Sat Nov 23 00:23:31 UTC 2002
Modified Files:
PEAK/src/peak/config: modules.py
PEAK/src/peak/metamodels/tests: General.py
PEAK/src/peak/metamodels/uml: Model.py
PEAK/src/peak/model: api.py
Added Files:
PEAK/src/peak/model: queries.py
Removed Files:
PEAK/src/peak/metamodels: SimpleModel.py querying.py
Log Message:
The end of 'metamodels.SimpleModel' and 'metamodel.querying'! Replaced the
latter with the new 'peak.model.queries' module, which uses generators
and lexical closures to handle more complex querying tasks than the old
system, although it could use a bit more syntax sugar. Added
'model.DerivedAssociation' as a feature base class in place of creating
'metamodel.querying.ComputedFeature' instances.
Unfortunately, to get all this to work required me to ditch one of my
optimizations to module inheritance, because for some reason unclear to me,
if the simulator isn't run on 'uml.MetaModel' or 'uml.Model' when
'SimpleModel' isn't used, classes don't end up knowing their parents. I'll
need to investigate this again later. Meanwhile, it works, but the
restored inheritance overhead wipes out the gains I got by getting rid
of 'SimpleModel'. Ah well. At least now we have a clean and "supported"
query package, and the core 'model' package supports everything the old
metamodel stuff did.
To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/config/modules.py.diff?r1=1.4&r2=1.5
http://cvs.eby-sarna.com/PEAK/src/peak/metamodels/tests/General.py.diff?r1=1.13&r2=1.14
http://cvs.eby-sarna.com/PEAK/src/peak/metamodels/uml/Model.py.diff?r1=1.23&r2=1.24
http://cvs.eby-sarna.com/PEAK/src/peak/model/api.py.diff?r1=1.49&r2=1.50
http://cvs.eby-sarna.com/PEAK/src/peak/model/queries.py?rev=1.1&content-type=text/vnd.viewcvs-markup
To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 PEAK/src/peak/config/modules.py
cvs rdiff -r1.7 -r0 PEAK/src/peak/metamodels/SimpleModel.py
cvs rdiff -r1.6 -r0 PEAK/src/peak/metamodels/querying.py
cvs rdiff -r1.13 -r1.14 PEAK/src/peak/metamodels/tests/General.py
cvs rdiff -r1.23 -r1.24 PEAK/src/peak/metamodels/uml/Model.py
cvs rdiff -r1.49 -r1.50 PEAK/src/peak/model/api.py
cvs rdiff -r0 -r1.1 PEAK/src/peak/model/queries.py
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
More information about the source-changes
mailing list