TY - GEN
T1 - Generating Code for Associations Supporting Operations on Multiple Instances
AU - Goldberg, Mayer
AU - Wiener, Guy
PY - 2011/12/1
Y1 - 2011/12/1
N2 - Associations between objects are one of the most fundamental concepts in object-oriented design. The choices of how to implement associations determine how operations on the associated instances are performed: Sequentially or in parallel, with or without cached results, and with a transient or persistent effect. In this work, we propose a scheme that allows for generated code to support different methods of operating on associated instances, without requiring changes to the client code. These methods include using indices, traversing the association in parallel, or using a database. Instead of the sequential iterator interface, we propose to use an interface that include operations over multiple instances: Foreach, Filter, Map and Fold. This interface allows for realizing designs that involve sending messages to multiple associated instances, such as UML sequence and communication diagrams. The realization does not depend on the implementation details of the associations.
AB - Associations between objects are one of the most fundamental concepts in object-oriented design. The choices of how to implement associations determine how operations on the associated instances are performed: Sequentially or in parallel, with or without cached results, and with a transient or persistent effect. In this work, we propose a scheme that allows for generated code to support different methods of operating on associated instances, without requiring changes to the client code. These methods include using indices, traversing the association in parallel, or using a database. Instead of the sequential iterator interface, we propose to use an interface that include operations over multiple instances: Foreach, Filter, Map and Fold. This interface allows for realizing designs that involve sending messages to multiple associated instances, such as UML sequence and communication diagrams. The realization does not depend on the implementation details of the associations.
UR - http://www.scopus.com/inward/record.url?scp=84879469738&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-642-23391-3_12
DO - https://doi.org/10.1007/978-3-642-23391-3_12
M3 - Conference contribution
SN - 9783642233906
T3 - Communications in Computer and Information Science
SP - 163
EP - 177
BT - Evaluation of Novel Approaches to Software Engineering - 5th International Conference, ENASE 2010, Revised Selected Papers
A2 - Maciaszek, Leszek A.
A2 - Loucopoulos, Pericles
T2 - 5th International Conference Evaluation of Novel Approaches to Software Engineering, ENASE 2010
Y2 - 22 July 2010 through 24 July 2010
ER -