abbreviations - home - springer978-3-662-05851... · 2017-08-25 · the following abbreviations...

28
Abbreviations The following abbreviations have been used in the book: • AODBs: aspect-oriented database systems • AOP: aspect-oriented programming • AOSD: aspect-oriented software development • API: application programming interface • BLObs: Binary Large Objects • CLObs: Character Large Objects • CORBA: Common Object Request Broker Architecture CVDG: class version derivation graph • DAG: directed acyclic Graph DBMS: database management system • JDBC: Java Database Connectivity • JDO: Java Data Objects • ODBC: Open Database Connectivity ODBMS: object database management system ODMG: Object Data Management Group ODQL: Object Data Query Language 00: object-oriented • OODB: object-oriented database OQL: Object Query Language • ORDB: object-relational database OVDG: object version derivation graph RDB: relational database SQL: Structured Query Language

Upload: hanhu

Post on 28-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Abbreviations

The following abbreviations have been used in the book:

• AODBs: aspect-oriented database systems • AOP: aspect-oriented programming • AOSD: aspect-oriented software development • API: application programming interface • BLObs: Binary Large Objects • CLObs: Character Large Objects • CORBA: Common Object Request Broker Architecture • CVDG: class version derivation graph • DAG: directed acyclic Graph • DBMS: database management system • JDBC: Java Database Connectivity • JDO: Java Data Objects • ODBC: Open Database Connectivity • ODBMS: object database management system • ODMG: Object Data Management Group • ODQL: Object Data Query Language • 00: object-oriented • OODB: object-oriented database • OQL: Object Query Language • ORDB: object-relational database • OVDG: object version derivation graph • RDB: relational database • SQL: Structured Query Language

References

(Afsarmanesh, Knapp, et al. 1985) Afsarmanesh, H., Knapp, D., McLeod, D., and Parker, A.: An Extensible Object -Oriented Approach to VLSIICAD. In: VLDB '85, ed by Pirotte, A., Vassiliou, Y., 11 th International Conference on Very Large Databases, Stockholm, Sweden, August 1985 (Morgan Kauf­mann 1985), pp. 13-24.

(Aksit, Bergmans, et al. 1992) Aksit, M., Bergmans, L., and Vural, S.: An Object-Oriented Language-Database Integration Model: The Composi­tion-Filters Approach. In: ECOOP '92, ed by Madsen, O. L., 6th European Conference on Object-Oriented Programming, Utrecht, The Netherlands, June 1992. Lecture Notes in Computer Science, vol 615 (Springer 1992), pp. 372-395.

(Albano, Dearle, et al. 1989) Albano, A., Dearle, A., Ghelli, G., Marlin, c., Morrison, R., Orsini, R, and Stemple, D.: A Framework for Comparing Type Systems for Database Programming Languages. In: DBPL-2, ed by Hull, R, Morrison, R., and Stemple, D. W., 2nd International Workshop on Database Programming Languages, Gleneden Beach, Oregon, USA, June 1989 (Morgan Kaufmann 1990), pp. 203-212.

(Andany, Leonard, et al. 1991) Andany, J., Leonard, M., and Palisser, c.: Management of Schema Evolution in Databases. In: VLDB '91, ed by Lohman, G. M., Sernadas, A., and Camps, R, 17th International Confer­ence on Very Large Databases, Barcelona, Spain, September 1991 (Morgan Kaufmann 1991), pp. 161-170.

(Andrade and Fiadeiro 2002) Andrade, L. and Fiadeiro, J.: Agility through Coordination. Information Systems !ourna127(6), pp. 411-424 (2002).

(Andrews 2001) Andrews, 1. H.: Process-Algebraic Foundations of Aspect­Oriented Programming. In: Reflection '01, ed by Yonezawa, A. Matsuoka, S., 3rd International Conference on Meta-level Architectures and Separa-

150 References

tion of Concerns, Kyoto, Japan, September 2001. Lecture Notes in Com­puter Science, vol 2192 (Springer 2001), pp. 187-209.

(AspectJ -Team 2003) AspectJ Team: AspectJ Project. http://www.eclipse. org/aspectj/ (2003).

(Atkinson, Daynes, et al. 1996) Atkinson, M. P., Daynes, 1., Jordan, M. J., Printezis, T., and Spence, S.: An Orthogonally Persistent Java. ACM SIG­MOD Record 25(4), pp. 68-75 (1996).

(Atkinson, Daynes, et al. 1997) Atkinson, M. P., Daynes, 1., Jordan, M. J., and Spence, S.: Design Issues for Persistent Java: A Type-Safe, Object-Ori­ented, Orthogonally Persistent System. In: POS-7, ed by Conner, R. C. H., Nettles, S., 7th International Workshop on Persistent Object Systems, Cape May, New Jersey, USA, 1996 (Morgan Kaufmann 1997), pp. 33-47.

(Atkinson and Jordan 1998) Atkinson, M. P. and Jordan, M. J.: Providing Orthogonal Persistence for Java. In: ECOOP '98, ed by Jul, E., 12th Euro­pean Conference on Object-Oriented Programming, Brussels, Belgium, July 1998. Lecture Notes in Computer Science, vol 1445 (Springer 1998), pp. 383-395.

(Banerjee, Chou, et al. 1987) Banerjee, J., Chou, H.-T., Garza, J. F., Kim, W., Woelk, D., and Ballou, N.: Data Model Issues for Object-Oriented Applications. ACM Transactions on Office Information Systems 5(1), pp. 3-26 (1987).

(Banerjee, Kim, et al. 1987) Banerjee, J., Kim, W., Kim, H., and Korth, H. F.: Semantics and Implementation of Schema Evolution in Object-Ori­ented Databases. In: SIGMOD '87, ed by Dayal, U., Traiger, I. 1., ACM Spe­cial Interest Group on Management of Data Annual Conference, San Fran­cisco, California, USA, May 1987. In:ACM SIGMOD Record 16(3), pp. 311-322 (1987).

(Banerjee, Krishnamurthy, et al. 2000) Banerjee, S., Krishnamurthy, V., and Murthy, R.: All Your Data: The Oracle Extensibility Architecture. In: Component Database Systems, ed by Dittrich, K. R., Geppert, A. (Morgan Kaufmann 2000), pp. 71-104.

(Baniassad, Murphy, et al. 2002) Baniassad, E. 1. A., Murphy, G. C., Schwanninger, c., and Kircher, M.: Managing Crosscutting Concerns dur­ing Software Evolution Tasks: An Inquisitive Study. In: AOSD '02, ed by

References 151

Kiczales, G., 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002 (ACM 2002), pp. 120-126.

(Benatallah and Tari 1998) Benatallah, B. and Tari, Z.: Dealing with Ver­sion Pertinence to Design an Efficient Schema Evolution Framework. In: IDEAS '98, ed by Eaglestone, B., Desai, B. c., and Shao, J., International Database Engineering and Applications Symposium, Cardiff, Wales, UK, July 1998 (IEEE Computer Society 1998), pp. 24-33.

(Bergmans and Aksit 2001) Bergmans, L. and Aksit, M.: Composing Cross­cutting Concerns using Composition Filters. Communications of the ACM 44(10), pp. 51-57 (2001).

(Bergmans, Aksit, et al. 2001) Bergmans, L., Aksit, M., and Tekinerdogan, B.: Aspect Composition using Composition Filters. In: Software Architec­tures and Component Technology: The State of the Art in Research and Prac­tice, ed by Aksit, M. (Kluwer Academic Publishers 2001), pp. 357- 382.

(Bergstein and Huersch 1993) Bergstein, P. L. and Huersch, W. L.: Main­taining Behavioral Consistency during Schema Evolution. In: ISOTAS '93, ed by Nishio, S., Yonezawa, A., 1st International Symposium on Object Technologies for Advanced Software, Kanazawa, Japan. November 1993. Lecture Notes in Computer Science, vol 742 (Springer 1993), pp. 176-193.

(Bertino, Ferrari, et al. 1998) Bertino, E., Ferrari, E., Guerrini, G., and Merlo, I.: Extending the ODMG Object Model with Time. In: ECOOP '98, ed by Jul, E., 12th European Conference on Object-Oriented Program­ming, Brussels, Belgium, July 1998. Lecture Notes in Computer Science, vol 1445 (Springer 1998), pp. 41-66.

