In databases, the view update problem (VUP) is studied: Can an update on a view be propagated to the main data base. This is also an issue for Adaptive Programming. An adaptive program programs against an abstraction of the class graph and objects and certain operations on the abstract objects don't make sense. The gather and asList methods of DJ can get us into trouble. Consider a list constructed by one of those methods and we want to add a new element after the 7th element. This only makes sense, if the schema "allows" such an insertion where "allows" needs to be defined precisely. Deletion of an object also needs attention. If we delete the seventh object in cg.asList(o, WhereToGo), we might get an object that is illegal with respect to the class graph. Studying VUP in the context of AP is an interesting problem suitable for a Master Thesis. Tasks: Theory: Study: http://www.ccs.neu.edu/research/demeter/biblio/new-strategy-semantics.html and develop rules that define the legal updates. Implementation: Modify DJ (a Java program) that checks for legal updates. http://www.ccs.neu.edu/research/demeter/DJ/