Upload
nguyendieu
View
217
Download
1
Embed Size (px)
Citation preview
Literaturverzeichnis
[Abdel-Wahab 88] Hussein M. Abdel-Wahab, Sheng-Uei Guan, Jay Nievergelt. Shared Workspaces for Group Collaboration: An Experiment Using Internet and UNIX Interprocess Communications. COMPUTER, S. 10-16, Nov. 1988.
[Ahuja 88] S. R. Ahuja, J. Robert Ensor, David N. Horn. The Rapport Multimedia Conferencing System. In Robert B. Allen (Hrsg.), Proc. Conference on Office Information Systems, S. 1-8, Palo Alto, CA, Miirz 1988.
[Ahuja 90] S. R. Ahuja, J. R. Ensor, S. E. Lucco. A Comparison of Application Sharing Mechanisms in Real-Time Desktop Conferencing Systems. In Frederick H. Lochovsky, Robert B. Allen (Hrsg.), Conf. on Office Information Systems, S. 238-248, Cambridge, Massachusetts, April 1990. ACM Press.
[Akscyn 88] Robert M. Akscyn, Donald L. McCracken, Elise A. Yoder. KMS: A Distributed Hypermedia System for Managing Knowledge in Organizations. Communications of the ACM, 31{7}:820-835, Juli 1988.
[Altenhofen 90a] Michael Altenhofen. Erweiterung eines Fenstersystems fUr TutoringFunktionen. Diplomarbeit, Institut fUr Telematik, Universitat Karlsruhe, Jan. 1990.
[Altenhofen 90b] Michael Altenhofen, Burkhard Neidecker-Lutz, Paul Tallett. Upgrading a Window System for Tutoring Functions. In The European X Window System Conference, S. 37-44, London, UK, Nov. 1990.
[Angebranndt 91] Susan Angebranndt, Richard L. Hyde, Daphne Huetu Luong, Nagendra Siravara, Chris Schmandt. Integrating Audio and Telephony in a Distributed Workstation Environment. In USENIX-Summer '91, S. 419-435, Nashville, TN, Juni 1991. USENIX Assoc.
[Applegate 91] Lynda Applegate, Clarence Ellis, Clyde W. Holsapple, Franz J. Radermacher, Andrew B. Whinston. Organizational Computing: Definitions and Issues. Journal of Organizational Computing, 1(1):1-10, 1991.
[Araujo 88] Regina B. Araujo, George F. Coulouris, Julian P. Onions, Hugh T. Smith. The Architecture of the Prototype COSMOS Messaging System. In R. Speth (Hrsg.),
136 LITERATURVERZEICHNIS
Research into Networks and Distributed Applications, EUTECO'BB, S. 157-170, Vienna, Austria, April 1988. The European Action in Teleinformatics COST 11ter, North Holland, Amsterdam.
[Arendt 92] Ralph Arendt. Erweiterung des MVC-Konzepts urn Mehrbenutzer-Fiiliigkeit. Studienarbeit, Universitat Karlsruhe, Institut fiir Telematik, 1992.
[Artsy 90] Yeshayahu Artsy. Routing Objects on Action Paths. In 10th Intl. Conf. on Distributed Computing Systems, S. 572-579, Paris, France, Mai 1990. IEEE Computer Society Press, Los Alamitos, California.
[Bach 86] Maurice J. Bach. The Design of the UNIX Operating System. Prentice Hall, Englewood Cliffs, N.J., 1986.
[Bannon 89] Liam J. Bannon, Kjeld Schmidt. CSCW: Four Characters in Search of a Context. In EC-CSCW 'BY First European Conference on Computer Supported Cooperative Work, S. 358-372, London, UK, Sept. 1989.
[Bannon 91] Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.). ECSCW '91 The 2nd European Conference on Computer Supported Cooperative Work, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Barghouti 91] Naser S. Barghouti, Gail E. Kaiser. Concurrency Control in Advanced Database Applications. ACM Computing Surveys, 23(3):269-317, Sept. 1991.
[Benford 88] Steve Benford. A Data Model for the AMIGO Communications Environment. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'BB, S. 97-110, Vienna, Austria, April 1988. The European Action in Teleinformatics COST 11ter, North Holland, Amsterdam.
[Berlin 90] Lucy M. Berlin, Vicki L. O'Day. Platform and Application Issues in MultiUser Hypertext. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 293-309. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-U~er Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Bhandaru 90] Nehru Bhandaru, W. Bruce Croft. An Architecture for Supporting GoalBased Cooperative Work. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 337-354. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep.,1990.
[Bier 91] Eric A. Bier, Steve Freeman. MMM: A User Interface Architecture for Shared Editors on a Single Screen. In UIST'Y1 Proc. of the ACM Symposium on User Interface Software and Technology, S. 79-86, Hilton Head, South Carolina, Nov. 1991. ACM Press.
LITERATURVERZEICHNIS 137
[Bignoli 89] C. Bignoli, C. Simone. AI Techniques for supporting human to human communication in CHAOS. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 133-147, London, UK, Sept. 1989.
[Bikson 88] Tora K. Bikson. Communication, Coordination, and Group Performance (Panel). In CSCW 88 Conference on Computer-Supported Cooperative Work, S. 189-190, Portland, Oregon, Sept. 1988. ACM Press. Panelists: James H. Bair, Richard E. Barry, Charles E. Grantham and Terry Winograd.
[Birman 91] Kenneth P. Birman, Robert Cooper, Barry Gleeson. Programming with Process Groups: Group and Multicast Semantics. Technischer Bericht TR-91-1185, Cornell University, Jan. 1991.
[Bishop 90] Matt Bishop. Collaboration Using Roles. Software-Practice & Experience, 20(5):485-497, Mai 1990.
[Blakowski 91] G. Blakowski, T. Riidebusch, J. Schaper. NESTOR-Die Architektur einer fortgeschrittenen Autoren-/Lernerumgebung. In Workshop 'Informatik in der Aus- und Weiterbildung', S. 62-68, Dresden, Germany, Feb. 1991.
[Blakowski 92] Gerold Blakowski. High Level Services for Distributed Multimedia Applications Based on Application Media and Environment Descriptions. Proceedings ACSC-15, Fifteenth Australian Computer Science Conference, Hobart, Australia, January 29-31, 1992. Australian Computer Science Communications, 14(1):93-109, Januar 1992.
[Bly 90] Sara A. Bly, Scott L. Minneman. Commune: A Shared Drawing Surface. In Frederick H. Lochovsky, Robert B. Allen (Hrsg.), Con/. on Office In/ormation Systems, S. 184-192, Cambridge, Massachusetts, April 1990. ACM Press.
[Bogen 88] Manfred Bogen, Karl-Heinz Weiss. Group Co-ordination in a Distributed Environment. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'88, S. 111-128, Vienna, Austria, April 1988. The European Action in Teleinformatics COST 11ter, North Holland, Amsterdam.
[Bonfiglio 89] Amedeo Bonfiglio, Giuseppe Malatesta, Francesco Tisato. Conference Toolkit: A Framework for Real-Time Conferencing. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 303-316, London, UK, Sept. 1989.
[Borchers 89] Detlef Borchers. Gruppenzwang - Groupware: Freiheit unter Kontrolle. iX, (6):52-53, 1989.
[Borenstein 88] Nathaniel Borenstein, Chris A. Thyberg. Cooperative Work in the Andrew Message System. In CSCW 88 Conference on Computer-Supported Cooperative Work, S. 306-323, Portland, Oregon, Sept. 1988. ACM Press.
138 LITERATURVERZEICHNIS
[Borning 91] Alan Borning, Michael Travers. Two Approaches to Casual Interaction over Computer and Video Networks. In Scott P. Robertson, Gary M. Olson, Judith S. Olson (Hrsg.), Human Factors in Computing Systems: CHI '91, S. 13-19, New Orleans, Louisiana, April 1991. ACM Press.
[Bowers 88] John Bowers, John Churcher, Tim Roberts. Structuring Computer-Mediated Communication in COSMOS. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'88, S. 195-210, Vienna, Austria, April 1988. The European Action in Teleinformatics COST Uter, North Holland, Amsterdam.
[Bradley 91] G. Bradley. Control vs Creativity: Software Engineering at a Crossroads. In H.-J. Bullinger (Hrsg.), Human Aspects in Computing-Proc. IVth Intl. Conference on Human-Computer Interaction, S. 561-565, Stuttgart, Germany, Sept. 1991. Elsevier Science Publishers, Amsterdam.
[Brauer 91] W. Brauer, D. Hernandez (Hrsg.). Verteilte Kiinstliche Intelligenz und kooperatives Arbeiten, Miinchen, Okt. 1991. GI, Springer, Berlin etc.
[Breiteneder 92] Christian Breiteneder, Laurent Dami, Simon Gibbs, Vicki de Mey, Dennis Tsichritzis. Telepresence in Shared Virtual Worlds. In D. Tsichritzis (Hrsg.), Object Frameworks, S. 265-274. Centre Universitaire d'Informatique, 1992.
[BROCKHAUS 86] Brockhaus-Enzyklopiidie in vierundzwanzig Biinden, neunzehnte Auflage. F. A. Brockhaus GmbH, Mannheim, 1986.
[Brothers 90] L. Brothers, V. Sembugamoorthy, M. Muller. ICICLE: Groupware For Code Inspection. In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 169-181, Los Angeles, CA, Okt. 1990. ACM Press.
[Buckley 88] Paul Buckley, Peter Johnson. Analysis of Communications Tasks in the COSMOS Project. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'88, S. 185-194, Vienna, Austria, April 1988. The European Action in Teleinformatics COST Uter, North Holland, Amsterdam.
[Burkhardt 87] H.-J. Burkhardt, H. Eckert, R. Prinoth, E. Raubold. A model of cooperation and its specification with nets. In K. Voss, H. J. Genrich, G. Rozenberg (Hrsg.), Concurrency and Nets, S. 95-U4. Springer, Berlin etc., 1987.
[BYTE 88] BYTE: Special Issue on Groupware, Dez. 1988.
[CACM 91] Communications of the ACM: Special Issue on Computer-Supported Cooperative Work, Dez. 1991.
[Cerf 91] V. Cerf, P. Kirstein, B. Randell. Network and Infrastructure User Requirements for Transatlantic Research Collaboration. Technischer Bericht RFC1210, The Internet Research and Development Community, Marz 1991.
LITERATURVERZEICHNIS 139
[Chen 76] Peter Pin-Shan Chen. The Entity-Relationship Model- Toward a Unified View of Data. ACM Transactions on Database Systems, 1(1):9-36, Marz 1976.
[Cheriton 85] David R. Cheriton, Willy Zwaenepoel. Distributed Process Groups in the V Kernel. ACM Transactions on Computer Systems, 3(2):70-107, 1985.
[Cindio 86] F. De Cindio, G. De Michelis, C. Simone, R. Vassallo, A. M. Zanaboni. CHAOS as Coordination Technology. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 325-342, Austin, Texas, Dez. 1986. MCC STP, ACM.
[Comer 91] Douglas E. Comer. Internetworking with TCP/IP, Vol. 1. Prentice Hall, Englewood Cliffs, N.J., 1991.
[Conklin 87] Jeff Conklin. Hypertext: An Introduction and Survey. COMPUTER, S. 17-41, Sept. 1987.
[Conklin 88] Jeff Conklin, Michael L. Begeman. gIBIS: A Hypertext Tool for Exploratory Policy Discussion. ACM Transactions on Office Information Systems, 6(4):303-331, Okt. 1988.
[Croft 84] W. Bruce Croft, Lawrence S. Lefkowitz. Task Support In an Office System. ACM Transactions on Office Information Systems, 2(3):197-212, Juli 1984.
[Croft 88] W. B. Croft, L. S. Lefkowitz. Using a Planner to Support Office Work. In Robert B. Allen (Hrsg.), Proc. Conference on Office Information Systems, S. 55-62, Palo Alto, CA, Miirz 1988.
[Crowley 90] Terrence Crowley, Paul Milazzo, Ellie Baker, Harry Forsdick, Raymond Tomlinson. MMConf: An Infrastructure for Building Shared Multimedia Applications. In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 329-342, Los Angeles, CA, Okt. 1990. ACM Press.
[Crowston 88] Kevin Crowston, Thomas W. Malone. Intelligent Software Agents. BYTE, S. 267-271, Dez. 1988. Special Issue on Groupware.
[CSCW 86] MCC STP, ACM. CSCW '86 Conference on Computer-Supported Cooperative Work, Austin, Texas, Dez. 1986.
[CSCW 88] CSCW 88 Conference on Computer-Supported Cooperative Work, Portland, Oregon, Sept. 1988. ACM Press.
[CSCW 90] CSCW '90 Conference on Computer-Supported Cooperative Work, Los Angeles, CA, Okt. 1990. ACM Press.
[Danielsen 88] Thore Danielsen, Uta Pankoke-Babatz. The AMIGO Activity Model. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'88, S. 227-242, Vienna, Austria, April 1988. The European Action in Teleinformatics COST lIter, North Holland, Amsterdam.
140 LITERATURVERZEICHNIS
[Decouchant 91J D. Decouchant, V. Normand, G. Vandome. Application design using the Comandos distributed object oriented system. In H.-J. Bullinger (Hrsg.), Human Aspects in Computing-Proc. IVth Intl. Conference on Human-Computer Interaction, S. 359-363, Stuttgart, Germany, Sept. 1991. Elsevier Science Publishers, Amsterdam.
[Delisle 86J Norman Delisle, Mayer Schwartz. Contexts-A Partitioning Concept for Hypertext. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 147-152, Austin, Texas, Dez. 1986. MCC STP, ACM.
[Dewan 91aJ Prasun Dewan, Rajiv Choudhary. Flexible User Interface Coupling in a Collaborative System. In Scott P. Robertson, Gary M. Olson, Judith S. Olson (Hrsg.), Human Factors in Computing Systems: CHI '91, S. 41-48, New Orleans, Louisiana, April 1991. ACM Press.
[Dewan 91bJ Prasun Dewan, Rajiv Choudhary. Primitives for Programming Multi-User Interfaces. In UIST'91 Proc. of the ACM Symposium on User Interface Software and Technology, S. 69-78, Hilton Head, South Carolina, Nov. 1991. ACM Press.
[Dietel 90J Clemens Dietel, Hans Haugeneder, Andreas Lux, Walter Reinhard, Dieter Scheidhauer, Astrid Scheller-Houy, Thomas Schmidt, Jean Schweitzer, Donald Steiner. Kiinstliche Intelligenz & Kommunikationstechnologie, Projektbeschreibung Version 2.1. Technischer Bericht, DFKI, Siemens, Sept. 1990.
[Dollimore 91J J. Dollimore, E. Miranda, Wang Xu. The Design of a System for Distributing Shared Objects. THE COMPUTER JOURNAL, 34(6):514-521, Dez. 1991.
[DOMINO 89J DOMINO, Ein System zur Koordinierung von Teamarbeit. Gesellschaft fur Mathematik und Datenverarbeitung mbH, Sept. 1989.
[Durr 92J Martin Durr, Karl Rosch. A Model for Cooperative Transactions. In 7th Brazilian Symposium On Database Systems (SBBD), Porto Alegre, Brazil, Mai 1992.
[ECSCW 89J EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, London, UK, Sept. 1989.
[Edmonds 91J Ernest Edmonds, Rachel Jones. Negotiation support in design. In John S. Gero, Fay Sudweeks (Hrsg.), Artificial Intelligence in Design, Workshop of the Twelfth Intl. Joint Conf. on Artificial Intelligence, S. 93-108, Sydney, Australia, Aug. 1991. Univ. of Sydney.
[Ellis 88aJ Clarence Ellis. CSCW '88 Report. ACM SIGOIS Bulletin, 10(1):2-4, Jan. 1988.
[Ellis 88b] Clarence A. Ellis, Gary J. Nutt. Office Information Systems and Computer Science. In Irene Greif (Hrsg.), Computer-Supported Cooperative Work: A Book of Readings, Kap. 9, S. 199-247. Morgan-Kaufmann Publishers, San Mateo, CA, 1988. Reprinted from ACM Computing Surveys 12(1):27-60 1980.
LITERATURVERZEICHNIS 141
[Ellis 89a] C. Ellis, S. J. Gibbs, G. Rein. Design and Use of a Group Editor. Technischer Bericht STP-263-88, Microelectronics and Computer Technology Corp., Austin, Texas, Juni 1989.
[Ellis 89b] C. A. Ellis, S. J. Gibbs. Concurrency Control in Groupware Systems. ACM SIGMOD RECORD, 18(2):399-407, Juni 1989.
[Ellis 91a] C. A. Ellis, S. J. Gibbs, G. L. Rein. Groupware: Some Issues and Experiences. Communications of the ACM, 34(1):38-58, Jan. 1991.
[Ellis 91b] Clarence A. Ellis. Consistency within Concurrent Groupware Systems. IEEE Data Engineering, 14(1):9-13, Marz 1991. Special Issue on Unconventional Transaction Management.
[Elwart-Keys 90] Mary Elwart-Keys, David Halonen, Marjorie Horton, Robert Kass, Paul Scott. User Interface Requirements for Face to Face Groupware. In Jane Carrasco Chew, John Whiteside (Hrsg.), Human Factors in Computing Systems: CHI '90, S. 295-301, Seattle, Washington, April 1990. ACM Press.
[Engelbart 70] Douglas C. Engelbart. Intellectual Implications of Multi-Access Computer Networks. In Interdisciplinary Conference on Multi-Access Computer Networks, Austin, Texas, April 1970.
[Ensor 88] J. Robert Ensor, S. R. Ahuja, David N. Horn, S. E. Lucco. The Rapport Multimedia Conferencing System-A Software Overview. In 2nd IEEE Con/. on Computer Workstations, S. 52-58, Santa Clara, Marz 1988. IEEE Computer Society Press, Los Alamitos, California.
[Ensor 90] Bob Ensor. How Can We Make Groupware Practical? (Panel). In Jane Carrasco Chew, John Whiteside (Hrsg.), Human Factors in Computing Systems: CHI '90, S. 87-89, Seattle, Washington, April 1990. ACM Press. Panelists: Terry Crowley, Bob Kraut, Gail Rein and Lee Sproull.
[Erickson 89] Thomas D. Erickson. Interfaces for Cooperative Work: An Eclectic Look at CSCW '88. ACM SIGCHI Bulletin, 21(1):56-64, Juli 1989.
[Evangelist 88] Michael Evangelist, Ira R.Forman, Glenn R. Bruns. Tebasco: A TeamBased Coordination System. Technischer Bericht STP-250-88, Microelectronics and Computer Technology Corp., Austin, Texas, Aug. 1988.
[Evangelist 89] Michael Evangelist, Nissim Francez, Shmuel Katz. Multiparty Interactions for Interprocess Communication and Synchronization. IEEE Transactions on Software Engineering, 15(11):1417-1426, Nov. 1989.
[Farber 91] Georg Farber. Workstations in den 90ern. PIK: Praxis der Informationsverarbeitung und Kommunikation, 14(4):216-222, 1991.
142 LITERATURVERZEICHNIS
[Ferwagner 89] Thomas Ferwagner, Yingdi Wang, Henrik Lewe, Helmut Krcmar. Experiences in Designing the Hohenheim CATeam Room. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 87-101, London, UK, Sept. 1989.
[Fish 88] Robert S. Fish, Robert E. Kraut, Mary D. P. Leland. Quilt: a collaborative tool for cooperative writing. In Robert B. Allen (Hrsg.), Proc. Conference on Office Information Systems, S. 30-37, Palo Alto, CA, Miirz 1988.
[Fish 90] Robert S. Fish, Robert E. Kraut, Barbara L. Chalfonte. The VideoWindow System in Informal Communications. In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 1-11, Los Angeles, CA, Okt. 1990. ACM Press.
[Flores 88] Fernando Flores, Michael Graves, Brad Hartfield, Terry Winograd. Computer Systems and the Design of Organizational Interaction. ACM Transactions on Office Information Systems, 6(2):153-172, April 1988. Special issue on the language/action perspective.
[Frank 85] Ariel J. Frank, Larry D. Wittie, Arthur J. Bernstein. Multicast Communication on Network Computers. IEEE Software, 2(3}:49-61, 1985.
[Friedrich 91] J. Friedrich, K.-H. Rodiger (Hrsg.). Computergestiitzte Gruppenarbeit (CSCW), 1. Fachtagung, Bremen, Sept. 1991. Teubner, Stuttgart. Berichte des German Chapter of the ACM, Band 34.
[Galanis 92] Thomas Galanis. Realisierung eines kooperativen Spreadsheets. Studienarbeit, Universitat Karlsruhe, Institut fur Telematik, 1992.
[Galegher 90] Jolene Galegher, Robert E. Kraut, Carmen Egido (Hrsg.). Intellectual Teamwork. Lawrence Erlbaum Associates, Hillsdale, New Jersey, 1990.
[Garcia-Luna-Aceves 88] J. J. Garcia-Luna-Aceves, Earl J. Craighill, Ruth Lang. An Open-Systems M9del for Computer-Supported Collaboration. In 2nd IEEE Conf. on Computer Workstations, S. 40-51, Santa Clara, Miirz 1988. IEEE Computer Society Press, Los Alamitos, California.
[Garret 86] L. Nancy Garret, Karen E. Smith, Norman Meyrowitz. Intermedia: Issues, Stategies, and Tactics in the Design of a Hypermedia Document System. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 163-174, Austin, Texas, Dez. 1986. MCC STP, ACM.
[Gelernter 92] David Gelernter, Nicholas Carriero. Coordination Languages and their Significance. Communications of the ACM, 35(2}:96-107, Feb. 1992.
[Gibbs 88] S. J. Gibbs. LIZA: An Extensible Groupware Toolkit. Technischer Bericht STP-042-88, Microelectronics and Computer Technology Corp., Austin, Texas, Jan. 1988.
LITERATURVERZEIGHNIS 143
[Gibbs 89a] S. Gibbs. CSCW and Software Engineering. In D. Tsichritzis (Hrsg.), Object Oriented Development, S. 31-40. Centre Universitaire d'Informatique, 1989.
[Gibbs 89b] S. J. Gibbs. LIZA: An Extensible Groupware Toolkit. In Ken Bice, Clayton Lewis (Hrsg.), Human Factors in Computing Systems: CHI '89, S. 29-35, Austin, Texas, Mai 1989. ACM Press.
[Gibbs 90] S. Gibbs, A. A. Verrijn-Stuart (Hrsg.). Multi-User Interfaces and Applications. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Giese 85] E. Giese, K. Gargen, E. Hinsch, G. Schulze, K. Trua!. Dienste und Protokolle in Kommunikationssystemen. Springer, Berlin etc., 1985.
[Gifford 85] David K. Gifford, James E. Donahue. Coordinating Independent Atomic Actions. In Compcon Spring 85, S. 92-95. IEEE, IEEE Computer Society Press, Los Alamitos, California, 1985.
[Gigabit 90] Gigabit Network Testbeds. COMPUTER, S. 77-80, Sept. 1990.
[Gargen 85] K. Gargen, H. Koch, G. Schulze, B. Struif, K. Trua!. Grundlagen der Kommunikations-Technologie. Springer, Berlin etc., 1985.
[Goldberg 84] Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison Wesley, Reading, MA, 1984.
[Goldberg 89] Adele Goldberg, David Robson. Smalltalk-80: The Language. Addison Wesley, Reading, MA, 1989.
[Greenbaum 88] Joan Greenbaum. In Search of Cooperation: An Historical Analysis of Work Organization and Management Strategies. In CSCW 88 Conference on ComputerSupported Cooperative Work, S. 102-114, Portland, Oregon, Sept. 1988. ACM Press.
[Greenberg 89] Saul Greenberg. The 1988 Conference on Computer-Supported Cooperative Work: Trip Report. ACM SIGCHI Bulletin, 21(1):49-55, Juli 1989.
[Greenberg 90] Saul Greenberg. Sharing views and interactions with single-user applications. In Frederick H. Lochovsky, Robert B. Allen (Hrsg.), Conf. on Office Information Systems, S. 227-237, Cambridge, Massachusetts, April 1990. ACM Press.
[Greenberg 91a] Saul Greenberg. An Annotated Bibliography of Computer Supported Cooperative Work. ACM SIGCHI Bulletin, 23(3):29-62, Juli 1991. Special Issue on Computer Supported Cooperative Work.
[Greenberg 91b] Saul Greenberg (Hrsg.). Computer-supported Cooperative Work and Groupware. ACM Press, 1991.
144 LITERATURVERZEICHNIS
[Greenberg 91c] Saul Greenberg. Computer-supported cooperative work and groupware: an introduction to the special issues. Int. Journal of Man-Machine Studies, 34:133-141, 1991. Two-edition series on computer supported cooperative work and groupware.
[Greenberg 91d] Saul Greenberg. Personalizable groupware: Accommodating individual roles and group differences. In Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.), ECSCW'91 The 2nd European Conference on Computer Supported Cooperative Work, S. 17-31, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Greenberg 92] Saul Greenberg, Mark Roseman, Dave Webster. Issues and Experiences Designing and Implementing Two Group Drawing Tools. In Jay F. Nunamaker Jr., Ralph H. Sprague Jr. (Hrsg.), Twenty-Fifth Hawaii International Conference on System Sciences, Vol. IV, S. 139-150. IEEE Computer Society Press, Los Alamitos, California, 1992.
[Greif 86] Irene Greif, Robert Seliger, William Weihl. Atomic Data Abstractions in a Distributed Collaborative Editing System. In Proc. 19th Annual ACM Symposium on Principles of Programming Languages, S. 160-172, St. Petersburg, Florida, Jan. 1986. ACM.
[Greif 88a) Irene Greif (Hrsg.). Computer-Supported Cooperative Work: A Book of Readings. Morgan-Kaufmann Publishers, San Mateo, CA, 1988.
[Greif 88b) Irene Greif, Sunil Sarin. Data Sharing in Group Work. In Irene Greif (Hrsg.), Computer-Supported Cooperative Work: A Book of Readings, Kap. 17, S. 477-508. Morgan-Kaufmann Publishers, San Mateo, CA, 1988.
[Groupware 92) GROUPWARE: Software for Computer-Supported Cooperative Work. IEEE Computer Society Press, Los Alamitos, California, 1992. In Vorbereitung.
[Grudin 88a] Jonathan Grudin. Perils and Pitfalls. BYTE, S. 261-264, Dez. 1988. Special Issue on Groupware.
[Grudin 88b] Jonathan Grudin. Why CSCW Applications Fail: Problems in the Design and Evaluation of Organizational Interfaces. In CSCW 88 Conference on ComputerSupported Cooperative Work, S. 85-93, Portland, Oregon, Sept. 1988. ACM Press.
[Grudin 89] Jonathan Grudin. CSCW '88: Report on the Conference & Review of the Proceedings. ACM SIGCHI Bulletin, 20(4):80-84, April 1989.
[Grudin 91a) Jonathan Grudin. CSCW Introduction. Communications of the ACM, 34(12):30-34, Dez. 1991. Special Issue on Computer-Supported Cooperative Work.
[Grudin 91b) Jonathan Grudin. CSCW: The Convergence of Two Development Contexts. In Scott P. Robertson, Gary M. Olson, Judith S. Olson (Hrsg.), Human Factors in Computing Systems: CHI '91, S. 91-97, New Orleans, Louisiana, April 1991. ACM Press.
LITERATURVERZEICHNIS 145
[Grudin 91c] Jonathan Grudin. A Tale of Two Cities: Reflections on CSCW in Europe and the United States. ACM SIGCHI Bulletin, 23(3):22-24, Juli 1991.
[Hammiiinen 91] Heikki Hammiiinen, Chris Condon. Form and Room: Metaphors for Groupware. In Peter de Jong (Hrsg.), Conference on Organizational Computing Systems, S. 95-105, Atlanta, Georgia, Nov. 1991. ACM Press.
[Hahn 89] Udo Hahn, Matthias Jarke, Klaus Kreplin, Marisa Farusi, Francesco Pimpinelli. CoAUTHOR: A Hypermedia Group Authoring Environment. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 226-244, London, UK, Sept. 1989.
[Hahn 90] Udo Hahn, Matthias Jarke, Thomas Rose. Group Work in Software Projects. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 83-101. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Hahn 91] Udo Hahn, Matthias Jarke, Thomas Rose. Teamwork Support in a KnowledgeBased Information Systems Environment. IEEE Transactions on Software Engineering, 17(5):467-482, Mai 1991.
[Halasz 88] Frank G. Halasz. Reflections on Notecards: Seven Issues for the Next Generation of Hypermedia Systems. Communications of the ACM, 31(7):836-852, Juli 1988.
[Henderson Jr. 86] D. Austin Henderson Jr., Stuart K. Card. Rooms: The Use of Multiple Virtual Workspaces to Reduce Space Contention in a Window-Based Graphical User Interface. ACM Transactions on Graphics, 5(3):211-243, Juli 1986.
[Hennessy 89] Pippa Hennessy, Steve Benford, John Bowers. Modelling Group Communication Structures: Analysing four European projects. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 406-420, London, UK, Sept. 1989.
[Henninger 91] Scott Henninger. Computer Systems Supporting Cooperative Work: A CSCW '90 Trip Report. ACM SIGCHI Bulletin, 23(3):25-28, Juli 1991.
[Herrtwich 89] R. G. Herrtwich, G. Hommel. Kooperation und Konkurrenz. Springer, Berlin etc., 1989.
[Hewitt 86] Carl Hewitt. Offices Are Open Systems. ACM Transactions on Office Information Systems, 4(3):271-287, Juli 1986.
[Hoffmann 90] Gerd E. Hoffmann. Telearbeit verandert Unternehmensstrukturen. ntz, 45(9):664-666, 1990.
146 LITERATURVERZEICHNIS
[Holt 88] Anatol W. Holt. Diplans: A New Language for the Study and Implementation of Coordination. ACM Transactions on Office Information Systems, 6(2):109-125, April 1988.
[IJMMS 91] Int. Journal of Man-Machine Studies: Two-edition series on computer supported cooperative work and groupware, 1991.
[Ishii 91] Hiroshi Ishii, Naomi Miyake. Toward an Open Shared Workspace. Communications of the ACM, 34(12):36-50, Dez. 1991. Special Issue on Computer-Supported Cooperative Work.
[ISO 84] Information processing systems-Open Systems Interconnection-Basic Reference Model, International Standard ISO 7498. International Organization for Standardization, Technical Committee ISO/TC 97, 1984.
[Jakobs 89] Kai Jakobs. OSI - An Appropriate Basis for Group Communication? Technischer Bericht 89-6, RWTH Aachen, 1989.
[Jarczyk 92] Alex P. J. Jarczyk, Peter Lomer, Frank M. Shipman III. Design Rationale for Software Engineering: A Survey. In Jay F. Nunamaker Jr., Ralph H. Sprague Jr. (Hrsg.), Twenty-Fifth Hawaii International Conference on System Sciences, S. tbs. IEEE Computer Society Press, Los Alamitos, California, 1992.
[Jensch 90] P. Jensch. Multimediale Systeme in der Medizin. In A. Reuter (Hrsg.), GI-20. Jahrestagung II, Informatik auf dem Weg zum Anwender, S. 252-258, Stuttgart, Okt. 1990. Springer, Berlin etc.
[Johansen 88] R. Johansen. Groupware: Computer Support for Business Teams. The Free Press, New York, 1988.
[Johansen 91] Robert Johansen. Teams for Tomorrow. In 24th Annual Hawaii Intl. Con/. on System Sciences, S. 520-534. IEEE Computer Society Press, Los Alamitos, California, 1991. Plenary Speech.
[Kaplan 91] Simon M. Kaplan, Alan M. Carroll, Kenneth J. MacGregor. Supporting Collaborative Processes with ConversationBuilder. In Peter de Jong (Hrsg.), Conference on Organizational Computing Systems, S. 69-79, Atlanta, Georgia, Nov. 1991. ACM Press.
[Karbe 90] Bernhard H. Karbe, Norbert G. Ramsperger. Influence of Exception Handing on the Support of Cooperative Office Work. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 355-370. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Kim 89] W. Kim, F. Lochovsky (Hrsg.). Object-Oriented Concepts, Databases and Applications. Addison Wesley, Reading, MA, 1989.
LITERATURVERZEIOHNIS 147
[Knister 90] Michael J. Knister, Atul Prakash. DistEdit: A Distributed Toolkit for Supporting Multiple Group Editors. In OSOW 'YO Oonference on Oomputer-Supported Oooperative Work, S. 343-355, Los Angeles, CA, Okt. 1990. ACM Press.
[Kobialka 89] H.-U. Kobialka, W. Hanschke. Ein Konzept fUr kooperierende Entwurfstransaktionen. In M. Paul (Hrsg.), GI-lY. Jahrestagung, S. 231-242, Miinchen, Okt. 1989. Springer, Berlin etc.
[Kraemer 88] Kenneth L. Kraemer, John Leslie King. Computer-Based Systems for Cooperative Work and Group Decision Making. AOM Oomputing Surveys, 20(2):115-146, Juni 1988.
[Krasner 87] Herb Krasner. CSCW '86 Conference Summary Report. AOM SIGOHI Bulletin, 19(1):51-53, Juli 1987.
[Krasner 88] Glenn E. Krasner, Stephen T. Pope. A Cookbook for using the ModelView-Controller User Interface Paradigm in Smalltalk-80. Journal of Object-Oriented Programming, 1(3):26-49, Aug. 1988.
[Krasner 91] Herb Krasner, John Mcinroy, Diane B. Walz. Groupware Research and Technology Issues with Application to Software Process Management. IEEE 1ransactions on Systems, Man, and Oybernetics, 21(4):704-712, 1991.
[Kreifelts 87] Th. Kreifelts, P. Seuffert, G. Woetzel. Ausnahmebehandlung, Verteilung und Adressierung im Vorgangssystem DOMINO. In M. Paul (Hrsg.), GI-17. Jahrestagung, Oomputerintegrierter Arbeitsplatz im Bura, S. 682-696, Miinchen, Okt. 1987. Springer, Berlin etc.
[Kreifelts 91] Thomas Kreifelts, Elke Hinrichs, Karl-Heinz Klein, Peter Seuffert, Gerd Woetzel. Experiences with the Domino Office Procedure System. In Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.), EOSOW '91 The 2nd European Oonference on Oomputer Supported Oooperative Work, S. 117-130, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Kriiger 90] Gerhard Kriiger. Potenzen der informationsverarbeitenden Techniken bis ins Jahr 2000. Vortrag anliifilich der 45. internationalen Akademiewochen der Deutschen Bundespost, Juni 1990.
[Kurzynski 87] Marcia J. Kurzynski. Work-Flow Analysis. Journal of Systems Management, S. 14-20, Jan. 1987.
[Lai 88] Kum-Yew Lai, Thomas W. Malone, Keh-Chiang Yu. Object Lens: A 'Spreadsheet' for Cooperative Work. AOM 1ransactions on Office Information Systems, 6(4):332-353, Okt. 1988.
[Lantz 86) Keith A. Lantz. An Experiment in Integrated Multimedia Conferencing. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 267-275, Austin, Texas, Dez. 1986. MCC STP, ACM.
148 LITERATURVERZEICHNIS
[Lauwers 90aJ J. Chris Lauwers, Thomas A. Joseph, Keith A. Lantz, Allyn L. Romanow. Replicated Architectures for Shared Window Systems: A Critique. In Frederick H. Lochovsky, Robert B. Allen (Hrsg.), Conf. on Office Information Systems, S. 249-260, Cambridge, Massachusetts, April 1990. ACM Press.
[Lauwers 90bJ J. Chris Lauwers, Keith A. Lantz. Collaboration Awareness in Support of Collaboration Transparency: Requirements for the Next Generation of Shared Window Systems. In Jane Carrasco Chew, John Whiteside (Hrsg.), Human Factors in Computing Systems: CHI '90, S. 303-311, Seattle, Washington, April 1990. ACM Press.
[Lederberg 89J Joshua Lederberg, Keith Uncapher. Towards a National Collaboratory. available from Forms & Publications Unit, NSF, Miirz 1989. report of an invitational workshop at the Rockefeller University.
[Lee 90aJ Jeffrey J. Lee. Xsketch: a multi-user sketching tool for XII. In Frederick H. Lochovsky, Robert B. Allen (Hrsg.), Conf. on Office Information Systems, S. 169-173, Cambridge, Massachusetts, April 1990. ACM Press.
[Lee 90bJ Jintae Lee. SIBYL: A Tool for Managing Group Decision Rationale. In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 79-92, Los Angeles, CA, Okt. 1990. ACM Press.
[Leffler 89) Samuel J. Leffler. The Design and Implementation of the 4.9 BSD UNIX Operating System. Addison Wesley, Reading, MA, 1989.
[Lehman 87) M. M. Lehman. Process Models, Process Programs, Programming Support. In Proc. 9th Intl. Conference on Software Engineering, Monterey, CA, 1987. IEEE Computer Society Press, Los Alamitos, California.
[Leiner 87] B. M. Leiner. Telescience and Advanced Technologies. In J. J. Garcia-LunaAceves (Hrsg.), Frontiers in Computer Communications Technology: Proc. of the ACM SIGCOMM '87 Workshop, S. 292, Stowe, Vermont, Aug. 1987. ACM Press. Special Issue Computer Communication Review, Vol. 17, N. 5.
[Leland 88] Mary D. P. Leland, Robert S. Fish, Robert E. Kraut. Collaborative Document Production Using Quilt. In CSCW 88 Conference on Computer-Supported Cooperative Work, S. 206-215, Portland, Oregon, Sept. 1988. ACM Press.
[Lewe 91] Henrik Lewe, Helmut Krcmar. Groupware. Informatik Spektrum, 14(6}:345-348, Dez. 1991. 'Das aktuelle Schlagwort'.
[Liang 90J Luping Liang, Samuel T. Chanson, Gerald W. Neufeld. Process Groups and Group Communications: Classification and Requirements. COMPUTER, S. 56-66, Feb. 1990.
[Liskov 83] Barbara Liskov, Robert Scheifler. Guardians and Actions: Linguistic Support for Robust, Distributed Programs. ACM Transactions on Programming Languages and Systems, 5(3}:381-404, Juli 1983.
LITERATURVERZEICHNIS 149
[Lochovsky 88] F. H. Lochovsky, J. S. Hogg, S. P. Weiser, A. O. Mendelzon. OTM: Specifying Office Tasks. In Robert B. Allen (Hrsg.), Proc. Conference on Office Information Systems, S. 46-54, Palo Alto, CA, Miirz 1988.
[Loff 90] Gisbert Loff. Konzeption, Entwurf und Implementierung eines netzweiten Videodienstes. Diplomarbeit, Universitat Karlsruhe, Institut fur Telematik, 1990.
[Lu 91] Iva M. Lu, Marilyn M. Mantei. Idea Management In a Shared Drawing Tool. In Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.), ECSCW '91 The 2nd European Conference on Computer Supported Cooperative Work, S. 97-112, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Madsen 89] Christian Murmann Madsen. Using Persistent Objects to Implement an Environment for Cooperative Work. In TOOLS '89 - Technology of Object-Oriented Languages and Systems, S. 243-252, CNIT Paris, France, Nov. 1989.
[Mantyla 90] Risto Mantyla, Jari Alasuvanto, Heikki Hammrunen. PAGES: A Testbed for Groupware Applications. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 37-47. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Malone 87a] Thomas W. Malone, Kenneth R. Grant, Kum-Yew Lai, Ramana Rao, David Rosenblitt. Semistructured Messages Are Surprisingly Useful for Computer-Supported Coordination. ACM Transactions on Office Information Systems, 5(2):115-131, April 1987.
[Malone 87b] Thomas W. Malone, Kenneth R. Grant, Franklyn A. Turbak, Stephen A. Brobst, Michael D. Cohen. Intelligent Information-Sharing Systems. Communications of the ACM, 30(5):390-402, Mai 1987.
[Malone 88] Thomas W. Malone. What is Coordination Theory? Paper presented at the NSF Coordination Theory Workshop, Feb. 1988.
[Malone 90] Thomas W. Malone, Kevin Crowston. What is Coordination Theory and How Can It Help Design Cooperative Work Systems? In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 357-370, Los Angeles, CA, Okt. 1990. ACM Press.
[Mantei 88] Marilyn Mantei. Groupware: Interface Design for Meetings (Panel). In Elliot Soloway, Douglas Frye, Sylvia B. Sheppard (Hrsg.), Human Factors in Computing Systems: CHI '88, S. 161-163, Washington, D.C., Mai 1988. Panelists: Lucy Suchman, Gerardine DeSanctis, Lynda Applegate, Sirkka Jarvenpaa.
[Marca 89] David A. Marca. Specifying Coordinators: Guidelines For Groupware Developers. ACM SIGSOFT SOFTWARE ENGINEERING NOTES, 14(3):235-237, Mai 1989.
150 LITERATURVERZEICHNIS
[Martens 91] Clarence Martens, Frederick H. Lochovsky. OASIS: A Programming Environment for Implementing Distributed Organizational Support Systems. In Peter de Jong (Hrsg.), Conference on Organizational Computing Systems, S. 29-42, Atlanta, Georgia, Nov. 1991. ACM Press.
[Martin 91] Bruce E. Martin, Claus H. Pedersen, James Bedford-Roberts. An ObjectBased Taxonomy for Distributed Computing Systems. COMPUTER, S. 17-27, Aug. 1991.
[Metzger 91] Rolf Metzger. Erweiterung von Smalltalk-80 um Verteilungskomponenten. Diplomarbeit, Universitat Karlsruhe, Institut fiir Telematik, 1991.
[Miihlhauser 89] M. Miihlhauser. Requirements and Concepts for Networked Multimedia Courseware Engineering. In H. Maurer (Hrsg.), ICCAL, Inti. Conf. on Computer Aided Learning, S. 400-419, Dallas, Texas, Mai 1989. Springer, Berlin etc.
[Miihlhauser 90] M. Miihlhauser. Software Engineering in Distributed Systems-Approaches and Issues. In IEEE Inti. Phoenix Conf. on Computers and Communications, IPCCC'90, S. 408-416, Scottsdale, AZ, USA, Miirz 1990.
[Miihlhauser 91a] Max Miihlhauser. Computer Based Learning with Distributed Multimedia Systems. In HCI International '91-IVth Inti. Conference" on Human-Computer Interaction, Stuttgart, Germany, Sept. 1991.
[Miihlhauser 91b] Max Miihlhauser. Hypermedia-Konzepte zur Verarbeitung multimedialer Information. Informatik Spektrum, 14(5):281-290, Okt. 1991.
[Miihlhauser 92] Max Miihlhauser, Alexander Schill. Software Engineering for verteilte Anwendungen. Springer, Berlin etc., 1992.
[Neuwirth 90] Christine M. Neuwirth, David S. Kaufer, Ravinder Chandhok, James H. Morris. Issues in the Design of Computer Support for Co-authoring and Commenting. In CSCW '90 Conference on Computer-Supported Cooperative Work, S. 183-195, Los Angeles, CA, Okt. 1990. ACM Press.
[Newman-Wolfe 91a] R. E. Newman-Wolfe, Harsha K. Pelimuhandiram. MACE: A Fine Grained Concurrent Editor. In Peter de Jong (Hrsg.), Conference on Organizational Computing Systems, S. 240-254, Atlanta, Georgia, Nov. 1991. ACM Press.
[Newman-Wolfe 91b] R. E. Newman-Wolfe, C. L. Ramirez, H. Pelimuhandiram, M. Montes, M. Webb, D. L. Wilson. A Brief Overview of the DCS Distributed Conferencing System. In USENIX-Summer '91, S. 437-452, Nashville, TN, Juni 1991. USENIX Assoc.
[Nielsen 87] Jakob Nielsen. Computer-Supported Cooperative Work: Trip Report from the Conference in Austin, December 3-5, 1986. ACM SIGCHI Bulletin, 19(1):54-61, Juli 1987.
LITERATURVERZEICHNIS 151
[Nierstrasz 86] O. M. Nierstrasz. What is the 'Object' in Object-oriented Programming? In Proc. of the CERN School of Computing, August-September 1986.
[Nierstrasz 88] O. M. Nierstrasz, D. C. Tsichritzis. Integrated Office Systems. In ObjectOriented Concepts and Databases. Addison Wesley, Reading, MA, 1988.
[Nierstrasz 89] Oscar Nierstrasz. A Survey of Object-Oriented Concepts. In W. Kim, F. Lochovsky (Hrsg.), Object-Oriented Concepts, Databases and Applications, S. 3-21. Addison Wesley, Reading, MA, 1989.
[NSF 90] Special Initiative on Coordination Theory and Collaboration Technology. available from Forms & Publications Unit, NSF, Jan. 1990. Announcement and call for proposals.
[Obermeit 87] Volker Obermeit, Ralf Steinmetz. Communication and Database Oriented Modelling of Multilateral Cooperation - A Comparision Based on Petri Netz. In K. Voss, H. J. Genrich, G. Rozenberg (Hrsg.), Concurrency and Nets, S. 363-379. Springer, Berlin etc., 1987.
[Olson 83] Margrethe H. Olson. Remote Office Work: Changing Work Patterns in Space and Time. Communications of the ACM, 26(3):182-187, Miirz 1983.
[Olson 89] Margrethe H. Olson. Work at Home for Computer Professionals: Current Attitudes and Future Prospects. ACM Transactions on Office Information Systems, 7( 4):317-338, Okt. 1989.
[Opper 88] Susanna Opper. A Groupware Toolbox. BYTE, S. 275-282, Dez. 1988. Special Issue on Groupware.
[Osterweil 87] Leon Osterweil. Software Processes Are Software Too. In Proc. 9th Inti. Conference on Software Engineering, S. 2-13, Monterey, CA, 1987. IEEE Computer Society Press, Los Alamitos, California.
[Palme 88] Jacob Palme. Extending Message Handling to Computer-Conferencing. In J. Raviv (Hrsg.), Computer Communication Technologies for the 90's, S. 44-49, Tel Aviv, Israel, Okt. 1988. The International Council for Computer Communication, North Holland, Amsterdam.
[Pankoke-Babatz 88] Uta Pankoke-Babatz, Wolfgang Prinz. Support for Coordinating Group Activities. In Einar SteH'erud, Ole J. Jacobsen, Pietro Schicker (Hrsg.), Message Handling Systems and Distributed Applications, S. 345-358, Costa Mesa, California, U.S.A, Okt. 1988. IFIP TC 6/WG 6.5, North Holland, Amsterdam.
[Pankoke-Babatz 89] Uta Pankoke-Babatz (Hrsg.). Computer Based Group Communication - the AMIGO activity model. Ellis Horwood, Chichester, 1989.
[Patterson 90a] John Patterson. The Good, the Bad, and the Ugly of Window Sharing in X. In 4th Annual X Technical Conference, Boston, Massachusetts, Jan. 1990.
152 LITERATURVERZEIOHNIS
[Patterson 90b] John F. Patterson, Ralph D. Hill, Steven L. Rohall. Rendezvous: An Architecture for Synchronous Multi-User Applications. In CSCW '90 Conference on Oomputer-Supported Cooperative Work, S. 317-328, Los Angeles, CA, Okt. 1990. ACM Press.
[Patterson 91] John F. Patterson. Comparing the Programming Demands of Single-User and Multi-User Applications. In UIST'91 Proc. of the ACM Symposium on User Interface Software and Technology, S. 87-94, Hilton Head, South Carolina, Nov. 1991. ACM Press.
[Pehrson 92] Bjorn Pehrson, Per Gunningberg, Stephen Pink. Distributed Multimedia Applications on Gigabit Networks. IEEE Network Magazine, 6(1):26-35, Jan. 1992.
[Powrie 90] S. E. Powrie, C. E. Siemieniuch. IBC and Cooperative Working in the Automotive Industry. In S. Gibbs, A. A. Verrijn-Stuart (Hrsg.), Multi-User Interfaces and Applications, S. 311-322. North Holland, Amsterdam, 1990. Proc. of the IFIP WG8.4 Conf. on Multi-User Interfaces and Applications, Heraklion, Crete, Greece, Sep., 1990.
[Press 91] Larry Press. Wide-Area Collaboration. Communications of the ACM, 34(12):21-24, Dez. 1991. Special Issue on Computer-Supported Cooperative Work.
[Prinz 89a] Wolfgang Prinz. Survey of Group Communication Models and Systems. In Uta Pankoke-Babatz (Hrsg.), Computer Based Group Communication - the AMIGO activity model, Kap. 3, S. 127-180. Ellis Horwood, Chichester, 1989.
[Prinz 89b] Wolfgang Prinz, Paola Pennelli. Relevance of the X.500 Directory to CSCW Applications. In EC-CSCW '89 First European Conference on Computer Supported Cooperative Work, S. 289-302, London, UK, Sept. 1989.
[Quarterman 90] John S. Quarterman. The Matrix: Computer Networks and Conferencing Systems Worldwide. Digital Press, Bedford, MA, 1990.
[Rapaport 91] Matthew Rapaport. Computer Mediated Communications. John Wiley & Sons, New York etc., 1991.
[Rein 89] Gail L. Rein, Clarence A. Ellis. The Nick Experiment Reinterpreted: Implications for Developers and Evaluators of Groupware. Technischer Bericht STP-018-88, Microelectronics and Computer Technology Corp., Austin, Texas, Juni 1989. cf. Office: Technology and People, Vol 5, Issue 1.
[Rein 91] Gail L. Rein, Clarence A. Ellis. rIBIS: a real-time group hypertext system. Int. Journal of Man-Machine Studies, 34:349-367, 1991.
[Reisig 85] W. Reisig. Petri Nets. An Introduction. Springer, Berlin etc., 1985.
[Reuter 91] Andreas Reuter, Helmut Wachter. The ConTract Model. IEEE Data Engineering, 14(1):39-43, Marz 1991. Special Issue on Unconventional Transaction Management.
LITERATURVERZEICHNIS 153
[Richartz 90] Martin Richartz, Tom D. Riidebusch. Collaboration in Hypermedia Environments. In David H. Jonassen, Heinz Mandl (Hrsg.), Designing Hypermedia for Learning, Kap. 18. Springer, Berlin etc., 1990.
[Robinson 91] Mike Robinson, Liam Bannon. Questioning Representations. In Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.), ECSCW '91 The 2nd European Conference on Computer Supported Cooperative Work, S. 219-233, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Rodden 91] Tom Rodden, Gordon Blair. CSCW and Distributed Systems: The Problem of Control. In Liam Bannon, Mike Robinson, Kjeld Schmidt (Hrsg.), ECSCW '91 The 2nd European Conference on Computer Supported Cooperative Work, S. 49-64, Amsterdam, The Netherlands, Sept. 1991. Kluwer Academic Publishers, Dordrecht.
[Root 88] Robert W. Root. Design of a Multi-Media Vehicle for Social Browsing. In CSCW 88 Conference on Computer-Supported Cooperative Work, S. 25-38, Portland, Oregon, Sept. 1988. ACM Press.
[Rosenberg 91] Laurence C. Rosenberg. Update On National Science Foundation Funding Of The 'Collaboratory'. Communications of the ACM, 34(12):83, Dez. 1991. Special Issue on Computer-Supported Cooperative Work.
[Rosenblatt 91] Alfred Rosenblatt, George F. Watson. Concurrent Engineering. IEEE SPECTRUM, S. 22 ff., Juli 1991. Special Report on Concurrent Engineering.
[Riidebusch gOa] Tom D. Riidebusch. The GroupIE System. Vortrag bei IBM Tokyo Research Lab., Tokyo, Japan, 29. Oktober 1990.
[Riidebusch 90b] Tom D. Riidebusch. The NESTOR System. Vortrag bei DEC Educational Services, Tokyo, Japan, 23. Oktober 1990.
[Riidebusch 90c] Tom D. Riidebusch. Requirements and Concepts for a Group Interaction Environment. In HIS'90-Sixth Symposium on Human Interface, S. 545-552, Tokyo, Japan, Okt. 1990.
[Riidebusch 90d] Tom D. Riidebusch. Unterstiitzung von Kooperation in Lernsystemen. Vortrag wahrend der Sitzung der Fachgruppe 'Intelligente Lernsysteme' im Rahmen der 20. GI-Jahrestagung, Stuttgart, 12. Oktober 1990.
[Riidebusch 91a] Tom D. Riidebusch. Ansatze zur Unterstiitzung von kooperativer Arbeit in verteilten Umgebungen. Vortrag im DFKI, Saarbriicken, 19. Juni 1991.
[Riidebusch 91b] Tom D. Riidebusch. Development and Runtime Support for Collaborative Applications. In H.-J. Bullinger (Hrsg.), Human Aspects in Computing-Proc. IVth Inti. Conference on Human-Computer Interaction, S. 1128-1132, Stuttgart, Germany, Sept. 1991. Elsevier Science Publishers, Amsterdam.
154 LITERATURVERZEICHNIS
[Riidebusch 91c] Tom D. Riidebusch. Ein Ansatz zur generischen Unterstiitzung von Teamarbeit in verteilten Systemen. Vortrag im ENC, IBM, Heidelberg, 4. Mii.rz 1991.
[Riidebusch 91d] Tom D. Riidebusch. The Interaction Concept as a Basis for Open CSCW Systems. In ECSCW '91 Developers Workshop, Amsterdam, Sept. 1991.
[Riidebusch 91e] Tom D. Riidebusch. Supporting Interactions within Distributed Teams. In K. Gorling, C. Sattler (Hrsg.), Inti. Workshop on CSCW, S. 17-33, Berlin, Germany, April 1991. IFIP TC6/Co-Tech (COST 14), iir.
[Riidebusch 9lf] Tom D. Riidebusch, Max Miihlhauser. Ein Unterstiitzungssystem fiir Gruppenarbeit in verteilten Systemen. In W. Effelsberg, H. W. Meuer, G. Miiller (Hrsg.), Fachtagung 'Kommunikation in verteilten Systemen', S. 464-478, Mannheim, Feb. 1991. GI/ITG, Springer, Berlin etc.
[Riidebusch 92] Tom D. Riidebusch. Ansiitze zur Unterstiitzung von kooperativer Arbeit in verteilten Umgebungen. Vortrag vor Mitgliedern des ZFE, Siemens Miinchen, 24. Februar 1992.
[Sarin 85] Sunil Sarin, Irene Greif. Computer-Based Real-Time Conferencing Systems. COMPUTER, S. 33-45, Okt. 1985.
[Schill 90] Alexander Schill. Object-Oriented Group Communication Support for Distributed Applications. In Message Handling Systems and Application Layer Communication Protocols, Zurich, Switzerland, Okt. 1990. IFIP WG 6.5, North Holland, Amsterdam.
[Schill 91] Alexander Schill. Distributed system and execution model for office environments. computer communications, 14(8):478-488, Okt. 1991.
[Searle 69] John R. Searle. Speech Acts: An Essay in the Philosophy of Language. Cambridge University Press, London, 1969.
[Shipman III 89] Frank M. Shipman III, R. Jesse Chaney, G. Anthony Gorry. Distributed Hypertext for Collaborative Research: The Virtual Notebook System. In Hypertext '89, S. 129-135, Pittsburgh, Pennsylvania, Nov. 1989. Association for Computing Machinery.
[Siegenheim 91] Veit Siegenheim. Integration von Videoobjekten in Smalltalk-80. Studienarbeit, Universitiit Karlsruhe, Institut fiir Telematik, 1991.
[Siegenheim 92] Veit Siegenheim. Koordinationsunterstiitzung fiir verteilte CSCWAnwendungen. Diplomarbeit, Universitiit Karlsruhe, Institut fiir Telematik, 1992.
[Sloman 88] Morris Sloman, Jeff Kramer. Verteilte Systeme und Rechnernetze. Carl Hanser Verlag, Miinchen, 1988.
LITERATURVERZEICHNIS 155
[Sluizer 85] Suzanne Sluizer, Paul M. Cashman. XCP: An Experimental Tool for Managing Cooperative Activity. In Proc. of the Thirteenth ACM Computer Science Conference, S. 251-258, New Orleans, Louisiana, Miirz 1985.
[Smith 90] Hugh Smith, Steve Benford, Alan Shepherd, Howidy Howidy. OSI-Based Group Communication. In Message Handling Systems and Application Layer Communication Protocols, S. DI-1-DI-16, Zurich, Switzerland, Okt. 1990. IFIP WG 6.5, North Holland, Amsterdam.
[Smith 91] John B. Smith, F. Donelson Smith. ABC: A Hypermedia System for ArtifactBased Collaboration. In Hypertext '91, S. 179-192, San Antonio, Texas, Dez. 1991. Association for Computing Machinery, ACM Press.
[Spafford 87] G. Spafford. USENET Software: History and Sources. USENET, 1987. recurrent article in news.admin and news.announce.newusers.
[Spektrum 91] Spektrum der Wissenschaft, Nov. 1991. Schwerpunktthema: Verschmelzung von Kommunikations- und Informationstechnologie, Deutsche Ausgabe von Scientific American, September 1991.
[Stefik 87a] M. Stefik, D. G. Bobrow, G. Foster, S. Lanning, D. Tatar. WYSIWIS Revised: Early Experiences with Multiuser Interfaces. ACM Transactions on Office Information Systems, 5(2):147-167, April 1987.
[Stefik 87b] Mark Stefik, Gregg Foster, Daniel G. Bobrow, Kenneth Kahn, Stan Lanning, Lucy Suchman. Beyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetings. Communications of the ACM, 30(1):32-47, Jan. 1987.
[Steiner 90] Donald D. Steiner, Dirk E. Mahling, Hans Haugeneder. Human Computer Cooperative Work. In Proc. 10th Inti. Workshop on Distributed Artificial Intelligence, S. 1-28, Bandera, Texas, Okt. 1990. AAAI, MCC.
[Stevens 90] W. Richard Stevens. UNIX Network Programming. Prentice Hall, Englewood Cliffs, N.J., 1990.
[Stingl91] Thomas Stingl. Problematik und Liisungsansiitze verteilter CSCW-Anwendungen am Beispiel einer exemplarischen Realisierung. Diplomarbeit, Universitiit Karlsruhe, Institut fiir Telematik, 1991.
[Streitz 89] Norbert A. Streitz. Hypertextsysteme und computerunterstiitztes kooperatives Arbeiten. Tutorium der GI-Jahrestagung 1989, Okt. 1989.
[Streitz 91] Norbert Streitz. The Role of Hypertext for CSCW Applications (Panel). In Hypertext '91, S. 369-377, San Antonio, Texas, Dez. 1991. Association for Computing Machinery, ACM Press. Panelists: Frank Halasz and Hiroshi Ishii and Tom Malone and Chris Neuwirth and Gary Olson.
156 LITERATURVERZEICHNIS
[Stupperich 92J Michael Stupperich. Interaktionsunterstiitzung fUr verteilte CSCWAnwendungen. Diplomarbeit, Universitat Karlsruhe, Institut fiir Telematik, 1992.
[Tang 91J John C. Tang, Scott L. Minneman. VideoDraw: A Video Interface for Collaborative Drawing. ACM Transactions on Information Systems, 9(2):170-184, April 1991.
[Terek 91J Robert Terek, Joseph Pasquale. Experiences with Audio Conferencing Using the X Window System, UNIX, and TCP/IP. In USENIX-Summer '91, S. 405-418, Nashville, TN, Juni 1991. USENIX Assoc.
[Tesler 91J Lawrence G. Tesler. Das Vordringen vernetzter Computer. Spektrum der Wissenschajt, (11):78-86, Nov. 1991. Deutsche Ausgabe von Scientific American, September 1991.
[TIMBUKTU 89J Farallon Timbuktu. PRISMA Information, Sept. 1989.
[Trigg 86J Randall H. Trigg, Lucy A. Suchman, Frank G. Halasz. Supporting Collaboration in NoteCards. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 153-162, Austin, Texas, Dez. 1986. MCC STP, ACM.
[Watabe 90] Kazuo Watabe, Shiro Sakata, Kazutoshi Maeno, Hideyuki Fukuoka, Kazuyuki Maebara. A Distributed Multiparty Desktop Conferencing System and Its Architecture. In IEEE Inti. Phoenix Conf. on Computers and Communications, IPCCC'YO, S. 386-393, Scottsdale, AZ, USA, MiLrz 1990.
[Watabe 91] Kazuo Watabe, Shiro Sakata, Kazutoshi Maeno, Hideyuki Fukuoka, Toyoko Ohmori. Distributed Desktop Conferencing System with Multiuser Multimedia Interface. IEEE Journal on Selected Areas in Communications, 9(4):531-539, Mai 1991.
[Wegner 87J Peter Wegner. The Object-Oriented Classification Paradigm. In Bruce Shriver, Peter Wegner (Hrsg.), Research Directions in Object-Oriented Programming, S. 479-560. MIT Press, Cambridge, MA, 1987.
[Weiser 91J Mark Weiser. Computer im nikhsten Jahrhundert. Spektrum der Wissenschajt, S. 92-101, Nov. 1991. Deutsche Ausgabe von Scientific American, September 1991.
[Wettstein 87J H. Wettstein. Architektur von Betriebssystemen. Carl Hanser Verlag, Miinchen, 1987.
[Whitaker 89J Randall Whitaker, Olov Ostberg, Ulf Essler. Communications and Coordination of Concerted Activity. In Human Interface, S. 325-338, Tokyo, Japan, 1989.
[Whitescarver 87] James Whitescarver, Prithviraj Mukherji, Murray Turoff, Ronald J. DeBlock Jr., Robert M. Czech, Bijoy K. Paul. A Network Environment for ComputerSupported Cooperative Work. ACM SIGCOMM Computer Communication Review, 17(5):260-272, Aug. 1987.
LITERATURVERZEICHNIS 157
[Wilbur 88] Sylvia B. Wilbur, Robert E. Young. The COSMOS Project - A MultiDisciplinary Approach to Design for Computer-Supported Group Working. In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO '88, S. 147-156, Vienna, Austria, April 1988. The European Action in Teleinformatics COST lIter, North Holland, Amsterdam.
[Williams 90] Daniel Williams. New Technologies for Coordinating Work. DATAMATION, S. 92-96, May 15 1990.
[Wilson 88] Paul Wilson. Key Research in Computer Supported Cooperative Work (CSCW). In R. Speth (Hrsg.), Research into Networks and Distributed Applications, EUTECO'88, S. 211-226, Vienna, Austria, April 1988. The European Action in Teleinformatics COST lIter, North Holland, Amsterdam.
[Winograd 86a] Terry Winograd. A language/action perspective on the design of cooperative work. In CSCW '86 Conference on Computer-Supported Cooperative Work, S. 203-220, Austin, Texas, Dez. 1986. MCC STP, ACM.
[Winograd 86b] Terry Winograd, Fernando Flores. Understanding Computers and Cognition: A New Foundation for Design. Ablex Publishing Corporation, Norwood, New Jersey, 1986.
[Winograd 88] Terry Winograd. Where the Action Is. BYTE, S. 256a-258, Dez. 1988. Special Issue on Groupware.
[Winograd 91] Terry Winograd. Groupware: Systems Design from Perspective of Getting Things Done. IEEE Software, S. 81-82, Nov. 1991. Interview.
[Wi13kirchen 83] P. Wi13kirchen, T. Kreifelts, F. Kriickeberg, G. Richter, G. Wurch. Informationstechnik und Burosysteme. Teubner, Stuttgart, 1983.
[WoetzeI87] G. Woetzel, Th. Kreifelts. Die Vorgangssprache CoPlan, Version 2. Technischer Bericht FB-GMD-87-34, Gesellschaft fiir Mathematik und Datenverarbeitung mbH, Dez. 1987.
[Woitass 90] Michael Woitass. Koordination in strukturierten Konversationen. GMDBericht Nr. 190. R. Oldenbourg Verlag, Miinchen, 1990.
[Woo 86] Carson C. Woo, Frederick H. Lochovsky. Supporting Distributed Office Problem Solving in Orga~izations. ACM Transactions on Office Information Systems, 4(3):185-204, Juli 1986.
[Xanadu 89] Xanadu - Information Packet. Xanadu Operating Company, Palo Alto, California, April 1989.
[Yankelovich 88] Nicole Yankelovich, Bernard J. Haan, Norman K. Meyrowitz, Steven M. Drucker. INTERMEDIA: The Concept and the Construction of a Seamless Information Environment. COMPUTER, S. 1-14, Jan. 1988.
158 LITERATURVERZEICHNIS
[Yoder 89] Elise Yoder, Robert Akscyn, Donald McCracken. Collaboration in KMS, A Shared Hypermedia System. In Ken Bice, Clayton Lewis (Hrsg.), Human Factors in Computing Systems: CHI '89, S. 37-42, Austin, Texas, Mai 1989. ACM Press.
[Young 89] Douglas A. Young. X Window Systems. Prentice Hall, Englewood Cliffs, N.J., 1989.
[Ziegler 92] Marcus Ziegler. Erweiterung von Smalltalk-80 urn 'Software Motion Pictures'. Studienarbeit, Universitat Karlsruhe, Institut fUr Telematik, 1992.
Anhang A
Zusammenfassung der Thesen
Aile im Verlauf des Textes formulierten Thesen sind an dieser Stelle zusammengestellt. Es empfiehlt sieh, die jeweiligen Seitenverweise zu verfolgen, urn den Kontext sowie eventuelle Bemerkungen naehzuvollziehen.
1. Kooperative Anwendungen werden haufig in grofien Teilen neu zu entwerfen und zu realisieren sein. Die CSCW-spezifisehe Funktionalitat sollte dureh eine generisehe CSCW-Teehnologie erbraeht werden (S. 26).
2. Eine generisehe CSCW-Teehnologie sollte fiir jedes einzelne der Kriterien Interaktion, Koordination und Verteilung und insbesondere fiir deren Kombination vielfliltige und variable Auspragungen zulassen (S. 26).
3. Voraussetzung fiir einen Paradigmenweehsel von der Kommunikation zur Kooperation mit Hilfe von Informationssystemen ist eine einheitliehe, generisehe CSCWTeehnologie, die neb en grundlegenden, kooperativen Anwendungen insbesondere ein allgemeines Modell eomputerunterstiitzter Teamarbeit sowie eine adaquate Umgebungsunterstiitzung umfassen mufi (S. 38).
4. Der Ubergang von heutigen Einbenutzerarbeitsumgebungen zu zukiinftigen Teamarbeitsumgebungen sollte dureh eine konzeptionelle Erweiterung der bearbeiteten Objekte erreieht werden (S. 45).
5. In einer homogenen Teamarbeitsumgebung sollte Einzelarbeit der Spezialfall von Teamarbeit sein (S. 45).
6. Eine flexible Teamarbeitsumgebung sollte neben den Extrema synehroner und asynehroner Zusammenarbeit die gesamte dazwisehenliegende Bandbreite als Synehronitat beziehungsweise Involvierungsgrad der Teammitglieder unterstiitzen (S. 49).
7. In einer umfassenden Teamarbeitsumgebung sollten explizite und implizite Interaktionen in integrierter Weise unterstiitzt werden (S. 49).
160 Anhang A. ZusammenJassung der Thesen
8. In einer flexiblen Teamarbeitsumgebung sollte praskriptive Koordination der Spezialfall deskriptiver Koordination maximalen Detaillierungsgrades sein (S. 61).
9. In einer homogenen Teamarbeitsumgebung sollte eine Bandbreite von elementarer bis komplexer Koordination einheitlich auf der Grundlage einzelner Interaktionen formulierbar sein (S. 62).
10. Der hohe Anspruch einer allgemeinen Kooperationsunterstiitzung darf nicht dariiber hinwegtauschen, daB auf absehbare Zeit die Integration existierender Einzelanwendungen aus aufgabenspezifischen Griinden sowie fiir einen reibungslosen Migrationspfad von traditionellen zu kooperativen Umgebungen unabdingbar sein wird (S. 82).
11. Eine Kooperationsunterstiitzung, die den hohen Nutzen einer 'Enabling Technology' erbringen will, mufi in ihren Ausfiihrungseinheiten, Datenstrukturen und der Benutzerschnittstelle verteilt sein (S. 82).
Anhang B
Ausgewiihlte Teamobjektbeschreibungen
Dieser Anhang gibt eine Ubersicht der Realisierung ausgewahlter Teamobjektbeschreibungen [Stupperich 92]. Bis auf die Wurzelobjekte der beiden Hierarchien werden die semantische und die syntaktische Klasse des jeweiligen Teamobjektes gemeinsam beschrieben. Urn zu unterscheiden, ob die aufgefiihrten Variablen oder Methoden der semantischen oder der syntakischen Klasse zugehoren, wird dies durch den Zusatz (sem), (syn) bzw. (sem/syn) kenntlich gemacht. Will man Funktionalitat, Variablen und Methoden einer Klasse betrachten, ist es erforderlich, auch die Erlauterungen bei den entsprechenden Oberklassen nachzulesen.
Vor der Beschreibung der Teamobjektklassen wird deren Hierarchie aufgezeigt:
semantische Objekte
Object SemanticObject
SemanticText SemanticGraphics
SemanticRectangle SemanticLine
Semantic User Interface SemanticPopUpMenu SemanticButton SemanticPointer
SemanticComplex SemanticComplexGraphics SemanticEditor
Semantic Workbench
syntaktische Objekte
Object SyntaxObject
SyntaxText SyntaxGraphics
SyntaxRectangle SyntaxLine
Syntax U serInterface SyntaxPopUpMenu SyntaxButton SyntaxPointer
SyntaxComplex SyntaxComplexGraphics SyntaxEditor
SyntaxWorkbench
162 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
Die Klasse SemanticObject
Oberklasse: Object
Funktionalitiit: SemanticObject ist die Klasse, von der alle semantischen Objekte die Funktionalitaten der Interaktionsbehandlung und die Verwaltung des Interaktionskontextes erben. AuBerdem stellt diese Klasse Mechanismen zur Weiterleitung von Interaktionen an die anderen Replikate des semantischen Objektes zur Verfiigung. Hierbei wird die Einstellung der eigenen Synchronitatsparameter und die der Partner beachtet. Da ein Teamobjekt, und damit auch das semantische Objekt, in einer Aggregationshierarchie steht, wird ein Verweis auf das Vorgangerobjekt in der Aggregation gefiihrt.
Klassenvariablen:
DefaultGranularity, DefaultMode, DefaultNotification, DefaultTime,DefaultVisibility (String): Wenn keine explizite Einstellung des Interaktionskontextes erfolgt, sind dies die Voreinstellungen, die fiir das Wurzelobjekt der Aggregationshierarchie gelten.
MediumValue (Integer): Dieser Wert gibt bei der Operationsgranularitat medium an, jede wievielte Teilinteraktion dem Interaktionspartner mitgeteilt wird, sofern ein Zahlalgorithmus zu deren Ermittlung genutzt wird.
Wesentliche Instanzvariablen:
setOfProxys (OrderedCollection): Fiir jedes entfernte Replikat des semantischen Objektes steht in dieser Liste ein Eintrag, der ein Stellvertreterobjekt und die Synchronitatsparameter des entfernten Objektes beinhaltet.
time (String): Bisher unterstiitzte Werte des Interaktionsparameters Zeit sind 'immediate', 'noConstraints' und 'inherited'.
granularity (String): Die Operationsgranularitat kann die Werte 'fine', 'medium', 'coarse' und 'inherited' annehmen.
notification (String): Die Operationsabbildung einer Interaktion ist 'syntactical', 'semantical', 'descriptiv' oder 'inherited'.
mode (String): Der Modus einer Interaktion kann 'explicit', 'implicit' oder 'inherited' sein.
visibility (Set oder String): Falls der Wert 'inherited' in der Sichtbarkeit steht, gilt die des iibergeordneten Objektes der Aggregation. Andernfalls wird die Menge der Benutzer aufgefiihrt, die das Objekt sehen.
superObject (SemanticComplex): Referenz auf das Vorgiingerobjekt in der Aggregationshierarchie.
163
syntaxObjects (Set): Menge aIler syntaktischen Objekte, die lokal an diesem Objekt angebunden sind. Zur Zeit wird erst ein syntaktisches Objekt unterstiitzt.
bbOrigin. bbCorner (Point): Die A usdehnung des zugehorigen syntaktischen Objektes.
Wesentliche Methoden: Alle Methoden, die im Rahmen der Interaktionsbehandlung gegebenenfaIls an andere Replikate des semantischen Objektes weitergeleitet werden miissen, haben den Zusatz with Forwarding: . Folgt als Parameter ein String 'forward *', so wird die Methode an die anderen Replikate weitergeleitet. Beginnt der Parameter mit 'local', erfolgt eine Benachrichtigung der eigenen syntaktischen Objekte.
multicast: String with:Array - Diese zentrale Methode ist fiir die Weiterleitung aIler Methodenaufrufe an andere Replikate zustandig. In ihr werden die Interaktionskontexteinstellung gepriift und der Partner wird in vorgesehener Form in eine Interaktion miteinbezogen. In String wird der Methodenname iibergeben (z.B. 'moveTo :withForwarding: ,), in Arrayein Feld, das aile Argumente der Methode enthiilt (entsprechend: Array with: 50150 with: 'localNoAnswer'). Das letzte Argument dieses Feldes muB der String sein, der die Ubergabe charakterisiert. Ausgewertet wird in der Methode 'muItica.st:with:' sein zweiter Teil. Enthiilt dieser 'NoAnswer', wird die Methode so weitergeleitet, dafi keine Antwort erfolgt, enthiilt er 'WithAnswer', sendet das entfernte Replikat die Antwort der Methodenausfiihrung zuriick.
moveTo: Point wi thForwarding: String - Die Verschiebung eines Objektes wird mit dieser Methode allgemein zur Verfiigung gestellt. In dieser Methode wird der Parameterstring auf 'forward' bzw. 'local' getestet. Bei 'forward' wird die Methode an 'multicast :with:' weitergeleitet, bei 'local' an die lokalen syntaktischen Objekte. Andere graphische Operationen werden in den entsprechenden Unterklassen realisiert.
visibili ty: Set/String - Dem semantischen Objekt wird iiber diese Methode die geforderte Sichtbarkeit entweder als Menge der Benutzer oder als 'inherited' mitgeteilt. Die Erzeugung von neuen Replikaten mit vollstandiger Verzeigerung untereinander bzw. das Loschen entsprechender semantischer Objekte erfolgt beim Aufruf dieser Methode.
granularityValue - Der Wert der Operationsgranularitat wird ermittelt. Bei der Einstellung 'inherited' wird so lange in der Aggregationshierarchie nach oben gefragt, bis der giiltige Wert gefunden wird. Entsprechende Methoden gibt es fiir alle Parameter des Interaktionskontextes.
164 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
Die Klasse SyntaxObject
Oberklasse: Object
Funktionalitat: Die syntaktischen Objekte stellen die Schnittstelle eines Teamobjektes zum Benutzer dar. Allgemeine Funktionalitaten werden in der Klasse SyntaxObject realisiert und damit allen syntaktischen Objekten zur Verfiigung gestellt. Dies sind die Verwaltung des Status, in dem sich ein Objekt befinden kann (,normal', 'selected', 'remoteSelected' und 'inconsistent'), die Einstellung des Interaktionskontextes eines Objektes durch den Benutzer und allgemeine interaktive Veranderungen am Objekt.
Wesentliche Instanzvariablen:
superObject. samanticObject: Verweise auf das Vorgangerobjekt in der Aggregationshierarchie der syntaktischen Objekte bzw. auf das eigene semantische Objekt.
bbOrigin. bbCorner: Die Ausdehnung des dargestellten Objektes.
state: Mit dieser Variable wird der Status des syntaktischen Objektes verwaltet.
form: Teamobjekte der Klassen Rechteck, Linie, Text und Knopf erlauben eine unterschiedliche Darstellung bei gleichem zugrundeliegenden Inhalt. Die aktuelle Darstellungsform wird in dieser Variable gefuhrt.
Wesentliche Methoden:
coarse - Mit dieser Methode wird der Interaktionsparameter Operationsgranularitat auf 'coarse' gesetzt. Analoge Methoden existieren fUr alle erlaubten Parameterwerte des Kontextes.
moveItemTouchedBy: Point - Mit dieser Methode wird getestet, ob 'Point' den oberen linken Selektionspunkt des Objektes beriihrt. Fiir die anderen Selektionspunkte und die gesamte Darstellungsfiache des Objektes gibt es entsprechende Methoden.
save - Das Teamobjekt wird kopiert und als globale Variable in der Smalltalkumgebung gesichert. Die Ermittlung des Namens erfolgt mit einer Dialog-View.
Das Teamobjekt Text
Klassen: SemanticText und SyntaxText Oberklassen: SemanticObject bzw. SyntaxObject
Funktionalitat: Das Teamobjekt Text erlaubt mehreren Benutzern gleichzeitig einen Text zu sehen und zu verandern. Der Text kann an einer beliebigen Stelle der Arbeitsfiache
165
dargestellt werden. Mittels der linken Maustaste kann er selektiert und anschlief3end verschoben (linker oberer Selektionspunkt) und in seiner Form geiindert werden (rechter oberer Selektionspunkt), wobei sich die GroBe der dargestellten Zeichen andert. Bislang konnen nur am Ende des Textes neue Zeichen hinzugefiigt oder alte geloscht werden.
Text kann auch als Anweisung an die Programmierumgebung genutzt werden. Hierzu gibt es analog zu den bekannten Smalltalkfenstern den dolt-Befehl, der eine Ausfiihrung des selektierten Textes ermoglicht.
Wesentliche Instanzvariablen:
text (String) (sem/syn): In dieser Variable wird der Text gespeichert.
Wesentliche Methoden:
displayDn:GraphicsContext (syn) - Leider stellt Smalltalk keine Methode zur Verfiigung, einen Text als Ganzes darzustellen. So muf3 die Variable text auf returnZeichen untersucht und die Zeilen dann einzeln auf dem graphischen Kontext dargestellt werden
setbbCorner (sem/syn) - Mit dieser Methode wird die Ausdehnung des dargestellten Textes berechnet. Bei einer Selektion erscheinen so die Selektionspunkte an der richtigen Stelle
dolt (syn) - Dies Methode erzeugt eine neue Compiler-Instanz und laf3t den Text von dieser auswerten.
Erzeugung:text := SynatxText nevAt: Point
Die Teamobjektklasse Graphisches Objekt
Klassen: Semantic Graphics und SyntaxGraphics Oberklassen: SemanticObject bzw. SyntaxObject
Funktionalitiit: Einfache graphische Objekte (Linie, Rechteck, Kreis, Ellipse, Oval) konnen interaktiv verschoben, gestreckt und gestaucht werden. Auch eine Veriinderung ihrer Darstellung ist moglich. Diese allgemeinen Funktionen werden in den Klassen SemanticGraphics und SyntaxGraphics fiir alle graphischen Objekte zur Verfiigung gestellt. Da diese Objekte durch zwei Punkte charakterisiert werden konnen, sind Methoden zum Kopieren ebenfalls allgemein realisierbar.
Wesentliche Methoden:
setCornerTo:Point (syn) - Beim Stauchen oder Strecken eines syntaktischen Objektes wird diesem eine neue rechte untere Ecke zugewiesen. Die Anderung wird dem semantischen Objekt mitgeteilt.
166 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
resize: Size (syn) - Da dasselbe graphische Objekt bei verschiedenen Benutzern an unterschiedIichen Stellen auf dem Bildschirm positioniert sein kann., muB dem entfernten syntaktischen Objekt die Ausdehnung und nicht der neue Eckpunkt mitgeteilt werden. So wird diese Methode nur auf entfernte Objekte angewendet.
remotelnitialize (sem) - Die Erweiterung der Sichtbarkeit des Objektes hat in einem ersten Schritt die Erzeugung eines neuen semantischen Objektes bei neuen Benutzern zur Folge. Dieses neue Objekt hat aber noch nicht die aktuellen Werte. So muB das vorher schon existierende semantische Objekt seinen Inhalt dem neuen RepIikat mitteilen, was mit dieser Methode ftir aile graphischen Objekte gewahrleistet wird.
Das Teamobjekt Rechteck
Klassen: SemanticRectangle und SyntaxRectangle Oberklassen: Semantic Graphics bzw. SyntaxGraphics
Funktionalitiit: Fast aile FunktionaIitaten werden von den Oberklassen geerbt. Einzig Methoden zur Darstellung und zum Selektieren sind notig. Ein Rechteck wird selektiert, indem in der Niihe einer Linie die linke Maustaste betatigt wird. Anschlie6end konnen Position (linke obere Selektionstaste), Form (rechte obere Selektionstaste) und GroBe (rechte untere Selektionstaste) interaktiv verii.ndert werden. Verii.nderung der Form beein:8u6t die Strichbreite des Rechtecks. Bislang werden die Werte 'thin' und 'thick' unterstiitzt.
Wesentliche Methoden:
displayOn:GraphicsContext (syn) - Stellt das Rechteck auf dem graphischen Kontext dar. Dabei werden Strichbreite und Status (,normal','selected' .. ) beachtet.
containsPoint:Point (syn) - Testet, ob Point in der Nahe einer der vier Linien des Rechtecks Iiegt.
Erzeugung: Mit folgendem Befehl wird ein Teamobjekt 'Rechteck' erzeugt, das die Sichtbarkeit nur des Erzeugers besitzt. Die GroBe und die Form haben Voreinstellungswerte.
rectangle := SyntaxRectangle newAt: Point
Das Teamobjekt Linie
Klassen: SemanticLine und SyntaxLine Oberklassen: Semantic Graphics bzw. SyntaxGraphics
Funktionalitiit: Die Mechanismen und FunktionaIitaten dieser Klassen entsprechen vollstandig denen des Teamobjektes Rechteck. Wii.hrend beim Verii.ndern der GroBe eines
167
Rechtecks der rechte untere Selektionspunkt immer rechts unterhalb des linken oberen Selektionspunktes bleiben muB, gilt dies bei der Linie nicht, da eine Linie eine beliebige Richtung einnehmen kann.
Erzeugung: Mit folgendem Befehl wird ein Teamobjekt 'Linie' erzeugt, das die Sichtbarkeit nur des Erzeugers besitzt. Die GroBe und die Form haben Voreinstellungswerte.
line := SyntaxLine nevAt: Point
Die Teamobjektklasse UserlnterfaceObjekt
Klassen: SemanticUserlnterface und SyntaxUserlnterface Oberklassen: SemanticObject bzw. SyntaxObject
Funktionalitiit: Die verschiedenen realisierten User-Interface-Objekte haben sehr unterschiedliche Funktionalitaten. So muBten nur triviale Mechanismen und Methoden in diesen Klassen realisiert werden. Fiir detaillierte Informationen sei auf die Unterklassen Zeiger, Knopf und Pop- Up-Menu verwiesen.
Das Teamobjekt Pop-Up-Menu
Klassen: SemanticPopUpMenu und SyntaxPopUpMenu mit den Controller Klassen LocalMenu'I'racker und RemoteMenuTracker Oberklassen: SemanticUserlnterface bzw. SyntaxUserInterface und MenuTracker fUr die Controller
Funktionalitiit: Instanzen der Klasse SyntaxPopUpMenu verhalten sich entsprechend den Pop-Up-Meniis, die vom System bereitgestellt werden. Sie werden mit der mittleren Maustaste aufgerufen. Pop-Up-Meniis werden in Smalltalk-80 mit eigenen Fenstern dargestellt. Als Controller haben die SyntaxPopUpMenus eine Instanz der Klasse LocalMenuTracker. Diese informieren das SyntaxPopUpMenu iiber alle Daten, die zur Anzeige eines Meniis notwendig sind. Diese Daten werden iiber die semantischen Objekte den entfernten SyntaxPopUpMenus mitgeteilt. Mit Hilfe der Klasse RemoteMenuTracker wird das PopUpMenii dort dargestellt, allerdings hat der entfernte Benutzer keinen Zugriff auf dieses, da der RemoteMenuTracker keine Benutzeraktionen auswertet und damit auch kein Controller ist, auch wenn die Klasse Unterklasse von Controller ist. Bei der Erzeugung einer entfernten Instanz wird zuerst ein leeres Pop-Up-Menii gebildet und erst in einem zweiten Schritt erfolgt die Eintragung der Werte.
Es besteht die Moglichkeit, kaskadierende Pop-Up-Meniis zu erzeugen. Die Untermeniis sind wieder Instanzen der Klasse SyntaxPopUpMenu, allerdings existiert fiir eine gesamte Hierarchie von Meniis nur ein semantisches Objekt. Deshalb unterscheidet sich die Erzeugungen des Hauptmeniis von der der Untermeniis (siehe Erzeugung).
168 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
Wesentliche Instanzvariablen:
labelList (sem): Liste der dargestellten Zeilen des Meniis.
values (sem/syn): Liste der zugehorigen auszufiihrenden Befehle.
olderMenu (syn): Da kaskadierende Meniis moglich sind, gibt es einen Verweis auf das in der Hierarchie nachsthOherliegende Menii.
currentMenu (syn): Falls ein Untermenii geoffnet ist, wird mit dieser Variablen auf dieses verwiesen.
Wesentliche Methoden:
startUpLocal (syn) - Mit dieser Methode wird das SyntaxPopUpMenu gestartet. Ais Antwort erhiilt man von dieser Methode den der selektierten Zeile zugeordnet en Methodennamen. Falls keine Zeile abschliefiend selektiert wurde, erfolgt die Ubergabe der Zahl O.
startUpRemoteAt : Point wi thHeading: String wi thForvarding: String (sem) -Diese Methode an das semantische Objekt gesendet, ruft das SyntaxPopUpMenu ohne aldiven Controller auf.
markerOn:lnteger withForwarding:String (sem) - Dem semantischen Objekt wird mit dieser Methode mitgeteilt, auf welcher Zeile des aktuellen Meniis der Zeiger steht, welche Zeile also markiert werden mufi.
unmapWithForwarding:String (sem) - Mit dieser Methode kann das Fenster eines SyntaxPopUpMenus, das keinen Controller hat, geschlossen werden.
Erzeugung: Dem SyntaxPopUpMenu werden bei der Erzeugung bereits die Eintrage und die zugehorigen Werte zugewiesen. Werte konnen Methodennamen, die mit einem # gekennzeichnet sind, 9der SyntaxPopUpMenus sein. Ein Beispiel solI dies verdeutlichen. Man beachte die unterschiedlichen Befehle zur Erzeugung des Hauptmeniis und der Untermeniis.
valSub := Array with: #fine with: #medium with: #coarse with: #inheritGranu.
subMenu := SyntaxPopUpMenu labelList: #('fine' 'medium' 'coarse' 'inherited' )
localValues: val Sub valMenu := Array with: #cut with: #paste with: #copy with: subMenu menu := SynatxPopUpMenu labelList: #(('cut' 'copy' 'paste')
('Granularity'» values: valMenu
169
Das Teamobjekt Knopf
Klassen: SemanticButton und SyntaxButton Oberklassen: SemanticUserInterface bzw. SyntaxUserInterface
Funktionalitiit: Das Teamobjekte Knopf bietet dem Benutzer die Moglichkeit, eine Methode auszufUhren, die diesem Knopf zugeordnet ist. Bei einer Betatigung des Knopfes (linke Maustaste driicken) wird die Methode an das in der Aggregationshierarchie nachsthoherliegende Objekt gesendet. Dieses ist fUr die Bearbeitung zustandig. Der Knopf kann mit linker Maustaste und betatigter Shift-Taste zu Darstellungsanderungen selektiert werden. Die Position des Knopfes (linke obere Selektionstaste), die Form (rechte obere Selektionstaste) und seine GroBe (rechte untere Selektionstaste) konnen interaktiv veriindert werden. Funktionalitaten der Interaktionsbehandlung werden geerbt.
Wesentliche Instanzvariablen:
selected (Boolean) (sem/syn): Gibt an, ob der Knopf betatigt wurde. Der Wert ist so lange auf true, wie die zugeordnete Methodenausfiihrung dauert.
message (String) (sem/syn): Methode, die bei Betatigung ausgefiihrt wird.
name (String) (sem/syn): Charakterisiert das Aussehen des Knopfes. Mogliche Wert sind 'rectangle', 'line' und 'text'.
textString (String) (sem/syn): Falls name den Wert 'text' hat, wird textString angezeigt.
Wesentliche Methoden:
containsPoint : Point (syn) - Testet, ob aPoint innerhalb der Anzeigeflache des Knopfes liegt.
svitchSelected (syn) - Methode, die bei Betatigung des Knopfes ausgefUhrt wird.
moveTo:Point, setCornerTo:aPoint, changeltemTouchedBy:Point (syn)Veranderungen der Darstellung des Knopfes werden durch diese Methoden gewahrleistet.
Erzeugung: Als Beispiel die Erzeugung eines Knopfes, der das iibergeordnete Objekt auffordert, einen Text einzufUgen:
button := SyntaxButton newAt: 20120. button name: 'text'. button textString: 'ABC'. button message: 'dolnsertText'.
% gibt die Position an
button form: 'circle'. % unterstiitze Formen sind 'circle' und 'rectangle'
170 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
Das Teamobjekt Zeiger
Klassen: SemanticPointer und SyntaxPointer Oberklassen: SemanticUserInterface bzw. SyntaxUserInterface
Funktionalitiit: Es kann in Gruppenanwendungen sinnvoll sein, den eigenen Zeiger auch entfernt anzuzeigen, damit der dortige Benutzer jede Bewegung verfolgen kann. In der Smalltalk-80 Umgebung wird der Zeiger von dem zugrundeliegenden Fenstersystem (z.E. X-Windows) verwaltet, so daB die lokale Darstellung nicht unterstiitzt werden muB. Falls der Zeiger also entfernt angezeigt werden soIl, wird lokal die Position ermittelt, an die entfernte Instanz iiber das zugehOrige semantische Objekt mitgeteilt und dort dargestellt. Beachtet werden dabei unterschiedliche Darstellungsweisen des Zeigers.
Wesentliche Instanzvariablen:
cursorlmage (syn): Das aktuelle Aussehen des Zeigers, gespeichert in einem Image.
Wesentliche Methoden:
moveTo:Point (syn) - Mit dieser Methode wird das lokale syntaktische Objekt iiber die aktuelle Zeigerposition informiert. Eine Weiterleitung an die iibrigen Replikate erfolgt. Diese Methode wird von Controllern der Klasse Team ViewController benutzt und die Position bezieht sich auf die View, die von diesem Controller beobachtet wird.
moveOnMenuTo:Point (syn) - Diese Methode hat denselben Zweck, ist aber fiir Controller der Klasse LokalMenuTracker vorgesehen, da bei einem aktiven PopUp-Menii die Position des Zeigers beziiglich des Meniis berechnet wird.
beVisualAs: String (syn) - Mit dieser Methode an das lokale syntaktische Objekt gesendet wird das Aussehen der entfernten Zeiger veriindert. Zur Zeit kann String die Werte 'normal', 'cross', 'move' und 'size' annehmen.
Erzeugung: pointer := SyntaxPointer new.
Die Teamobjektklasse Komplexes Objekt
Klassen: SemanticComplex und SyntaxComplex Oberklassen: SemanticObject bzw. SyntaxObject.
Funktionalitiit: Diese Klasse stellt allgemeine Mechanismen zur Verfiigung, die bei der Verwaltung mehrerer Teamobjekte notwendig sind. Dazu gehort das Weiterleiten von Methoden an alle Teilobjekte, wie zum Beispiel die Aufforderung, sich auf dem Bildschirm
171
darzustellen. Weiterhin gibt es natiirlich die Hinzunahme und das Loschen von Teilobjekten. Ein anderer Mechanismus ist das Gruppieren von ausgewahlten Teilobjekten zu einem neuen komplexen Teilobjekt.
Wesentliche Instanzvariablen:
objectCollection (OrderedCollection) (sem/syn): Liste alier Teilobjekte.
my Window Controller (Controller) (syn) : Diese Variable wird von dem Wurzelobjekt der syntaktischen Aggregationshierarchie benutzt. Der Controller des MVCTripels wird ihr zugewiesen. Benotigt wird dieser, wenn ein Benutzer die Gruppenanwendung auf einem entfernten Rechner schlieBen mochte.
Wesentliche Methoden:
group (syn) - AIle selektierten Teilobjekte werden zu einem neuen Teilobjekt zusammengefaBt, das Nachfolger des bisherigen komplexen Objektes wird. Aus Nachfolgern werden Enkel. Entsprechend gibt es den Befehl ungroup, der die Wirkung des ersteren aufhebt.
addTeamObject : TeamObject (sem/syn) - Das TeamObj ect wird in die Liste der Teilobjekte sowohl des syntaktischen wie auch des semantischen Objektes eingetragen, wenn die Methode des syntaktischen Objektes ausgefiihrt wird.
remove:TeamObject (sem/syn) - Das TeamObjekt wird aus den Listen entfernt.
createAddSemanticObject:String for:RemObjectList (sem) - Wenn die Sichtbarkeit eines Teamobjektes erweitert wird, sorgt diese Methode dafiir, daB neue semantische und syntaktische Objekte bei dem hinzukommenden Benutzer erzeugt und als Teilobjekte in das entsprechende komplexe Objekt eingebunden werden. String bezeichnet den Typ des zu erzeugenden Teilobjektes und in der RemObjectList stehen die bereits existierenden Replikate.
dolnsertText (syn) - Gemiill der Konzeption der User-Interface-Objekte werden Methodenaufrufe, die durch die Betatigung der User-Interface-Objekte erfolgen, an die iibergeordneten komplexen Objekte weitergeleitet und von diesen ausgewertet. Die Methode dolnsertText soli von einem Editor ausgewertet werden, so daB die in der Aggregationshierarchie dazwischenliegenden komplexen Objekte die Methode nach oben weiterleiten.
Das Teamobjekt Komplexes Graphisches Objekt
Klassen: SemanticComplexGraphics und SyntaxComplexGraphics Oberklassen: SemanticComplex bzw. SyntaxComplex
172 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
Funktionalitiit: Gruppierungen von graphischen Objekten erfordern zusatzliche Mechanismen. So wird das Verschieben von allen Objekten der Gruppierung moglich. Dazu wird an alle Teilobjekte die Verschiebeoperation weitergeleitet und von diesen ausgefUhrt. Bei Stauch- oder Streckoperationen wird analog vorgegangen, nur daB sich diese Operation ausschlieBlich auf Linien und Rechtecke bezieht. Bei der Ubermittlung einer Interaktion an entfernte Replikate des semantischen Objektes erfolgt die Nachricht zwischen den komplexen Objekten, sofern der Interaktionskontext der Teilobjekte dem des komplexen Objektes entspricht. Andernfalls sind die Teilobjekte fUr die Ubermittlung der Interaktion zustandig.
Einer Instanz der Klasse SyntaxComplexGrapbics wird bei der Initialisierung direkt ein SyntaxPopUpMenu als Teilobjekt zugeordnet. Dieses erlaubt Veranderungen am komplexen Objekt und an seinen Teilobjekten (vergleiche hierzu die Vorgehensweise bei der AusfUhrung eines Pop-Up-Menii-Aufrufes).
Selektionen von Objekten in der Aggregationshierarchie geschehen nach folgendem Prinzip: Beim ersten Selektieren wird das umfassendste komplexe Objekt selektiert, was eine Selektion aller seiner Teilobjekte bedeutet. Mit jedem weiteren Betatigen der linken Maustaste wird in der Aggregationshierarchie abwarts gestiegen, bis ein Blatt der Hierarchie erreicht worden ist.
Wesentliche Methoden:
moveTo:Point (syn) - Methode, die das Verschieben einer ganzen Gruppierung erlaubt. Eine entsprechende Methode gibt es fiir das Strecken bzw. Stauchen von Objekten einer Gruppierung.
ini tialMenu (syn) - Hier wird das Syntax-Pop-Up-Menu definiert, das jedem komplexen graphischen Objekt zugeordnet ist.
menuAt : Point (syn) - Ein Meniiaufruf wird von dem zugehOrigen komplexen graphischen Objekt ausgewertet. Wenn ein Teilobjekt selektiert ist, wird die MeniiNachricht an dieses Objekt gesendet, andernfalls wertet das komplexe Objekt die Nachricht selber aus.
containsPoint : Point (syn) - Mit dieser Methode wird die geforderte Funktionalitat des Selektionsvorgangs erbracht.
Erzeugung: complex := SyntaxComplexGraphics new
Das Teamobjekt Editor
Klassen: SemanticEditor und SyntaxEditor Oberklassen: SemanticComplex bzw. Syntax Complex
173
FunktionaJitiit: 1m Rahmen einer Beispielanwendung ist ein einfacher graphischer Mehrbenutzereditor erstellt worden, der vollstandig analog zu den anderen Teamobjekten entworfen wurde. Beim Bearbeiten von komplexen graphischen Objekten stellt eine Instanz dieser Klasse das Wurzelobjekt der Aggregationhierarchie dar. Ein Editor ist fiir das Verwalten der in ihm enthaltenen Objekt, die Bearbeitung der Benutzereingaben und das Darstellen der enthaltenen Objekte zustandig. Der hier vorgestellte Editor erbt von seiner Oberklasse Komplexes Objekt die wesentlichen Mechanismen der Objektverwaltung.
Das Model-View-Controller Paradigma in Smalitalk erfordert einen Controller fiir die Benutzereingaben und eine View fiir die Darstellung der Objekte. In diesem Fall stellt das Teamobjekt Editor durch sein syntaktisches Objekt das Modell der MVC-Trias. Der dar auf zugeschnittene Controller ist eine Instanz der Klasse Team ViewController, die View eine der Klasse Team View. Beziiglich der Darstellung seiner Teilobjekte reicht es ganz im Sinne objektorientierter Programmierung, den Teilobjekten eine Darstellungsaufforderung zukommen zu lassen. Bevor eine Instanz des Editors erzeugt wird, miissen bereits der Controller und die View instanziiert sein. Dies wird durch die Klasse Tool erbracht.
Als komplexes Objekt besitzt der Editor eine Reihe von Auswahlknopfen, einen Zeiger und ein leeres komplexes graphisches Objekt als fest vorgegebene Teilobjekte. Es handelt sich jeweils urn Teamobjekte der Entwicklungsunterstiitzung.
Eine wesentliche Funktion des Editors ist die Verwaltung des Zustandes, in dem er sich befindet. Nur so konnen die Benutzereingaben richtig interpretiert werden. Als Wurzel der Aggregationshierarchie ist er weiterhin fiir die Auswertung der mit Knopfen und PopUp-Meniis verbundenen Befehle zustandig.
Wesentliche Instanzvariablen:
vievMode (String) (syn): In dieser Variable steht der aktuelle Zustand, in dem sich der Editor gerade befindet. Bislang unterstiitzt werden: 'reset', 'move', 'size', 'text', 'InsertText', 'InsertLine' und 'InsertRectangle'.
copySyntax (syn): geloschte und kopierte Objekte werden in dieser Variable gespeichert, und bei einem paste-Befehl an der entsprechenden Stelle eingebunden.
Wesentliche Methoden:
initialize (syn) - Initialisiert einen neuen Teameditor ohne Dokument und mit dem Aufrufenden als einzigem Benutzer.
ini t ializeWi th: RemOb j ectList (sym) - Erweitert einen im System bestehenden Editor und des sen Teilobjekte um die Sichtbarkeit des Benutzers, in dessen Smalitalk-Umgebung dieser Befehl aufgerufen wird. Die RemUserList stellt dabei eine Liste alier bereits existierender Replikate des Editors dar.
createAddTeamObj ect: Type cpAct: Point to: Collection (syn) - Mit dieser Methode werden neue Teamobjekte in den Editor und damit in die Aggregationshierarchie eingebunden. Type gibt den geforderten neuen Objekttyp an (,rectangle',
174 Anhang B. Ausgewiihlte Teamobjektbeschreibungen
'text', 'line', 'button', 'complexGraphics'), Point die Position auf dem zugehOrigen graphischen Kontext und Collection bezeichnet das komplexe Objekt, als dessen Teilobjekt das neue Objekt in die Aggregationshierarchie eingebunden werden solI.
do Insert Text (syn) - Methode, die bei der Betatigung eines Buttons ausgelost wird und von den in der Aggregation dazwischenliegenden Teamobjekten an den Editor gesendet wird. Dieser andert seinen Zustand, so daB anschlie13end ein neuer Textabschnitt eingefiigt werden kann.
Die Klasse Workbench
Klassen: SemanticWorkbench und SyntaxWorkbench Oberklassen: SemanticEditor bzw. SyntaxEditor.
Funktionalitiit: Dieses Teamobjekt wurde im Rahmen des Beispielszenarios entwickelt. Ais Unterklasse des Editors erbt dieses Teamobjekt Funktionalitaten der Darstellung. Es dient als Auswahlwerkzeug, verschiedene Teilaufgaben oder verschiedene zu bearbeitende Dokumente auszuwahlen. Bei der Initialisierung werden verschiedene Knopfe als Teilobjekte eingebunden. So ist die wesentliche Funktionalitat dieser Klasse die Bereitstellung eben der Methoden, die durch die Betiitigung der verschiedenen Knopfe ausgelost werden. In Anhang B erfolgt eine nahere Beschreibung der Benutzung von Objekten dieser Klasse.
Anhang C
Team-, Aufgaben- und Koordinations beschreibungssprache
Dieser Anhang enthiilt die Syntax der statischen und dynamischen Aufgaben-, Team- und Koordinationsbeschreibungssprache [Siegenheim 92] in erweiterter Backus-Naur-Form. Die Grundelemente der erweiterten BNF sind:
• < ... > Nichttarminalzaichan
• " ••• II
Tarminalzaichan
• * o - n-facha Wiadarholung
• + 1 - n-facha Wiadarholung
• a b a und b in dar vorgagabanen Raihanfolga
• a I b antvadar a odar b · ( ... ) Klammarung von AusdrUckan · [ ... ] Dar Klammarinhalt ist optional
176 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
C.I Die Teambeschreibungssprache
Grundelemente der Teambeschreibungssprache
<STANDARDJWPERCASE> : :==
"A" I "B" I "C" I "D" I "K" I "L" I "M" I "N" I "U" I "V" I "W" I "X" I
<STANDARD-LOWERCASE> : :==
"a" I "b" I lie" I lid" I "k" I "III I "m" I lin II I "u" I "V" I "v" I "x" I
<STANDARD-LIT> :: == <STANDARD_UPPERCASE> I <STANDARD-LOWERCASE>
<NON...zERO...DIGIT-LIT> : :==
"E" "F" "G" "H" "I" "0" "P" "Q" "R" "S" "Y" "Z"
"e" "f" "g" "h" "i" flO" "p" "q" urn liS"
"y" liZ"
"i" I "2" I "3" 1 "4" I liS" "6" I "7" I "8" 1 "9"
<DIGIT-LIT> : :== "0" I <NON...zERO...DIGIT-LIT>
< INTEGER> :: == "0" I <NON...zERO...DIGIT-LIT> «DIGIT-LIT» *
<STRING> : :== """ «STANDARD-LIT» *",",
<INSTANCE..NAME> : :== <STANDARD-LOWERCASE> «STANDARD-LIT» *
<TEAMJ\OLE..NAME> :: == <STANDARD_UPPERCASE> «STANDARD-LIT» *
<TEAM...DESCRIPTION..NAME> :: == <STANDARD_UPPERCASE> «STANDARD-LIT» *
<USER..NAME> :: == < INSTANCE..NAME>
<TEAM..NAME> :: == < IliSTAllCE..1lAME>
<CARDINALITY> :: == "[,, <INTEGER> " " . «INTEGER> I "*") "]"
"J" "T"
"j" "t"
C.l. Die Teambeschreibungssprache
< INSTANCE...5ELECTOR> :: == (1t[1t <INTEGER> Itllt) I (It [It It] It )
<TEAMROLE> :: ==
<TEAM.l\OLEJlAME> <CARDINALITY>
<TEAMROLE-LIST> :: == 1t{1t «TEAMROLE> 1t,1t)* <TEAMROLE> 1t}1t <CARDINALITY>
<ROLE_INSTANCE> :: ==
<TEAM.l\OLEJlAME> < INSTANCE...5ELECTOR>
<ROLE_SPECIFIER> :: ==
( «ROLE_INSTANCE> I <TEAM.l\OLEJlAME» It. It) * «ROLE_INSTANCE> I <TEAM.l\OLEJlAME»
<ROLE_SPECIFIER-LIST> :: ==
«ROLE_SPECIFIER> It, It) * <ROLE_SPECIFIER>
<INTERACTIONltOLE-LIST> : == <ROLE_SPECIFIER> I It (It «ROLE...5PECIFIER> It, It) + <ROLE_SPECIFIER> It) It
<INTERACTION.l\ELATION> :: == <INTERACTION.l\OLE-LIST> It_ >It <INTERACTIONltOLE-LIST>
<TEAM_STRUCTURE> :: == 1t{1t «INTERACTION.l\ELATION> ",")* <INTERACTION...RELATION> "}"
Statische Teambeschreibung
<TEAM...DESCRIPTION> :: == "Team: <TEAM...DESCRIPTION..NAME>
"description:" <STRING> "teamRoles:" <TEAMROLE-LIST> "interface:" .. {It <ROLE_SPECIFIER-LIST> .. } .. .. structure:" <TEAM....5TRUCTURE>
ItEndTeam:" <TEAM...DESCRIPTION..NAME>
Dynamische Teaminstanziierung und -anderung
<ROLE..ASSIGNMENT> :: == It (.. «USERJlAME> I < TEAMJlAME > ) <INTERACTION-.ROLE-LIST> .. ) ..
<ROLE..ASSIGNMENT-LIST> : :==
II II ,
.. ( .. «ROLE..ASSIGNMENT> ", ")* <ROLE..ASSIGNMENT> ")"
177
178 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<ROLE...LIST> :: == " (" «TEAM.l\OLE...NAME> ",") * <TEAM.l\OLE...NAME> ")"
<ROLE...MAPPING> :: == " (" <ROLE...LIST> "," <ROLE...LIST> ")"
<ROLE...HAPPING...LIST> :: == "(" «ROLE...MAPPING> ",")* <ROLE...MAPPING> ")"
<TEAM_INSTANTIATION> : :==
II II
<TEAM...NAME> ": =" <TEAM...DESCRIPTION...NAME> ("new:" <ROLE...ASSIGNMENT ...LIST> (" deri ved:" <TEAM...NAME> "map:" <ROLE...MAPPING...LIST») It It
<TEAM.ltEINSTANTIA TION> :: == <TEAM...NAME> "reinstantiate."
<TEAM...PRELIMINARY..END> : :==
<TEAM...NAME> "discard."
<MODIFY_INSTANTIATION> : :== "join:" <ROLE...ASSIGNMENT> "leave:" <ROLE...ASSIGNMENT> I "(" <USER...NAME>")"
<GET...ASPECT> : :== "description" I "teamRoles" I "interface" I "structure"
<SET...ASPECT> : :== "description:" <STRING> "teamRoles :" <TEAMROLE...LIST> I "interface:" "{" <ROLE~PECIFIER...LIST> "}" I "structure:" <TEAM~TRUCTURE>
<STATEMENT> : :==
<SET...ASPECT> I <GET...ASPECT> I <MOD IFY .-INSTANTIATION>
<CASCADED...5TATEMENT> :: == <TEAM...NAME> «STATEMENT> "; ,,) * <STATEMENT>
<STATEMENT...LIST> : :==
( <CASCADED...5TATEMENT> ("beginTransaction"
«CASCADED...5TATEMENT» * "endTransaction"»*
If "
C.2. Die Aufgabenbeschreibungssprache
C.2 Die Aufgabenbeschreibungssprache
Grundelemente der Aufgabenbeschreibungssprache
<STANDARD_UPPERCASE> : :==
"A" I "B" I "C" I "Dn I "K" I "L" I "M" I "N" I "U" I "V" I "W" I "X" I
<STANDARD...LOWERCASE> : :== I'a" I "b" I "c" I "d" "k" I "1" I "mil I "n" "u" I "v" I "w" I "x"
<STANDARD...LIT> :: == <STANDARD_UPPERCASE> <STANDARD...LOWERCASE>
<SPECIAL...LIT> :: ==
I I I
"E" "F" "G" "H" "I" "J" "0" liP" "Q" "RI! "S" "T" "y" liZ"
"e" "f" "g" "h" "ill "j" "0" "p" "q" "r" "s" "t" "y" liZ"
u+" 1 11/" I "\11 1 n*11 "I" I ttlll I n?" I "! II
II-II I "<II 1 ">" 1 II_II I "G" I "%" I
<OTHER...LIT> :: == "[" I "],, I "{" I "}" I "(" I ")" I "-,, I
<CHARACTER> : :== <STANDARD...LIT> I <SPECIAL...LIT> I <OTHER...LIT>
<NONJ:EROJ)IGIT...LIT>
11.11 . I "$" I "#" I
"1" I "2" I "3" I "4" I "5" "611 I "7" I "8" I "9"
<DIGIT...LIT> : :== "0" I <NONJ:EROJ)IGIT...LIT>
<INTEGER> : :== "0" I <NONJ:EROJ)IGIT...LIT> «DIGIT...LIT»*
<NUMBER> :: == <INTEGER> I < INTEGER> "." < INTEGER>
<STRING> : :== """ «CHARACTER» *"""
<IDENTIFIER> :: == <STANDARD...LIT> «STANDARD...LIT> I <DIGIT...LIT» *
ft.1I
179
" It I IIIIt
180 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<CLASS.lUKE> .. ==
"<" <STANDARD_UPPERCASE> «STANDARD.LIT»* ">"
<INSTANCEJUKE> : :== <STANDARD.LOWERCASE> «STANDARD.LIT» * "#currentRole" I "#currentlnstance"
<UNARy...sELECTOR> :: == < IDENTIFIER>
<BINARy...sELECTOR> :: ==
<SPECIAL.LIT> I <SPECIAL.LIT> <SPECIAL.LIT>
<KEYWORD> :: == <IDENTIFIER> ":"
<PRIMARY> :: ==
< INSTANCE..NAKE> <NUMBER> I <STRING> I "(,, <EXPRESSION> ")"
<UNARY _OBJECT .DESCR> <PRIMARY> I <UNARY..EXPR>
<BINARY _OBJECT .DESCR> :: == <UNARY _OBJECT .DESCR> <BINARY..EXPRESSION>
<UNARY..EXPR> :: == <UNARY _OBJECT .DESCR> <UNARy...sELECTOR>
<BINARY..EXPR> : :== <BINARY _OBJECT .DESCR> <BINARY_SELECTOR> <UNARY _OBJECT .DESCR>
<KEYWORD..EXPR> :: == <BINARY _OBJECT .DESCR> «KEYWORD> <BlNARY_OBJECT.DESCR»+
<KESSAGE..EXPR> :: == <UNARY..EXPR> I <BlNARY..EXPR> I <KEYWORD..EXPR>
C.2. Die A ufgabenbeschreibungssprache
<CASCADEDJfESSAGE...EXPR> :: == <MESSAGE...EXPR> (" j" «UNARY _SELECTOR> I
<BINARY ...sELECTOR> <UNARY_OBJECT ...oESCR> I «KEYWORD> <BINARY _OBJECT ...oESCR» + ) ) +
<EXPRESSION> :: == «<INSTANCE..NAME> ":=") I " ") ( <PRIMARY» I <MESSAGE...EXPR> I <CASCADEDJfESSAGE...EXPR> )
<TASK...ROLE..NAME> :: == <STANDARD_UPPERCASE> «STANDARD.!.IT» *
<TASK...oESCRIPTION..NAME> :: == <STANDARD_UPPERCASE> «STANDARD.!.IT» *
<SUBTASK...oESCRIPTION..NAME> :: == <STANDARD_UPPERCASE> «STANDARD.!.IT» *
<TEAMOBJECT..NAME> :: == < INSTANCE..NAME>
<CARDINALITY> :: == "[,, <INTEGER> "," «INTEGER> I "*") "l"
<TASKROLE> :: == <TASK...ROLE..NAME> <CARDINALITY>
<TASKROLE.!.IST> :: == {<TASKROLE> ("," <TASKROLE»* } <CARDINALITY>
< INTERACTION_CATEGORY> "context" I "syntactic" I "semantic" I "view"
<ACCESS> : :== <TASK...ROLE..NAME> "[,, «INTERACTION_CATEGORY> ",")* <INTERACTION_CATEGORY> "l"
<ACCESS.!.IST> :: == «ACCESS> ) * "," <ACCESS>
181
182 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<PROTOCOL.JIAME> :: == "free...:floor" I "pre-emptive" I "explici t..release" "fifo-queue" I " central.moderator" "pause..d.etection" II II
<TEAMOBJECT> :: == « <CLASS.JIAME> I «TEAKOBJECT.JIAME> "." <CLASS.JIAME»)
( ( <TEAHOBJECT .JIAME> "."). <TEAMOBJECT .JIAME> ) ) <TEAHOBJECT.JIAME> <CARDIIALITY> [ "access:" <ACCESS.LIST> 1 [ " sync :" <PROTOCOLJrAME> 1
<TEAHOBJECT.LIST> :: == "{" "}" I "{" «TEAHOBJECT> ","). <TEAMOBJECT> "}"
<ATTRIBUTE.LIST> : :== "{" "}" I "{" «IDEITTIFIER> ","). <IDENTIFIER> "}"
<TASK.LIST> ; ;== "{" "}" I "{" «SUBTASI.DESCRIPTIOIJrAME> ", "). <SUBTASI.DESCRIPTIOI.JIAME> "}"
<PREDICATE.LIST> : :== "{" "}" I "{" <IIESSAGE..EXPR>
<CASCADED.JIESSAGE..EXPR> "}"
<ACTION.LIST> :: == "{" "}" I "{" «EXPRESSIOI> ","). <EXPRESSION> "}"
C.2. Die Aufgabenbeschreibungssprache
Statische A ufgabenbeschreibung
<SPECIFICATION..BODY> : :== "description:" <STRING>
"tasltRoles :" <TASKROLE...LIST>
"teamObjects:" <TEAHOBJECT...LIST>
"attributes:" <ATTRIBUTE...LIST>
"subTasks:" <TASK...LIST>
"constraints:" <PREDICATE...LIST>
"start: " "condition:" <PREDICATE...LIST>
"action:" <ACTION...LIST>
"terminate: " "condition:" <PREDICATE...LIST>
"action:" <ACTION...LIST>
"enter: " "condition:" <PREDICATE...LIST>
"action:" <ACTION...LIST>
"leave:"
"condition:" <PREDICATE...LIST>
"action:" <ACTION...LIST>
<TASKJ)ESCRIPTION> :: == "Task:" <TASKJ)ESCRIPTION..NAHE>
< SPECIFICA TION-.BODY> "EndTask:" <TASKJ)ESCRIPTION..NAME>
< SUBTASKJ)ESCRIPTION> :: == "SubTask:" <SUBTASKJ)ESCRIPTION..NAME>
<SPECIFICATION..BODY> "EndSubTask:" <SUBTASKJ)ESCRIPTION..NAHE>
Dynamische Aufgabeninstantiierung und Anderung
<TASK..NAME> :: == < INSTANCE..N.ME>
<TEAHOBJECT .1\EFERENCE> .. == "(,, <INSTANCE..NAME> "."
<TEAHOBJECT...NAME> "[" <INTEGER> "]" ")"
<TEAHOBJECT.1\EFERENCE...LIST> :: == " (" «TEAHOBJECT ..REFERENCE> ".") * <TEAMOBJECT..REFERENCE> ")"
183
184 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<TASK_INSTANTIATION> : :== <TASK...NAME> ": =" <TASK-DESCRIPTION...NAME> "new:" <TEAHOBJECT...REFERENCE.LIST> II It
<TASK...REINSTANTIATION> :: == <TASK...NAME> "reinstantiate."
<TASK.PRELIMINARY.END> :: == <TASK...NAME> "discard."
<GET.-ASPECT> :: == "description" I "taskRoles" I "teamObjects" I "attributes" I "subTasks" I "constraints" I "startCondition" "startAction"l "terminateCondition" "terminateAction" I "enterCondition" I "enterAction" I "leaveCondition" "leaveAction"
< SET .-ASPECT> :: == "description:" <STRING> "taskRoles:" <TASKROLE.LIST> "teamObjects:" <TEAHOBJECT.LIST> "attributes:" <ATTRIBUTE.LIST> I "subTasks:" <TASK.LIST> I "constraints:" <PREDICATE.LIST> I "startCondition:" <PREDICATE.LIST> "startAction:" <ACTION.LIST> I "terminateCondi tion:" <PREDICATE.LIST> "terminateAction:" <ACTION.LIST> I "enterCondition:" <PREDICATE.LIST> "enterAction:" <ACTION.LIST> I "leaveCondi tion:" <PREDICATE.LIST> "leaveAction:" <ACTION.LIST>
<STATEMENT> : :== <SET.-ASPECT> I <GET.-ASPECT>
C.3. Die K oordinationsbeschreibungssprache
<CASCADED..sTATEMENT> :: ==
«TASK..NAME> I «TASK...NAME> (". II <SUBTASK...DESCRIPTION..NAME»* )) «STATEMENT> ";")* <STATEMENT>
<STATEMENT--LIST> : :==
( <CASCADED..sTATEMENT> (lbeginTransaction"
«CASCADED..sTATEMENT» * lendTransaction"))*
fI It
C.3 Die Koordinationsbeschreibungssprache
Grundelemente der Koordinationsbeschreibungssprache
<STANDARD_UPPERCASE> .0== "A" I "B" I "C" I "D" I "K" I "L" I "M" I "N" I "U" I "V" I "wit I "X" I
<STANDARD--LOWERCASE> .0== "a" I lib" I "e" I lid"
"k" I "I" I "mit I "n" "u" I "v" I "wit I "x"
<STANDARD--LIT> :: ==
<STANDARD_UPPERCASE> <STANDARD--LOWERCASE>
<SPECIAL--LIT>
I I I
"E" "F" "G" uH" "I" fiJI!
liD .. "P" "Q" "RI! "S" "T" "Y" "z"
"ell "f" "g" "h" "i" "j" "0" "p" "q" "rl! "s" "t" "y" liZ"
185
"+" I "/" I "\" 1 "*" I " .. " I "<" I ">" I II_II I "III" I "Yo" I "I" I "I:" I "?" I "!"
<OTHER.l.IT> ,,[It I If]" I "{II I "}" I n(" I ")" I It ... " I
<CHARACTER> :: ==
<STANDARD.l.IT> I <SPECIAL--LIT> I <OTHER..LIT>
<NON.2ERO...DIGIT..LIT>
It .11 . I "$" I "#" I
"1" I "2" I "3" I "4" I "5" "6" I "7" I "8" I "9"
<DIGIT--LIT> : :== "0" I <NON.2ERO...DIGIT.l.IT>
11.11 " " I ",II
186 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<INTEGER> "0" I <NON..2ERO...DIGIT...LIT> «DIGIT...LIT» *
<NUMBER> :: == <INTEGER> I <INTEGER> "." <INTEGER>
<STRING> : :== 111111 «CHARACTER» *"""
< IDENTIFIER> :: == <STANDARD...LIT> «STANDARD...LIT> I <DIGIT...LIT» *
<INSTANCE...sELECTOR> :: == ("[" <INTEGER> "]") I ("[" "]")
<INSTANCE...NAME> : :== <STANDARD...LOWERCASE> «STANDARD...LIT» * I #tasltRole I #teamObject #subTask I #teamRole
<UNARY _SELECTOR> <IDENTIFIER>
<BINARy...sELECTOR> :: == <SPECIAL...LIT> I <SPECIAL...LIT> <SPECIAL...LIT>
<KEYWORD> :: == <IDENTIFIER> ": II
<PRIMARY> :: == < INSTANCE...NAME> <NUMBER> I <STRING> I "(" <EXPRESSION> ")"
<UNARY _OBJECT ...DESCR> <PRIMARY> I <UNARY.EXPR>
<B INARY _OBJECT ...DESCR> <UNARY _OBJECT ...DESCR> <BINARY.EXPRESSION>
<UNARY.EXPR> :: == <UNARY _OBJECT ...DESCR> <UNARy...sELECTOR>
C.3. Die Koordinationsbeschreibungssprache
<BINARY...EXPR> :: == <BINARY _OBJECT ..DESCR> <BINARY_SELECTOR> <UNARY _OBJECT ..DESCR>
<KEYWORD...EXPR> :: == <BINARY _OBJECT ..DESCR> «KEYWORD> <BINARY_OBJECT..DESCR»+
<MESSAGE...EXPR> :: ==
<UNARY...EXPR> I <BINARY...EXPR> I <KEYWORD...EXPR>
<CASCADED.MESSAGE...EXPR> <MESSAGE...EXPR> (" ;" «UNARY _SELECTOR> I
<BINARy..sELECTOR> <UNARY_OBJECT..DESCR> I «KEYWORD> <BINARY_OBJECT..DESCR»+ ) )+
<EXPRESSION> :: ==
<PRIMARY» I <MESSAGE...EXPR> <CASCADED.MESSAGE...EXPR>
<PREDICATE> :: == <MESSAGE...EXPR> I <CASCADED..MESSAGE...EXPR>
<PREDICATE-LIST> :: == n{" "}" I "{" <PREDICATE> "},,
<COORDINATION..DESCR..NAME> <STANDARD_UPPERCASE> «STANDARD-LIT» *
<TASK..DESCR..NAME> :: == <STANDARD_UPPERCASE> «STANDARD-LIT» *
<TEAM..DESCR..NAME> :: ==
<STANDARD_UPPERCASE> «STANDARD-LIT» * <TASK...ROLE..NAME> :: ==
<STANDARD_UPPERCASE> «STANDARD-LIT» * <TEAM...ROLE..NAME> :: ==
<STANDARD_UPPERCASE> «STANDARD-LIT» * <TEAM...ROLE_INSTANCE> :: ==
<TEAM...ROLE..NAME> < INSTANCE..sELECTOR>
187
188 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<TASK..ROLE...LIST> :: == <TASK..ROLUlAHE> I (" (" «TASK..ROLE.1lAME> ", ")+ <TASK..ROLE.1lAHE> II) II)
<DELEGATION> : :== II (" «TEAM..ROLE.1lAHE> I <TEAM..ROLE_INSTANCE» <TASK..ROLE...LIST> ") II
<DELEGATION...LIST> :: == "{" «DELEGATION> ",")* <DELEGATION> "}"
<TASKATTRIBUTE> :: == "guiding" I "checking" I "none"
<TASKATTRIBUTES> :: == <TASKATTRIBUTE> I
II II ,
"(" «TASKATTRIBUTE> ",")* <TASKATTRIBUTE> ")"
<TASKATTRIBUTE...LIST> :: == "{}" I (II{" (11(" <PREDICATE> "," <TASKATTRIBUTES> ")" ",")* "(11 <PREDICATE> ", II <TASKATTRIBUTES> ")" II}" )
<TEAMATTRIBUTE> : :== "guiding" I "checking" I "directed" I "none"
<TEAMATTRIBUTES> : :== <TEAMATTRIBUTE> I "(11 «TEAMATTRIBUTE> ",")* <TEAMATTRIBUTE> ")"
<TEAMATTRIBUTE...LIST> : :== "{}" I (,,{" (11(" <PREDICATE> "," <TEAMATTRIBUTES> ")" ",")* "(" <PREDICATE> "," <TEAMATTRIBUTES> ")" II}" )
0.3. Die Koordinationsbeschreibu.ngssprache
Statische Koordinationsbeschreibung
<CDDRDINATIDN..DESCRIPTIDN> :: == "Coordination:" <CDDRDINATIDN..DESCR...NAME>
"description:" <STRING> "team:" <TEAM..DESCR...NAME> "task:" <TASK..DESCR...NAME> "delegation:" <DELEGATIDN.LIST> "teamCoordination:" <TEAMATTRIBUTE.LIST> "taskCoordination:" <TASKATTRIBUTE.LIST> "teamTaskConstraints:" <PREDICATE.LIST>
"EndCoordination:" <CDORDINATION..DESCR...NAME>
Dynamische Koordinationsbeschreibung und -anderung
<CDDPERATION...NAME> :: <INSTANCE...NAME>
<TASK...NAME> :: == < INSTANCE...NAME>
<TEAMJlAME> :: == < INSTANCE...NAME>
<CDDPERATID1LINSTANTIATIDN> .. == <COOPERATIDN...NAME> ": =" <COORDINATION..DESCR...NAME> "telllll:" <TEAM...NAME>
"task:" <TASK...NAME>
<CDOPERATION.REINSTANTIATION> :: == <CDDPERATIDN...NAME> "reinstantiate."
<CDDPERATION.PRELIMINARY...END> :: == <COOPERATION...NAME> "discard."
<GET...ASPECT> : :== "description" I "delegation" I "teamCoordination" "taskCoordination" "teIllllTaskConstraints"
" II
189
190 Anhang C. Team-, Aufgaben- und Koordinationsbeschreibungssprache
<SET...ASPECT> : :== "description: II <STRING> I "delegation: II <DELEGATION-LIST> "teamCoordination: II <TEAMATTRIBUTE-LIST> "taskCoordination: II <TASKATTRIBUTE-LIST> "teamTaskConstraints: II <PREDICATE-LIST>
<STATEMENT> : :== <SET...ASPECT> I <GET ...ASPECT>
<CASCADED...sTA TEMENT> <COOPERATIONJlAHE> «STATEMENT> "; ") * <STATEMENT>
<STATEMENT-LIST> : :== ( <CASCADED...sTATEMENT> (lbeginTransaction"
«CASCADED...sTATEMENT» * lendTransaction"»*
II II
Anhang D
Beispiel: Entwicklung kooperativer Szenarien
Urn den Einsatz der Entwicklungsunterstiitzung durch Teamobjektklassen sowie Team-, Aufgaben- und Koordinationsbeschreibungssprachen zu veranschaulichen, werden in diesem Anhang konzeptionell interessante Teile der Realisierung des Beispielszenarios aufgefiihrt, das die kooperative Entwicklung kooperativer Szenarien zum Gegenstand hat.
Ein neues Teamobjekt zur Visualisierung der Aufgabe
Das folgende Fragment zeigt, wie Teamobjekte der Klasse 'Knopf' fUr die Visualisierung der Aufgabe 'Realisiere Kooperation' (s. Abbildung 5.1) wiederverwendet werden (vgl. auch die Klasse 'Workbench' in Anhang B).
workbench := SyntaxWorkbench new. "Einfiigen eines komplexen graphischen Objektes:"
buttonsViewModel := workbench createAddTeamDbject:'complexGraphics' cpAct: 010 to: workbench.
buttonsViewModel aspect: #button.
"Einfiigen der drei Kniipfe fiir die Auswahl der Teilaufgabe." button := workbench createAddTeamObject: 'button' cpAct: (30150)
to: buttonsViewModel. button name: 'text'. button textString: 'DESIGN' . button setbbCorner: (button bbOrigin) + (120150). button message: 'design' .
button := workbench createAddTeamObject: 'button' cpAct: (180150) to: buttonsViewModel.
192 Anhang D. Beispiel: Entwicklung kooperativer Szenarien
button name: 'text'. button textString: 'DESCRIBE'. button setbbCorner: (button bbOrigin) + (120G50). button message: 'describe'.
button := workbench createAddTeamObject: 'button' cpAct: (330G50) to: buttonsViewModel.
button name: 'text'. button textString: 'INSTANTIATE'. button setbbCorner: (button bbOrigin) + (120G50). button message: 'instantiate'.
"Erweitern der Sichtbarkeit urn den GroupIE-Manager" visible := Set new. visible add: (workbench semanticObject userID); add: 'control'. workbench semanticObject visibility: visible.
"Erzeugen der lokalen Objekte View und Controller:" teamView := TeamView newExtentX: 480 extentY: 150. teamView model: workbench. teamView controller: TeamViewController new. teamView aspect: #button.
self openView: (480G150) withLabel: 'realizeCooperation'.
Team-, Aufgaben- und Koordinationsbeschreibung
Es folgen die Teambeschreibung, konzeptionell interessante Teile der Aufgabenbeschreibung, die Koordinationsbeschreibung sowie die Instanziierung des Beispielszenarios.
Statische Teambeschreibung
Es wird die Struktur eines demokratischen Teams urn einen Protokollfiihrer erweitert.
Team: ArgumentativeTeam description: "Demokratisches Team mit einem Protokollfiihrer" teamRoles: {Member[1.*]. Protocol[1.1]}[2.*] interface: {Member[l]} structure: {Member - > Member.
Member - > Protocol} EndTeam: ArgumentativeTeam
Statische A ufgabenbeschreibung
Die Aufgabe gliedert sich in drei Teilaufgaben.
Task: RealizeCooperation description:"Der ProzeB der Kooperationserstellung wird durch
diese Aufgabendefinition beschrieben." taskRoles: {Developer[1,6], HistoryKeeper[1,1]}[2, 7] teamObjects: {<Document> designDocument[1,1]
access: Developer[context,semantic,syntactic,view], HistoryKeeper[context, view]
sync: implicitRelease, <TeamDescription> myTeamDescr[1,1] access: Developer[context, semantic, syntactic, view],
HistoryKeeper[context, view] sync: implicitRelease, <TaskDescription> myTaskDescr[ 1,1] access: Developer[context, semantic, syntactic, view],
HistoryKeeper[context, view] sync: implicitRelease, <CoordinationDescription> myCoordinationDescr[1,1] access: Developer[context,semantic,syntactic,view],
HistoryKeeper[context, view] sync: implicitRelease}
attributes: {} subTasks: {Design, Describe, Instantiate} constraints: {} start:
condition: {} action: {}
terminate: condition: {} action:{}
enter: condition: {} action: {}
leave: condition: {} action: {}
EndTask: RealizeCooperation
SubTask: Design description:"Die Phase des Grobentwurfs, inklusive Brainstorming
193
194 Anhang D. Beispiel: Entwicklung kooperativer Szenarien
zu geeigneten Interaktionstypen wird hier beschrieben. Der HistoryKeeper, der fUr das FUhren der Design-Historie verantwortlich ist, darf als einziger die Aufgabe start en"
taskRoles: {Developer[1, a], HistoryKeeper[ 1,1]}[2, 7] teamObjects : {<Document> designDocument[1,1],
<Group IT> interactionPrototyper[O ,1] access: Developer[context,semantic,syntactic,view],
HistoryKeeper[context, view] sync: freeFloor, <Note> localNote[O,*] access: Developer[context, semantic, syntactic, View],
HistoryKeeper[context,semantic,syntactic,view] sync: freeFloor}
attributes: {designCompleted} subTasks: {} constraints: {«designDocument numberOfComponents) < 7)} start:
condition: {(#currentRole = HistoryKeeper)} action: {}
terminate: condition: {} action: {designCompleted := true}
enter: condition: {} action: {}
leave: condition: {} action: {}
EndSubTask: Design
SubTask: Describe description: "Der Grobentwurf in Team-, Aufgaben- und
Koordinationsbeschreibung gegeben wird hier konkretisiert und beschrieben"
taskRoles: {Developer[1,a], HistoryKeeper[1,1]}[2, 7] teamObj ects: {<TeamDescription> myTeamDescr[ 1,1],
<TaskDescription> myTaskDescr[1,1], <Coordinat ionDescription> myCoordinationDescr[ 1 ,1]
attributes: {describeCompleted} subTasks: constraints: {} start:
condition: {(designCompleted)}
action: {} terminate:
condition: {} action: {describeCompleted .= true}
enter: condition: {} action: {}
leave: condition: {} action: {}
EndSubTask: Describe
SubTask: Instantiate description: OlDie in der Describe-Phase erstellten Beschreibungen
werden an dieser Stelle instanziiert. Bach der Instanziierung ist die Kooperation aktiviert"
taskRoles: {Developer[1.6]. HistoryKeeper[1.1]}[2. 7] teamObjects: {<TeamDescription> myTeamDescr[l.l].
<TaskDescription> myTaskDescr[ 1.1]. CoordinationDescription myCoordination[l.l] access: Developer[context. syntactic. view].
HistoryKeeper[context. view] sync: implicitRelease}
attributes: {} subTasks: {} constraints: {} start:
condition: {(describeCompleted)} action: {}
terminate: condition: {} action: {}
enter: condition: {} action: {}
leave: condition: {} action: {}
EndSubTask: Instantiate
195
196 Anhang D. Beispiel: Entwicklung kooperativer Szenarien
Statische Koordinationsbeschreibung
Coordination: ArgumentativeRealizeCooperation description: "Die Aufgabe der kooperative Realisierung einer
Kooperation wird durch ein argumentatives Team bearbeitet"
team: ArgumentativeTeam task: RealizeCooperation delegation: {(Protocol, HistoryKeeper),
(Member, Developer)} teamCoordination: {(true, guiding),
(#taskRole = HistoryKeeper,(checking,directed)} taskCoordination: {(true, (checking ,guiding) ,
(#subTask = RealizeCooperation.Design,(none,checking)} teamTaskCoordination: {}
EndCoordination: ArgumentativeRealizeCooperation
Dynamische Instanziierung
myTeam := ArgumentativeTeam new: ((tom, Member[l]),
(stup, Member[2]), (siegen, Protocol[l]».
myTask := RealizeCooperation new:(myDesignTemplate,designDocument[l]».
myCooperation := ArgumentativeRealizeCooperation team: myTeam task: myTask.
~ I.\rJ DeufscherUl1iversitafsVerlag ____ --, ~ GABlER·VIEWEG·WESTDEUTSCHER VERLAG
Aus unserem Programm
Siegbert Kern Produktions-Controlling fOr Fertigungsinseln 1993. xx. 223 Seiten, 67 Abb., Broschur DM 89,ISBN 3-8244-0151-7 In dieser Arbeit werden die durch die Einffihrung und den Betrieb von Fertigungsinseln sich ergebenden technischen und organisatorlschen Verinderungen analysiert und daraus die Anforderungen ftir ein Produktions-Controlling abgeleitet.
Hermann Korndle Mensch-Computer-Interaktion Psychologische Aspekte des Umgangs mit komplexen technischen Systemen 1993. 199 Seiten, 30 Abb., 11 Tab., Broschur DM 44,-ISBN 3-8244-4129-2 Computer und andere komplexe technische Systeme breiten sich immer mehr und immer schneller in unserem Alltag aus. Die Psychologie bearbeitet die Mensch-Computer-Interaktion sowohl aus der Sicht der Nutzer (Subjektaspekt) als auch aus der Sicht der Ergonomie (Objektaspekt).
Simone Pribbenow RAumliche Konzepte in W"lS8ens- und Sprachverarbeitung Hybride Verarbeitung von Lokalisierung 1993. IX, 282 Seiten, 66 Abb., Broschur DM 72,ISBN 3-8244-2042-2 Das Thema dieses Buches ist "Sprache und Raum", konkreter die Untersuchung sprachlicher Lokalisierungsausdriicke. Die Analyse reicht von der linguistischen Theoriebildung bis bin zur Implementierung der Verarbeitung von Lokalisierungsausdriicken im LILOG-Prototyp.
Franco di Primio Hybride Wissensverarbeitung Am Beispiel von BABYLON 1993. IV, 296 Seiten, 17 Abb., Broschur DM 76,ISBN 3-8244-2039-2 Eine der grundlegenden Anforderungen ftir Systeme zur Repriisentation und Verarbeitung von Wissen ist die inkrementelle Veriinderbarkeit der Systerne selbst. In diesem Buch wird dargestellt, wie diese Anforderung erfilllt werden kann.
f[)'l1.\f7 DcutscherUnivc.·siHitsVcrlag---------. ~ GAOLER ·VIEWEG ·WESlDEUTSCHER VERLAG
SimoneRehm Komplexe ObJekte und Anfragen in der Programmierung Zur Integration von Datenbanken und Programmiersprachen 1993. VIII, 221 Seiten, 33 Abb., 12 Tab., Broschur DM 54,-ISBN 3-8244-2040-6 Komplexe Objekte baben sich bereits aIs besonders aussagekriiftiges Hilfsmittel bewiihrt. Dieses Buch zeigt, wie sie sich in einer stark typisierten . Programmiersprache verankem lassen. Auf diese Weise werden die Voraussetzungen geschafl'en ftir eine reibungslose Integration von Programmiersprachen und Datenbanken.
Harald SchOning Anfrageverarbeitung in KomplexobJekt-Datenbanksystemen 1993. XII, 243 Seiten, 111 Abb. und Tab., Broschur DM 72, ISBN 3-8244-2041-4 Das Buch untersucht die efliziente Verarbeitung von Operationen auf komplexen Objekten in Datenbanksystemen, wie sie zum Beispiel in Entwurfsanwendungen auftreten. Die Probleme der Optimierung in diesem Bereich sind bestimmt durch die N euartigkeit der Operationen und die Komplexitat der Daten (hoher Vemetzungsgrad).
Dirk Stelzer Sicherheitsstrategien in der Informationsverarbeitung Ein wissensbasiertes, objektorientiertes Beratungssystem ftir die Risikoanalyse 1993. XXIII, 378 Seiten, 45 Abb., Broschur DM 98, ISBN 3-8244-2038-4 Risikoanalysen sind ein notwendiger Bestandteil der Entwicklung von Strategien ftir die Sicherheit der Informationsverarbeitung. Mit Hilfe von Methoden und Techniken der Kunstlichen Intelligenz wird ein Beratungssystem zur Unterstutzung der Risikoanalyse entworfen.
Die Bilchererhalten Sie in Ihrer Buchhandlung! Unser Verlagsverzeichnis konnen Sie anfordem bei:
Deutscher Unive1'8itits-Verlag Postfach 30 09 44 61338 Leverkusen