(Bjornerstedt and Hulten 1989) Bjornerstedt, A. and Hulten, c.: Version Control in an Object-Oriented Architecture. In: Object-Oriented Concepts, Databases, and Applications, ed by Kim, W., Lochovsky, F. H. (ACM and Addison-Wesley 1989), pp. 451-485.

(Blair, Coulson, et al. 2001) Blair, G. S., Coulson, G., Andersen, A., Blair, L., Clarke, M., Costa, F., Duran-Limon, H., Fitzpatrick, T., Johnston, L., Mor­eira, R., Parlavantzas, N., and Saikoski, K.: The Design and Implementation of OpenORB v2. IEEE DS Online, Special Issue on Reflective Middleware 2( 6) (2001).

152 References

(Blakeley 1996) Blakeley, J. A.: OLE DB: A Component DBMS Architec­ture. In: ICDE '96, ed by Su, S. Y. W., 12th International Conference on Data Engineering, New Orleans, Louisiana, February/March 1996 (IEEE Computer Society 1996), pp. 203-204.

(Bobzin 2000) Bobzin, H.: The Architecture of a Database System for Mobile and Embedded Devices. In: Component Database Systems, ed by Dittrich, K. R., Geppert, A. (Morgan Kaufmann 2000), pp. 237-251.

(Boellert 1999) Boellert, K.: On Weaving Aspects. In: Aspect-Oriented Pro­gramming, ed by Bergmans, L., Lopes, C. V. In: ECOOP '99 Workshop Reader, ed by Moreira, A., Demeyer, S., ECOOP '99 Workshops, Lisbon, Portugal, June 1999. Lecture Notes in Computer Science, vol 1743 (Springer 1999), pp. 301-302.

(Booch 1994) Booch, G.: Object-Oriented Analysis and Design with Applica­tions (Benjamin Cummings 1994).

(Breche, Ferrandina, et al. 1995) Breche, P., Ferrandina, F., and Kuklok, M.: Simulation of Schema Change using Views. In: DEXA '95, ed by Revell, N., Tjoa, A. M., 6th International Conference on Database and Expert Systems Applications, London, UK, September 1995. Lecture Notes in Computer Science, vol 978 (Springer 1995), pp. 247-258.

(Brookes 1995) Brookes, F. P.: No Silver Bullet - Essence and Accident. In: The Mythical Man-Month (Addison-Wesley 1995), pp. 177-203.

(Cattell, Barry, et al. 2000) Cattell, R. G. G., Barry, D., Berler, M., Eastman, J., Jordan, D., Russel, c., Schadow, 0., Stenienda, T., and Velez, F.: The Object Data Standard: ODMG 3.0 (Morgan Kaufmann 2000).

(Chaudhri, Rashid, et al. 2003) Chaudhri, A. B., Rashid, A., and Zicari, R. (eds): XML Data Management: Native XML and XML-Enabled Database Systems (Addison-Wesley 2003).

(Chavez, Garcia, et al. 2001) Chavez, c., Garcia, A. F., and Lucena, C. J. P.: Some Insights on the Use of AspectJ and Hyper/J. In: Workshop on Aspect­Oriented Programming and Separation of Concerns, Lancaster University, UK, 2001. Computing Department, Lancaster University Technical Report CSEG/03/0 1, ed by Rashid, A., Blair, L. http://www.comp.lancs.ac. uk/ com­puting/users/marash/aopws200l/ (2001), pp. 20-24.

References 153

(Cheng 2003) Cheng, A.: XBel Framework - Reasoning with Inconsis­tency. http://www.cs.toronto.edu/ -annie/FMGroup/xbel.html (2003).

(Chou and Kim 1986) Chou, H.-T. and Kim, W.: A Unifying Framework for Version Control in a CAD Environment. In: VLDB '86, ed by Chu, W. W., Gardarin, G., Ohsuga, S., and Kambayashi, Y., 12th International Con­ference on Very Large Databases, Kyoto, Japan, August 1986 (Morgan Kaufmann 1986), pp. 336-344.

(Chu-Carroll, Wright, et al. 2002) Chu-Carroll, M. c., Wright, J., and Shields, D.: Supporting Aggregation in Fine Grained Software Configura­tion Management. In: FSE-lO, ed by Griswold, W., 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, Charleston, South Carolina, USA, November 2002 (ACM 2002), pp. 99-108.

(Chu-Carroll, Wright, et al. 2003) Chu-Carroll, M. c., Wright, J., and Ying, A. T. T.: Visual Separation of Concerns through Multidimensional Pro­gram Storage. In: AOSD '03, ed by Aksit, M., 2nd International Conference on Aspect-Oriented Software Development, Boston, Massachusetts, March 2003 (ACM 2003), pp. 188-197.

(Clark, Evans, et al. 2003) Clark, A., Evans, A., and Kent, S.: Aspect-Ori­ented Metamodelling. The Computer Journal, Special Issue on Aspect-Ori­ented Programming and Separation of Crosscutting Concerns 46(5), pp. 566-577 (2003).

(Clarke 2000) Clarke, S.: Designing Reusable Patterns of Cross-Cutting Behaviour with Composition Patterns. In: Workshop on Advanced Separa­tion of Concerns in Object-Oriented Systems (held in conjunction with ACM SIGPLAN Conference on Object-Oriented Programming Languages, Systems and Applications, Minneapolis, Minnesota, USA, October 2000). http://trese.cs.utwente.nl/Workshops/OOPSLA2000/index.htm (2000).

(Clarke and Walker 2001a) Clarke, S. and Walker, R. J.: Composition Pat­terns: An Approach to Designing Reusable Aspects. In: lCSE '01, 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, May 2001 (IEEE Computer Society 2001), pp. 5-14.

(Clarke and Walker 2001b) Clarke, S. and Walker, R. J.: Mapping Compo­sition Patterns to AspectJ and Hyper/J. In: Workshop on Advanced Separa­tion of Concerns in Software Engineering (held in conjunction with 23rd

154 References

International Conference on Software Engineering, Toronto, Ontario, Canada, May 2001).

http://www.research.ibm.com/hyperspace/workshops/icse200 1/papers­index.htm (2001).

(Clarke and Walker 2002) Clarke, S. and Walker, R. J.: Towards a Standard Design Language for AOSD. In: AOSD '02, ed by Kiczales, G., 1st Interna­tional Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002 (ACM 2002), pp. 113-119.

(Clements and Northrop 2002) Clements, P. and Northrop, L.: Software Product Lines: Practices and Patterns (Addison-Wesley 2002).

(Codd 1970) Codd, E. F.: A Relational Model of Data for Large Shared Data Banks. Communications of the ACM 13(6), pp. 377-387 (1970).

(Conner, Cutts, et al. 1994) Conner, R. C. H., Cutts, Q. I., Kirby, G. N. c., and Morrison, R.: Using Persistence Technology to Control Schema Evolu­tion. In: ACM SIGAP Conference, Phoenix, Arizona, USA, March 1994 (ACM 1994).

(CVS 2003) CVS: Concurrent Versions System. http://www.cvshome.org/ (2003).

(Czarnecki and Eisenecker 2000) Czarnecki, K. and Eisenecker, U.: Gener­ative Programming: Methods, Tools and Applications (Addison-Wesley 2000).

(Debloch, Chen, et al. 2000) Debloch, S., Chen, W., Chow, J.-H., Fuh, Y.­c., Grandbois, J., Jou, M., Mattos, N., Nitzsche, R., Tran, B., and Wang, Y.: Extensible Indexing Support in DB2 Universal Database. In: Component Database Systems, ed by Dittrich, K. R., Geppert, A. (Morgan Kaufmann 2000), pp. 105-138.

(Delcourt and Zicari 1991) Delcourt, C. and Zicari, R.: The Design of an Integrity Consistency Checker (ICC) for an Object Oriented Database Sys­tem. In: ECOOP '91, ed by America, P., 5th European Conference on Object-Oriented Programming, Geneva, Switzerland, July 1991. Lecture Notes in Computer Science, vol 512 (Springer 1991), pp. 97-117.

References 155

(Dijkstra 1976) Dijkstra, E. W.: A Discipline of Programming (Prentice Hall, 1976).

(Dingwall-Smith and Finkelstein 2002) Dingwall-Smith, A. and Finkel­stein, A.: From Requirements to Monitors by way of Aspects. In: Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Archi­tecture Design (held in conjunction with 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002). http://trese.cs. utwente.nl/ AOSD-Early Aspects WS/ (2002).

(Dittrich, Gatziu, et al. 1995) Dittrich, K. R., Gatziu, S., and Geppert, A.: The Active Database Management System Manifesto: A Rulebase of ADBMS Features. In: RIDS '95, ed by Sellis, T. K., 2nd International Work­shop on Rules in Database Systems, Athens, Greece, September 1995. Lec­ture Notes in Computer Science, vol 985 (Springer 1995), pp. 3-20.

(Dittrich and Geppert 2000) Dittrich, K. R. and Geppert, A. (eds), Compo­nent Database Systems (Morgan Kaufmann 2000).

(Dittrich and Lorie 1988) Dittrich, K. R. and Lorie, R. A.: Version Support for Engineering Database Systems. IEEE Transactions on Software Engineer­ing 14(4), pp. 429-437 (1988).

(Dmitriev 1998) Dmitriev, M.: The First Experience of Class Evolution Support in PJama. In: Advances in Persistent Object Systems, ed by Morri­son, R., Jordan, M. K., and Atkinson, M. P., Proceedings of the 8th Interna­tional Workshop on Persistent Object Systems (POS-8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW-3), Tiburon, California, USA, August/September 1998 (Morgan Kaufmann 1999), pp. 279-296.

(Douence, Motelet, et al. 2001) Douence, R., Motelet, 0., and Sudholt, M.: A Formal Definition of Crosscuts. In: Reflection '01, ed by Yonezawa, A. Matsuoka, S., 3rd International Conference on Meta-level Architectures and Separation of Concerns, Kyoto, Japan, September 2001. Lecture Notes in Computer Science, vol 2192 (Springer 2001), pp. 170-186.

(Ecklund, Ecklund, et al. 1987) Ecklund, D. J., Ecklund, E. F., Eifrig, R. 0., and Tonge, F. M.: DVSS: A Distributed Version Storage Server for CAD Applications. In: VLDB '87, ed by Stocker, P. M., Kent, W., and Hammers-

156 References

ley, P., 13th International Conference on Very Large Databases, Brighton, UK, September 1987 (Morgan Kaufmann 1987), pp. 443-454.

(Elmasri and Navathe 2000) Elmasri, R. and Navathe, S. B.: Fundamentals of Database Systems, 3rd edn (Addison-Wesley 2000).

(Elrad, Filman, et al. 2001) Elrad, T., Filman, R., and Bader, A. (eds): Theme Section on Aspect-Oriented Programming. Communications of the ACM 44(10) (2001).

(Fayad and Schmidt 1997) Fayad, M. E. and Schmidt, D. c.: Object-Ori­ented Application Frameworks. Communications of the ACM 40(10), pp. 32-38 (1997).

(Ferrandina, Meyer, et al. 1994) Ferrandina, F., Meyer, T., and Zicari, R.: Correctness of Lazy Database Updates for Object Database Systems. In: POS-6, ed by Atkinson, M. P., Maier, D., and Benzaken, V., 6th Interna­tional Workshop on Persistent Object Systems, Provence, France, Septem­ber 1994. Workshops in Computing (Springer and BCS 1995), pp. 284-30l.

(Ferrandina, Meyer, et al. 1995) Ferrandina, F., Meyer, T., Zicari, R., and Ferran, G.: Schema and Database Evolution in the 02 Object Database Sys­tem. In: VLDB '95, ed by Dayal, U., Gray, P. M. D., and Nishio, S., 21st International Conference on Very Large Databases, Zurich, Switzerland, September 1995 (Morgan Kaufmann 1995), pp. 170-18l.

(Filman and Friedman 2000) Filman, R. and Friedman, D.: Aspect-Ori­ented Programming is Quantification and Obliviousness. In: Workshop on Advanced Separation of Concerns in Object-Oriented Systems (held in conjunction with ACM SIGPLAN Conference on Object-Oriented Pro­gramming Languages, Systems, and Applications, Minneapolis, Minnesota, USA, October 2000).

http://trese.cs.utwente.nllWorkshops/00PSLA2000/index.htm (2000).

(Fisher, Goodall, et al. 2002) Fisher, K., Goodall, C., Hogstedt, K., and Rog­ers, A.: An Application-Specific Database. In: DBPL '01, ed by Ghelli, G., Grahne, G., 8th International Workshop on Database Programming Lan­guages, Frascati, Italy, September 200l. Lecture Notes in Computer Sci­ence, vol 2397 (Springer 2002), pp. 213-227.

References 157

(Fishman 1987) Fishman, D. H., Beech, D., Cate, H. P., Chow, E. c., Con­nors, T., Davis, J. W., Derrett, N., Hoch, C. G., Kent, W., Lyngbaek, P., Mahbod, B., Neimat, M.-A., Ryan, T. A., and Shan, M.-C.: Iris: An Object Oriented Database Management System. ACM Transactions on Office Infor­mation Systems 5(1), pp. 48-69 (1987).

(Gamma, Helm, et al. 1995) Gamma, E., Helm, R., Johnson, R., and Vlis­sides, J.: Design Patterns - Elements of Reusable Object-Oriented Software (Addison Wesley 1995).

(Geppert and Dittrich 1995) Geppert, A. and Dittrich, K. R.: Strategies and Techniques: Reusable Artifacts for the Construction of Database Manage­ment Systems. In: CAiSE '95, ed by Iivari, J., Lyytinen, K., and Rossi, M., 7th International Conference on Advanced Information Systems Engineering, Jyvaskyla, Finland, June 1995. Lecture Notes in Computer Science, vol 932 (Springer 1995), pp. 297-310.

(Geppert, Scherrer, et al. 1997) Geppert, A., Scherrer, S., and Dittrich, K. R.: KIDS: A Construction Approach for Database Management Systems Based on Reuse. Department of Computer Science, University of Zurich Techni­cal Report 97.01 (1997).

(Goldberg and Robson 1983) Goldberg, A. and Robson, D.: Smalltalk-80: The Language and Its Implementation (Addison-Wesley 1983).

(Goralwalla and Ozsu 1993) Goralwalla, I. and Ozsu, M.: Temporal Exten­sions to a Uniform Behavioral Object Model. In: ER '93, ed by Elmasri, R., Kouramajian, V., and Thalheim, B., 12th International Conference on the Entity-Relationship Approach, Dallas, Texas, USA, December 1993. Lec­ture Notes in Computer Science, vol 823 (Springer 1994), pp. 110-121.

(Gray and Reuter 1993) Gray, J. and Reuter, A.: Transaction Processing: Concepts and Techniques (Morgan Kaufmann 1993).

(Green and Rashid 2002) Green, R. and Rashid, A.: An Aspect-Oriented Framework for Schema Evolution in Object-Oriented Databases. In: Workshop on Aspects, Components and Patterns for Infrastructure Soft­ware (held in conjunction with the 1st International Conference on Aspect­Oriented Software Development, Enschede, The Netherlands, April 2002).

(Grundy 1999) Grundy, J.: Aspect-Oriented Requirements Engineering for Component-Based Software Systems. In: RE '99, 4th IEEE International

158 References

Symposium on Requirements Engineering, Limerick, Ireland, June 1999 (IEEE Computer Society 1999), pp. 84-91.

(Grundy 2000a) Grundy, J.: Multi-perspective specification, design and implementation of software components using aspects. International Jour­nal of Software Engineering and Knowledge Engineering 20(6) (2000).

(Grundy 2000b) Grundy, J.: Storage and Retrieval of Software Components Using Aspects. In: Australasian Computer Science Conference, Canberra, Australia, January/February 2000 (IEEE Computer Society 2000), pp. 95-103.

(Guzenda 2000) Guzenda, L.: ObjectivitylDB - A High Performance Object Database Architecture. In: Workshop on High Performance Object Databases, Cardiff, Wales, UK, July 2000. http://www.cs.cf.ac.uk! hipod2000/ (2000).

(Haerder and Reuter 1983) Haerder, T. and Reuter, A.: Concepts for Imple­menting a Centralized Database Management System. In: International Computing Symposium on Application Systems Development, Nuernberg, Germany, March 1983.

(Harrison and Ossher 1993) Harrison, W. H. and Ossher, H.: Subject-Ori­ented Programming (A Critique of Pure Objects). In: OOPSLA '93, ed by Paepcke, A., 8th ACM SIGPLAN Conference on Object-Oriented Pro­gramming Systems, Languages and Applications, Washington, DC, USA, October 1993. In: ACM SIGPLAN Notices 28(10), pp. 411-428 (1993).

(Hirschfeld 2003) Hirschfeld, R.: AspectS Home Page. http://www.prak­inf.tu-ilmenau.de/~hirsch/Projects/Squeak!AspectS/ (2003).

(Holmes, Noble, et al. 1998) Holmes, D., Noble, J., and Potter, J.: Towards Reusable Synchronisation for Object-Oriented Languages. In: Aspect-Ori­ented Programming. In: ECOOP '98 Workshop Reader, ed by Demeyer, S., Bosch, J., ECOOP '98 Workshops, Demos and Posters, Brussels, Belgium, July 1998. Lecture Notes in Computer Science, vol 1543 (Springer 1998), p. 439.

(Informix White Paper 1998) Informix: Developing DataBlade Modules for Informix Dynamic Server with Universal Data Option. Informix Corp. USA White Paper (1998).

References 159

(Jasmine 1996) Jasmine: The Jasmine Documentation (Computer Associates International, Inc. & Fujitsu Limited 1996).

(Kaefer and Schoening 1992) Kaefer, W. and Schoening, H.: Realizing a Temporal Complex-Object Data Model. In: SIGMOD '92, ed by Stone­braker, M., ACM SIGMOD International Conference on Management of Data, San Diego, California, USA, June 1992. In: ACM SIGMOD Record 2l(2), pp. 266-275 (1992).

(Katara and Katz 2003) Katara, M. and Katz, S.: Architectural Views of Aspects. In: AOSD '03, ed by Aksit, M., 2nd International Conference on Aspect-Oriented Software Development, Boston, Massachussets, USA, March 2003 (ACM 2003), pp. 1-10.

(Katz 1990) Katz, R. H.: Toward a Unified Framework for Version Model­ing in Engineering Databases. ACM Computing Surveys 22(4), pp. 375-408, (1990).

(Katz, Chang, et al. 1986) Katz, R H., Chang, E., and Bhateja, R: Version Modeling Concepts for Computer Aided Design Databases. In: SIGMOD '86, ACM SIGMOD International Conference on Management of Data, Washington, DC, USA, May 1986. In: ACM SIGMOD Record 15(2), pp. 379-386 (1986).

(Kazman, Klein, et al. 1998) Kazman, R, Klein, M., Barbacci, M., Longstaff, T., Lipson, H., and Carriere, J.: The Architecture Tradeoff Analysis Method. In: ICECCS '98, 4th IEEE International Conference on Engineering of Complex Computer Systems, Monterey, California, USA, August 1998 (IEEE Computer Society 1998), pp. 68-78.

(Kenens 1998) Kenens, P., Michiels, S., Matthijs, F., Robben, B., Truyen, E., Vanhaute, B., Joosen, W., and Verbaeten, P.: An AOP Case with Static and Dynamic Aspects. In: Aspect-Oriented Programming. In: ECOOP '98 Work­shop Reader, ed by Demeyer, S., Bosch, J., ECOOP '98 Workshops, Demos and Posters, Brussels, Belgium, July 1998. Lecture Notes in Computer Sci­ence, vol 1543 (Springer 1998), pp. 428-430.

(Kersten and Murphy 1999) Kersten, M. A. and Murphy, G. c.: Atlas: A Case Study in Building a Web-Based Learning Environment Using Aspect­Oriented Programming. In: OOPSLA '99, 14th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications,

160 References

Denver, Colorado, USA, November 1999. In: ACM SIGPLAN Notices 34(10), pp. 340-352 (1999).

(Ketabchi and Berzins 1987) Ketabchi, M. A. and Berzins, V.: Modeling and Managing CAD Databases. IEEE Computer 20(2), pp. 93-102 (1987).

(Khoshafian 1993) Khoshafian, S.: Object Oriented Databases (Wiley 1993).

(Kiczales and Coady 2003) Kiczales, G., Coady, Y.: AspectC. http:// www.cs.ubc.ca/labs/splJprojects/aspectc.html (2003).

(Kiczales, des Rivieres, et al. 1991) Kiczales, G., des Rivieres, J. and Bobrow, D. G.: The Art of the Metaobject Protocol (MIT Press 1991).

(Kiczales, Hilsdale, et al. 2001) Kiczales, G., Hilsdale, E., Hugunin, J., Ker­sten, M. A., Palm, J., and Griswold, W. G.: An Overview of AspectJ. In: ECOOP '01, ed by Knudsen, J. 1., 15th European Conference on Object­Oriented Programming, Budapest, Hungary, June 2001. Lecture Notes in Computer Science, vol20n (Springer 2001), pp. 327-353.

(Kiczales, Lamping, et al. 1997) Kiczales, G., Lamping, J., Mendhekar, A., Maeda, c., Lopes, c., Loingtier, J., and Irwin, J.: Aspect-Oriented Program­ming. In: ECOOP '97, ed by Aksit, M., and Matsuoka, S., 11 th European Conference on Object-Oriented Programming, Jyvaskyla, Finland, June 1997. Lecture Notes in Computer Science, vol 1241 (Springer 1997), pp. 220-242.

(Kienzle 2001) Kienzle, J.: Open Multi-threaded Transactions: A Transac­tion Model for Concurrent Object-Oriented Programming. PhD Thesis, Swiss Federal Institute of Technology, Lausanne, Switzerland (2001).

(Kienzle and Guerraoui 2002) Kienzle, J. and Guerraoui, R.: AOP: Does It Make Sense? The Case of Concurrency and Failures. In: ECOOP '02, ed by Magnusson, B., 16th European Conference on Object-Oriented Program­ming, Malaga, Spain, June 2002. Lecture Notes in Computer Science, vol 2374 (Springer 2002), pp. 37-61.

(Kim and Chou 1988) Kim, W. and Chou, H.-T.: Versions of Schema for Object-Oriented Databases. In: VLDB '88, Bancilhon, F., and De Witt, D. J., 14th International Conference on Very Large Databases, Los Angeles, California, USA, August/September 1988 (Morgan Kaufmann 1988), pp. 148-159.

References 161

(Kiselev 2002) Kiselev, I.: Aspect-Oriented Programming with Aspect! (SAMS 2002).

(Klahold, Schlageter, et al. 1986) Klahold, P., Schlageter, G., and Wilkes, W.: A General Model for Version Management in Databases. In: VLDE '86, ed by Chu, W. W., Gardarin, G., Ohsuga, S., and Kambayashi, Y., 12th International Conference on Very Large Databases, Kyoto, Japan, August 1986 (Morgan Kaufmann 1986), pp. 319-327.

(Knizhnik 2003) Knizhnik, K.A.: Generic Object-Oriented Database Sys­tem. http://www.ispras.ru/-knizhniklgoods/readme.htm (2003).

(Laddad 2003) Laddad R.: Aspect! in Action - Practical Aspect-Oriented Programming (Manning 2003).

(Lano, Fiadeiro, et al. 2002) Lano, K., Fiadeiro, J., and Andrade, L.: Software Design Using Java 2 (Palgrave Macmillan 2002).

(Lerner and Habermann 1990) Lerner, B. S. and Habermann, A. N.: Beyond Schema Evolution to Database Reorganisation. In: OOPSLA/ ECOOP '90, ed by Meyrowitz, N. K., 5th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications/4th European Conference on Object-Oriented Programming, Ottawa, Canada, October 1990. In: ACM SIGPLAN Notices 25(10), pp. 67-76 (1990).

(Ley 2002) Ley, M.: DBLP: Digital Bibliography and Library Project. http:/ /dblp.uni-trier.de/ (2002).

(Li and McLeod 1994) Li, Q. and McLeod, D.: Conceptual Database Evolu­tion through Learning in Object Databases. IEEE Transactions on Knowl­edge and Data Engineering 6(2), pp. 205-224 (1994).

(Lieberherr, Orleans, et al. 2001) Lieberherr, K. J., Orleans, D., and Ovlinger, J.: Aspect-Oriented Programming with Adaptive Methods. Com­munications of the ACM 44(10), pp. 39-41 (2001).

(Loomis 1992) Loomis, M. E. S.: Object Versioning. Journal of Object Ori­ented Programming, pp. 40-43 (1992).

(Loomis 1995) Loomis, M. E. S.: Object Databases - The Essentials (Addi­son-Wesley 1995).

162 References

(Masuhara and Kiczales 2003) Masuhara, H. and Kiczales, G.: Modeling Crosscutting in Aspect-Oriented Mechanisms. In: ECOOP '03, ed by Cardelli, L., 17th European Conference on Object-Oriented Programming, Darmstadt, Germany, July 2003. Lecture Notes in Computer Science, vol 2743 (Springer 2003), pp. 2-28.

(Matthijs, Joosen, et al. 1997) Matthijs, F., Joosen, W., Vanhaute, B., Robben, B., and Verbaeten, P.: Aspects Should Not Die. In: Workshop on Aspect-Oriented Programming (held in conjunction with European Con­ference on Object-Oriented Programming, Jyvaskyla, Finland, June 1997). http://trese.cs.utwente.nllaop-ecoop97 / (1997).

(Mehner and Rashid 2003) Mehner, K. and Rashid, A.: Towards a Generic Model for AOP (GEMA). Computing Department, Lancaster University, UK, Technical Report No. CSEG/l/03 (2003).

(Meier 2003a) Meier, W.: eXist Native XML Database. In: XML Data Man­agement: Native XML and XML-Enabled Database Systems, ed by Chaudhri, A. B., Rashid, A., and Zicari, R. (Addison-Wesley 2003), pp. 43-68.

(Meier 2003b) Meier, W.: eXist Open Source XML Database. http:// exist.sourceforge.net/ (2003).

(Mens, Lopes, et al. 1997) Mens, K., Lopes, c., Tekinerdogan, B., and Kic­zales, G.: Aspect-Oriented Programming Workshop Report. In: ECOOP '97 Workshop Reader, ed by Bosch, J., and Mitchell, S., ECOOP '97 Workshops, Jyvaskyla, Finland, June 1997. Lecture Notes in Computer Science, voll3S7 (Springer 1997), pp. 483-496.

(Merriam-Webster 2002) Merriam-Webster: Merriam-Webster Online Dictionary. http://www.m-w.com/(2002).

(Meyer 1988) Meyer, B.: Object-Oriented Software Construction, 1st edn (Prentice Hall 1988).

(Mezini and Lieberherr 1998) Mezini, M., and Lieberherr, K. J.: Adaptive Plug-and-Play Components for Evolutionary Software Development. In: OOPSLA '98, 13th ACM SIGPLAN Conference on Object-Oriented Pro­gramming Systems, Languages and Applications, Vancouver, British Columbia, Canada, October 1998. In: ACM SIGPLAN Notices 33(10), pp. 97-116 (1998).

References 163

(Microsoft 1999) Microsoft Corp.: Microsoft OLE DB 2.5 Programmer's Reference. http://msdn.microsoft.com/ (1999).

(Mikhajlov and Sekerinski 1998) Mikhajlov, L. and Sekerinski, E.: A Study of The Fragile Base Class Problem. In: ECOOP '98, ed by Jul, E., 12th Euro­pean Conference on Object-Oriented Programming, Brussels, Belgium, July 1998. Lecture Notes in Computer Science, vol 1445 (Springer 1998), pp. 355-382.

(Monk and Sommerville 1993) Monk, S. and Sommerville, 1.: Schema Evo­lution in OODBs Using Class Versioning.ACM SIGMOD Record 22(3), pp. 16-22 (1993).

(Morrison, Brown, et al. 1989) Morrison, R., Brown, A. L., Connor, R. C. H., and Dearle, A.: The Napier88 Reference Manual. Universities of Glas­gow and St. Andrews, UK, Technical Report No. PPRR-77-89 (1989).

(Moss 1982) Moss, J. E. B.: Nested Transactions and Reliable Distributed Computing. In: Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh, PA, USA (IEEE Computer Society 1982), pp. 33-39.

(Moss 1987) Moss, J. E. B.: Log-Based Recovery for Nested Transactions. In: VIDB '87, ed by Stocker, P. M., Kent, W., and Hammersley, P., 13th International Conference on Very Large Databases, Brighton, UK, Septem­ber 1987 (Morgan Kaufmann 1987), pp. 427-432.

(Murphy, Walker, et al. 1999) Murphy, G. c., Walker, R. J., and Baniassad, E. L. A.: Evaluating Emerging Software Development Technologies: Les­sons Learned from Evaluating Aspect -Oriented Programming. IEEE Trans­actions on Software Engineering 25( 4), pp. 438-455 (1999).

(02 1998) 02: The 02 System - Release 5.0 Documentation (Ardent Soft­ware 1998).

(ObjectStore 1996) ObjectStore: Object Store C++, Release 4.02 Documen­tation (Object Design Inc. 1996).

(Odberg 1992) Odberg, E.: A Framework for Managing Schema Versioning in Object Oriented Databases. In: DEXA '92, ed by Tjoa, A. M., and Ramos, 1., 3rd International Conference on Database and Expert Systems Applica­tions, Valencia, Spain, 1992 (Springer 1992), pp. 115-120.

164 References

(OMG 2003) Object Management Group: CORBA Specification. http:// www.omg.org/ (2003).

(Orleans and Lieberherr 2001) Orleans, D. and Lieberherr, K. J.: DJ: Dynamic Adaptive Programming in Java. In: Reflection '01, ed by Yon­ezawa, A. Matsuoka, S., 3rd International Conference on Meta-level Archi­tectures and Separation of Concerns, Kyoto, Japan, September 2001. Lec­ture Notes in Computer Science, vol 2192 (Springer 2001), pp. 73-80.

(Ortiz Jr. 2000) Ortiz Jr., S.: Embedded Databases Come out of Hiding. IEEE Computer 33(3), pp. 16-19 (2000).

(Ossher and Tarr 2001) Ossher, H., and Tarr, P. L.: Hyper/J: Multi-dimen­sional Separation of Concerns for Java. In: ICSE '01, 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, May 2001 (IEEE Computer Society 2001), pp. 821-822.

(Oussalah and Urtado 1997) Oussalah, c., and Urtado, c.: Complex Object Versioning. In: CAiSE '97, ed by Olive, A., and Pastor, J. A., 9th Interna­tional Conference on Advanced Information Systems Engineering, Barce­lona, Spain, June 1997. Lecture Notes in Computer Science, vol 1250 (Springer 1997), pp. 259-272.

(Parsons, Rashid, et al. 1999) Parsons, D., Rashid, A., Speck, A., and Telea, A.: A 'Framework' for Object Oriented Frameworks Design. In: TOOLS-29, Conference on Technology of Object Oriented Languages and Systems, Nancy, France, June 1999 (IEEE Computer Society 1999), pp. 141-151.

(Pawlak, Seinturier, et al. 2001) Pawlak, R., Seinturier, L., Duchien, L., and Florin, G.: JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Reflection '01, ed by Yonezawa, A. Matsuoka, S., 3rd International Conference on Meta-level Architectures and Separation of Concerns, Kyoto, Japan, September 2001. Lecture Notes in Computer Science, vol 2192 (Springer 2001), pp. 1-25.

(Peters and Ozsu 1997) Peters, R. J. and Ozsu, M. T.: An Axiomatic Model of Dynamic Schema Evolution in Objectbase Systems. ACM Transactions on Database Systems 22(1), pp. 75-114 (1997).

(POET 1997) POET: POET 5.0 Documentation Set (POET Software 1997).

References 165

(Popovici, Gross, et al. 2002) Popovici, A., Gross, T., and Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: AOSD '02, ed by Kiczales, G., 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002 (ACM 2002), pp. 141-147.

(Pulvermueller, Klaeren, et al. 1999) Pulvermueller, E., Klaeren, H., and Speck, A.: Aspects in Distributed Environments. In: GCSE '99, ed by Czar­necki, K., and Eisenecker, U. W., 1st International Symposium on Genera­tive and Component-Based Software Engineering, Erfurt, Germany, Sep­tember 1999. Lecture Notes in Computer Science, vol 1799 (Springer 1999), pp. 37-48.

(Pulvermueller, Speck, et al. 2000) Pulvermueller, E., Speck, A., and Rashid, A.: Implementing Collaboration-Based Designs Using Aspect-Oriented Programming. In: TOOLS-34, Conference on Technology of Object-Ori­ented Languages and Systems, Santa Barbara, California, USA, July/August 2000 (IEEE Computer Society 2000), pp. 95-104.

(Ra and Rundensteiner 1997) Ra, Y.-G., and Rundensteiner, E. A.: A Trans­parent Schema-Evolution System Based on Object-Oriented View Tech­nology. IEEE Transactions on Knowledge and Data Engineering 9(4), pp. 600-624 (1997).

(Ramakarishnan 1997) Ramakarishnan, R.: Database Management Systems (McGraw-Hill 1997).

(Rao 1994) Rao, B. R., Object Oriented Databases - Technology, Applica­tions and Products (McGraw-Hill 1994).

(Rashid 2000a) Rashid, A.: A Database Evolution Approach for Object-Ori­ented Databases. PhD Thesis, Computing Department, Lancaster Univer­sity, UK (2000).

(Rashid 2000b) Rashid, A.: On to Aspect Persistence. In: GCSE '00, ed by But-1er' G., and Jarzabek, S., 2nd International Symposium on Generative and Component-Based Software Engineering, Erfurt, Germany, October 2000. Lecture Notes in Computer Science, vol 2177 (Springer 2001), pp. 26-36.

166 References

(Rashid 2001a) Rashid, A.: A Database Evolution Approach for Object-Ori­ented Databases. In: ICSM '01, International Conference on Software Maintenance, Florence, Italy, November 2001 (IEEE Computer Society 2001a), pp. 561-564.

(Rashid 2001b) Rashid, A.: Aspect-Oriented and Component-Based Soft­ware Engineering (Editorial). IEEE Proceedings - Software 148(3), pp. 87-88, (2001).

(Rashid 2001c) Rashid, A.: A Hybrid Approach to Separation of Concerns: The Story of SADES. In: Reflection '01, ed by Yonezawa, A. Matsuoka, S., 3rd International Conference on Meta-level Architectures and Separation of Concerns, Kyoto, Japan, September 2001. Lecture Notes in Computer Science, vol 2192 (Springer 2001), pp. 231-249.

(Rashid 2001d) Rashid, A.: Multi-paradigm Implementation of an Object Database Evolution System. In: MPOOL '01, ed by Davis, K., Smaragdakis, Y., and Striegnitz, J., Workshop on Multi-paradigm Programming with Object-Oriented Languages (held in conjunction with European Confer­ence on Object-Oriented Programming, Budapest, Hungary, June 2001), ISBN: 3-00-007968-8 (John von Neuman Institute for Computing 2001), pp.1-9.

(Rashid 2002a) Rashid, A.: Aspect-Oriented Schema Evolution in Object Databases: A Comparative Case Study. In: 1st International Workshop on Unanticipated Software Evolution (held in conjunction with European Conference on Object-Oriented Programming, Malaga, Spain, June 2002). http://joint.orgluse2002/ (2002).

(Rashid 2002b) Rashid, A.: Weaving Aspects in a Persistent Environment. ACM SIGPLAN Notices 37(2), pp. 36-44 (2002).

(Rashid 2003) Rashid, A.: A Framework for Customisable Schema Evolu­tion in Object-Oriented Databases. In: IDEAS '03, International Data Engi­neering and Applications Symposium, Hong Kong SAR, China, July 2003 (IEEE Computer Society 2003), pp. 325-329.

(Rashid and Chitchyan 2003) Rashid, A., and Chitchyan, R.: Persistence as an Aspect. In: AOSD '03, ed by Aksit, M., 2nd International Conference on Aspect-Oriented Software Development, Boston, Massachusetts, USA, March 2003 (ACM 2003), pp. 120-129.

References 167

(Rashid and Kotonya 2001) Rashid, A., and Kotonya, G.: Risk Management in Component-Based Development: A Separation of Concerns Perspective. In: Workshop on Advanced Separation of Concerns (held in conjunction with European Conference on Object-Oriented Programming, Budapest, Hungary, June 2001).

http://trese.cs.utwente.nl/Workshops/ecoopO 1 asoc/index.htm (2001).

(Rashid and Loughran 2002) Rashid, A., and Loughran, N.: Relational Database Support for Aspect-Oriented Programming. In: NODe '02, ed by Aksit, M., Mezini, M., and Unland, R., International Conference NetOb­jectDays: Objects, Components, Architectures, Services, and Applications for a Networked World, Erfurt, Germany, October 2002. Lecture Notes in Computer Science, vol 2591 (Springer 2003), pp. 233-247.

(Rashid, Moreira, et al. 2003) Rashid, A., Moreira, A., and Araujo, J.: Mod­ularisation and Composition of Aspectual Requirements. In: AOSD '03, ed by Aksit, M., 2nd International Conference on Aspect-Oriented Software Development, Boston, Massachusetts, USA, March 2003 (ACM 2003), pp. 11-20.

(Rashid and Sawyer 1998) Rashid, A., and Sawyer, P.: Facilitating Virtual Representation of CAD Data through a Learning Based Approach to Con­ceptual Database Evolution Employing Direct Instance Sharing. In: DEXA '98, ed by Quirchmayr, G., Schweighofer, E., and Bench-Capon, T. J. M., 9th International Conference on Database and Expert Systems Applica­tions, Vienna, Austria, August 1998. Lecture Notes in Computer Science, vol 1460 (Springer 1998), pp. 384-393.

(Rashid and Sawyer 1999) Rashid, A., and Sawyer, P.: Dynamic Relation­ships in Object Oriented Databases: A Uniform Approach. In: DEXA '99, ed by Bench-Capon, T. J. M., Soda, G., and Tjoa, A. M., lOth International Conference on Database and Expert Systems Applications, Florence, Italy, August 1999. Lecture Notes in Computer Science, vol 1677 (Springer 1999), pp. 26-35.

(Rashid and Sawyer 2000a) Rashid, A., and Sawyer, P.: Object Database Evolution using Separation of Concerns. ACM SIGMOD Record 29(4), pp. 26-33 (2000).

168 References

(Rashid and Sawyer 2000b) Rashid, A., and Sawyer, P.: Transparent Dynamic Database Evolution from Java. L' Object 6(3), pp. 373-386 (2000).

(Rashid and Sawyer 2001) Rashid, A., and Sawyer, P.: Aspect-Orientation and Database Systems: An Effective Customisation Approach. lEE Proceed­ings- Software 148(5), pp. 156-164 (2001).

(Rashid, Sawyer, et al. 2002) Rashid, A., Sawyer, P., Moreira, A., and Araujo, J.: Early Aspects: A Model for Aspect-Oriented Requirements Engi­neering. In: RE '02, 10th Anniversary IEEE Joint International Conference on Requirements Engineering, Essen, Germany, September 2002 (IEEE Computer Society 2002), pp. 199-202.

(Rashid, Sawyer, et al. 2000) Rashid, A., Sawyer, P., and Pulvermueller, E.: A Flexible Approach for Instance Adaptation during Class Versioning. In: Objects and Databases, ed by Dittrich, K. R., Guerrini, G., Merlo, I., Oliva, M., and Rodriguez, E., International Symposium on Objects and Data­bases, Sophia Antipolis, France, June 2000. Lecture Notes in Computer Sci­ence, vol 1944 (Springer 2000), pp. 101-113.

(Roos 2002) Roos, R.: Java Data Objects (Addison-Wesley 2002).

(Rose and Segev 1991) Rose, E., and Segev, A.: TOODM - A Temporal Object-Oriented Data Model with Temporal Constraints. In: ER '91, ed by Teorey, T. J., 10th International Conference on Entity-Relationship Approach, San Mateo, California, USA, October 1991 (ER Institute 1991), pp.205-230.

(Santoyridis, Carnduff, et al. 1997) Santoyridis, I., Carnduff, T. W., Gray, W. A., and Miles, J.: An Object Versioning System to Support Collaborative Design within a Concurrent Engineering Context. In: Advances in Data­bases, ed by Small, c., Douglas, P., Johnson, R. G., King, P. J. H., and Mar­tin, G. N., 15th British National Conference on Databases, London, UK, July 1997. Lecture Notes in Computer Science, vol 1271 (Springer 1997), pp.184-199.

(Sihman and Katz 2002) Sihman, 1., and Katz, S.: A Calculus of Superim­positions for Distributed Systems. In: AOSD '02, ed by Kiczales, G., 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002 (ACM 2002), pp. 28-40.

References 169

(Sjoberg 1993) Sjoberg, D.: Quantifying Schema Evolution. Information and Software Technology 35(1), pp. 35-44 (1993).

(Skarra and Zdonik 1986) Skarra, A. H., and Zdonik, S. B.: The Manage­ment of Changing Types in an Object -Oriented Database. In: OOPSLA '86, 1st ACM SIGPLAN Conference on Object-Oriented Programming Sys­tems, Languages, and Applications, Portland, Oregon, USA, 1986. In: ACM SIGPLAN Notices 21(11), pp. 483-495 (1986).

(Smith 1982) Smith, B. c.: Procedural Reflection in Programming Lan­guages. PhD Thesis, MIT, Available as MIT Laboratory of Computer Sci­ence Technical Report 272 (1982).

(Soares, Laureano, et al. 2002) Soares, S., Laureano, E., and Borba, P.: Implementing Distribution and Persistence Aspects with AspectJ. In: OOP­SLA '02, ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, Seattle, Washington, USA, Novem­ber 2002. In: ACM SIGPLAN Notices 37(11), pp. 174-190 (2002).

(Spinczyk, Mahrenholz, et al. 2003) Spinczyk, 0., Mahrenholz, D., and Gal, A.: AspectC++. http://www.aspectc.org/ (2003).

(Stonebraker, Brown, et al. 1999) Stonebraker, M., Brown, P., and Moore, D.: Object-Relational DBMSs: Tracking the Next Great Wave, 2nd edn (Mor­gan Kaufmann 1999).

(Stroustrup 1991) Stroustrup, B.: The C++ Programming Language (Addi­son-Wesley 1991).

(Su and Chen 1991) Su, S., and Chen, H.: A Temporal Knowledge Repre­sentation Model OSAM*/T and Its Query Language OQLlT. In: VLDB '91, ed by Lohman, G. M., Sernadas, A., and Camps, R., 17th International Con­ference on Very Large Databases, Barcelona, Spain, September 1991 (Mor­gan Kaufmann 1991), pp. 431-442.

(Sun Microsystems 2003) Sun Microsystems, Inc.: The Source for Java Technology. http://java.sun.com/(2003).

(Sutton and Rouvellou 2002) Sutton, S. M., and Rouvellou, I.: Modeling of Software Concerns in Cosmos. In: AOSD '02, ed by Kiczales, G., 1st Inter­national Conference on Aspect-Oriented Software Development, En­schede, The Netherlands, April 2002 (ACM 2002), pp. 127-133.

170 References

(Suzuki and Yamamoto 1999a) Suzuki, J., and Yamamoto, Y.: Extending UML for Modelling Reflective Software Components. In: «UML '99»: The Unified Modeling Language - Beyond the Standard, ed by France, R. B., and Rumpe, B., 2nd International Conference on the Unified Modelling Language, Fort Collins, Colorado, USA, October 1999. Lecture Notes in Computer Science, vol 1723, (Springer 1999), pp. 220-235.

(Suzuki and Yamamoto 1999b) Suzuki, J. and Yamamoto, Y.: Extending UML with Aspects: Aspect Support in the Design Phase. In: Aspect-Oriented Programming, ed by Bergmans, L., Lopes, C. V. In: ECOOP '99 Workshop Reader, ed by Moreira, A., Demeyer, S., ECOOP '99 Workshops, Lisbon, Portugal, June 1999. Lecture Notes in Computer Science, vol 1743 (Springer 1999), pp. 299-300.

(Tarr, Ossher, et al. 1999) Tarr, P. L., Ossher, H., Harrison, W. H., and Sut­ton, S. M.: N Degrees of Separation: Multi-dimensional Separation of Con­cerns. In: ICSE '99, International Conference on Software Engineering, Los Angeles, California, USA, May 1999 (ACM 1999), pp. 107-119.

(Tekinerdogan 2000) Tekinerdogan, B.: Synthesis-Based Software Archi­tecture Design. PhD Thesis, Department of Computer Science, University of Twente, The Netherlands (2000).

(Tekinerdogan 2003) Tekinerdogan, B.: ASAAM: Aspectual Software Architecture Analysis Method. In: Workshop on Early Aspects: Aspect-Ori­ented Requirements Engineering and Architecture Design (held in con­junction with International Conference on Aspect-Oriented Software Development, Boston, Massachusetts, USA, March 2003).

http://www.cs.hilkent.edu.tr/AOSD-Early Aspects/ (2003).

(Thomsen 2002) Thomsen, E.: OLAP Solutions: Building Multidimensional Information Systems (Wiley 2002).

(Truyen, Joergensen, et al. 2000) Truyen, E., Joergensen, B. N., and Joosen, W.: Customization of Object Request Brokers through Dynamic Reconfig­uration. In: TOOLS-33, Conference on Technology of Object-Oriented Languages and Systems, Mont St. Michel and St. Malo, France, June 2000 (IEEE Computer Society 2000), pp. 181-194.

References 171

(Truyen, Vanhaute, et al. 2001) Truyen, E., Vanhaute, B., Joosen, W., Ver­baeten, P., and Joergensen, B. N.: Dynamic and Selective Combination of Extensions in Component-Based Applications. In: ICSE '01, 23rd Interna­tional Conference on Software Engineering, Toronto, Ontario, Canada, May 2001 (IEEE Computer Society 2001), pp. 233-242.

(Welch and Stroud 2001) Welch, I. S. and Stroud, R. J.: Kava - Using Byte­Code Rewriting to Add Behavioral Reflection to Java. In: COOTS '01, 6th USENIX Conference on Object-Oriented Technologies and Systems, San Antonio, Texas, USA, January/February 2001 (USENIX, Berkeley, CA 2001), pp. 119-130.

(Welch and Stroud 2003) Welch, I. S. and Stroud, R. J.: Re-engineering Security as a Crosscutting Concern. The Computer Journal, Special Issue on Aspect-Oriented Programming and Separation of Crosscutting Concerns 46(5), pp. 578-589 (2003).

(Weyuker 1998) Weyuker, E. 1.: Testing Component-Based Software: A Cautionary Tale. IEEE Software 15(5), pp. 54-59 (1998).

(Zhang, Haerder, et al. 1997) Zhang, N., Haerder, T., and Thomas, J.: Enriching Object-Relational Databases with Relationship Semantics. In: NCITS '97, 3rd International Workshop on Next Generation Information Technologies and Systems, Neve Ilan, Israel, 1997.

(Zhang, Kambayashi, et al. 1999) Zhang, Y., Kambayashi, Y., Jia, X., Yang, Y., and Sun, c.: On Interactions Between Coexisting Traditional and Coop­erative Transactions. International Journal of Cooperative Information Sys­tems 8(2-3), pp. 87-110 (1999).

(Zicari 1991) Zicari, R.: A Framework for Schema Updates in an Object­Oriented Database System. In: ICDE '91, 7th International Conference on Data Engineering, Kobe, Japan, April 1991 (IEEE Computer Society 1991), pp. 2-13.(Afsarmanesh, Knapp, et al. 1985) Afsarmanesh, H., Knapp, D., McLeod, D., and Parker, A.: An Extensible Object-Oriented Approach to VLSI/CAD. In: VLDB '85, ed by Pirotte, A., Vassiliou, Y., 11 th International Conference on Very Large Databases, Stockholm, Sweden, August 1985 (Morgan Kaufmann 1985), pp. l3-24.

Index

A access control 46, 52 access rights 51 aggregation 47,68,70,77,78,120 application developer 61, 69, 70, 111, 143 aspect-oriented software development

XI, XIV, XV, 1,36,37,145,147, 151, 153, 154, 155, 157, 159, 165, 166, 167, 168, 169, 170 aspect-oriented database system XI,

XII, XV, 2,13,14,15,16,17,19,145, 147 aspect persistence 18,91,94,95,96,

97,117,118,119,121,137,138, 140, 165

aspect repository 91,92,93, 118 AspOEvXII,XIV,XV, 17, 18, 19,56,

60,61,62,63,67,81,86,87,88,89 Converter Adapter 61 Elastic Converter Adapter 61 Vejal60, 61, 86, 87 View Adapter 61

common persistent aspect represen­tation 100, 118

GOODS XII, 17, 18, 19,34,56,64, 65,66,89

modulator 112 PersAJ 18, 19,97,98,101,112 persistence framework 121, 136, 143 persistent aspects 19,91, 92, 95, 96,

113, 116 persistent root aspect 95, 97 relational aspect store XV, 17, 18,19,

99,100,107

SADES XII, XIV, 17, 18, 19,36,56, 58,59,60,63,67,68,70,71,73,74, 76,77,78,81,82,83,84,85,86,87, 88,89, 116, 166 aspect language 59, 87 quantitative evaluation XII, 53,

88,89 relationships

inter-space 68, 69, 70 intra-space 68, 69, 70, 75, 83

aspect-oriented programming XII, XIV, 1,21,22,26,88,134,141,145, 147,149,152,153,156,158,159, 160, 161, 162, 163, 164, 165, 167, 170,171 adaptive programming 18,31,32,

35,36,37,77,78,79 Demeter 32 traversal strategy 31, 32, 77, 78

aspect interaction 139 aspect weaver 24, 60, 111, 112, 113,

116 incremental reweaving 90, 114 reweave 83, 115 selective weaving XIII, 90, 114,

115,118 unweave 115 weave history 114, 115, 116, 118 weave-on -demand XIII, 114, 115,

118 weaver interface object 116

AspectC 29, 160, 169 AspectC++ 29, 169 AspectJ XIII, XIV, XV, 18,23,25,26,

174 Index

27,28,29,30,34,55,59,60,61,64, 67,92,94,97,98,99,100,101, 102, 112, 116, 120, 123, 126, 128, 129, 131,136, 137, 138, 139, 140, 141,142,150,152,153,160,161, 169 advice 27, 28, 30, 34, 61, 64, 97,

100,102,104,105,108,110, 125, 126, 127, 128, 129, 130, 131,134,138,139,140, 143

inter-type declaration 28 introduction 28,31,100,108,138,

142 pointcut 27, 28, 100, 102, 104,

105, 106, 108, 123, 125, 126, 127, 128, 129, 130, 134, 137, 138, 139

AspectS 29, 34, 158 composition filters 18, 29, 30, 31, 35,

36,37,67,73,74,75,76,77,83,84, 99,116,139,142 ComposeJ 30 Sina 30

declarative aspect language 36, 58, 81,116

dynamic AOP 34 hybrid AOP 35, 78, 80, 86 Hyper/J 33,152,153,164 JAC 17, 19,34,141,164 join point 24, 25, 26, 27, 28, 29, 32,

34,56,59,61,64,95,104,105, 106, Ill, 113, 116, 123, 125, 126

Lasagne 34 subject-oriented programming 33

early aspects 36 multi-dimensional separation of con­

cerns 33, 36 hyperspaces 33, 36, 37

hypermodule 33 hyperslice 33

association 47,68,70, 120

B Binary Large Objects 99, 147

C change propagation II, 18,76,77,78,80,

81,85,86 semantics 76, 77, 78, 80

Character Large Objects 99,147 code tangling 22, 23, 40 component-based 40, 41, 42, 54, 92, 145,

146 configuration 12,36,79,117,153 constraint propagation II CORBA42, 91,147,164 cost-effectiveness 53, 88 crosscutting concern XI, XII, I, 18,21,22,

23,24,25,29,30,34,35,37,39,40,42, 46,51,52,53,56,62,67,89,96, 13~ 138, 139, 142, 146

o

database-level crosscutting concern 39 DBMS-level crosscutting concern 39

database system asset repository 14, 92, 118 caching 14, 18,62,63,64,65,139,142 database designer/maintainer 69 DBMS designer 69 Java Data Objects 13,60, 127, 147, 168 JDBC 120, 125, 130, 132, 133, 134, 137,

140, 147 JDBC-ODBC Bridge 125 locking 14,18,34,64,65,66,67,131,

140, 141 optimistic 66 pessimistic 66 pessimistic, repeatable read 66

object access manager 13, 14 object-oriented database XIII, XIV, 2,

3,8, 13, 18,60,89,91,93,94, 120, 122,127,132,137,147 impedance mismatch 2, 93 Jasmine XIII, 3, 59, 87, 94, 97, 98,

101,112,113,116,127,159 ODQL 113, 116, 147

ODMG 18,60,87,94, 127, 147, 151, 152 OQL 127, 147, 169

persistence by reachability 94,95,97, 126

persistence processor 94, 112 persistent root class 94, 95, 97, 122

object-oriented databases temporal object-oriented data mod­

ellO object-relational database XIII, 3, 14,

52,54,120,137,147 object-to-relational mapping 133, 134,

135 ODBC 125, 147 query support 108 recovery 12, 14,40,41,46, 163 relational database XlII, 2, 3,17,18,54,

91,93,94,99, 100, 101, 117, 120, 132, 133, 137, 140, 141, 143, 147 SQL translation 121, 132, 133, 134,

137, 138, 139, 142, 146 SQL-92 XIII, 94, 100, 120, 137

schema evolution 3, 4, 13, 39, 42, 44, 45,48,49,53,56,63,64,76,89,113 backward compatible 6 behavioural consistency 6,8,9, 13 class versioning 44, 49, 56, 78, 80, 85 CLOSQL 44, 60 context versioning 44 deferred update 7 ENCORE 44,50,51,60 forward compatible 6 immediate update 7 instance adaptation 7, 39, 40, 42, 43,

44,46,49,50,51,53,56,57,58,59, 60,61,62,63,67,68,81,82,83,84, 85,86,87,89,113,116 hidden fields 61, 87 version set interface 50, 83

interface mismatch 43, 83, 84 schema modification 44, 56, 75 schema versioning 44 structural consistency 6, 7

schema manager 13, 18,40,41,42,43, 44,58,60

transaction processing 3, 65 cooperative transaction 45

Index 175

flat transaction 45 nested transaction 45, 46, 65

domain specific 39

E end user 1,36,69, 70 expression builder 108

F fault tolerance 19 fragile base class problem 23 framework

G

black-box 62, 63 white-box 61,63

generic reference 11 global 92 granularity 12, 35, 40, 42, 44, 54, 133

H hooks 119, 128 hot spots 40, 60, 61, 62, 63

interpreter 60, 61

L layered 36, 40, 141 lazy evaluation 46 lifetime 3, 50, 54, 91,117

M meta-class 47, 54, 59, 67, 68, 69, 70, 71,

72,73,74,75,76,83 meta-data 39, 46, 51, 99, 103, 125, 132 meta-model 37, 70, 74 meta-object 34, 47, 48, 54, 64, 66, 67, 68,

69,70,71,72,75,76,78,89 monolithic 40, 41, 42, 53 multiple inheritance 4, 23, 56

176 Index

o u object synchronisation 46 obliviousness 119, 156 OLE DB 42, 152, 163

p patterns 23, 37, 92 primary business logic 14, 16

R referential integrity 18, 76, 77, 78, 80,81,

85,86 reflection 34, 64, 114, 120, 128, 130, 131,

135, 137, 138, 142 Kava 34,171 OpenORB 34, 151

5 security XI, 34, 46, 52 separation of concerns XI, 14, 16, 21, 22,

25,34,38,62,67,80,132,143,145,146 strongly typed 8 structural type equivalence 4 surrogate 95, 97,137 system-wide 22, 92

T timestamp 11,83, 103, 104, 114, 115 transition 3, 63 transparency 14, 145 type system 8, 18, 28, 60

untyped 8

v versioning XI, 3, 10, 11, 12, 14, 15, 39, 44,

46,48,49,53,56,59,63,67,78,79,80, 81,85,86,161,163,164,168 branch versioning 11, 79 default version 11 linear versioning 11, 79 macroscopic level 12 microscopic level 12 object versioning 12,49, 56, 78, 80 released version 11 transient version 11 version derivation graph

class version derivation graph 56, 79, 147

object version derivation graphs 49, 57, 79

versioning-by-copy 12 versioning-by-differencel delta -ver­

sioning 12 versionless 63 working version 11

W workgroup support 3, 46, 79