Path: news.daimi.aau.dk!datpete From: datpete-nospam@daimi.aau.dk (Peter Andersen) Newsgroups: comp.lang.beta Subject: Re: beta activities at ECOOP'95 Date: 7 Jul 1995 07:16:53 GMT Organization: DAIMI, Computer Science Dept. at Aarhus University Lines: 464 Message-ID: <3tin15$e1n@belfort.daimi.aau.dk> References: <3th6up$47s@belfort.daimi.aau.dk> Reply-To: datpete@mjolner.dk (Peter Andersen) NNTP-Posting-Host: quercus.daimi.aau.dk Thus spoke Albertina Lourenci : >I have been having trouble in downloading files from WWW. It takes too >long even late at night and when I am successful the file appears in >code| So why don't you post the activities through usergroup? Others >may be having the same problem| As far as I know since I am an >"internaut" even people in the USA have trouble with downloading from >WWW| > Albertina Lourenci > doctoral student- Faculty of Architecture and Urbanism. University of >Sao Paulo- Sao Paulo- SP-Brazil OK, for people with corresponding problems, here comes a textual version. Sincerely, Peter Andersen _____________________________________________________________________________ Mjolner Informatics Aps Phone: (+45) 86 20 20 00 ext. 2753 Science Park Aarhus Direct: (+45) 86 20 20 11 - 2753 Gustav Wieds Vej 10 Fax: (+45) 86 20 12 22 DK-8000 Aarhus C, Denmark Email: peter.andersen@mjolner.dk _____________________________________________________________________________ BETA is better ----------------------------------------------------------------------------- ECOOP '95 Activities At ECOOP '95 there will be a number of activities pertaining to BETA: Tutorials Programming in BETA Papers Incremental Mature Garbage Collection Using the Train Algorithm Demonstrations DHM - Dexter-based object oriented hypermedia systems Distributed Object System in BETA Generating Object Diagrams through Reverse Engineering Exhibitions Mjolner BETA System Tutorial #15: Programming in BETA Wilfried Rupflin, Dortmund University E-mail: wr@polly.informatik.uni-dortmund.de Level Intermediate Duration Half day Time Tuesday, August 8, afternoon Description The objective of the tutorial is: To give a detailed description of the BETA programming language. To compare BETA with other object-oriented languages. To give an overview of the Mjolner BETA programming environment. To present the Mjolner BETA System approach to concurrency, distribution, persistence, object-oriented databases and GUI programming. The Mjolner BETA System provides a uniform and integrated approach to all aspects of object-orientation, including analysis, design, implementation, GUI frameworks, persistence, databases, concurrency and distribution. The core of this approach is the BETA language, but there is more to the Mjolner BETA System than just a language. Wilfried Rupflin has been working with object-oriented programming since 1975, starting with Simula. Wilfried has been working with program development and programming labs in several different object-oriented languages, mainly Simula, Eiffel and BETA. Previously, he was involved in porting & maintenance of various Simula systems. Now he is responsible for the BETA installation at DortmundUniversity (Dept of Comp. Sci.), where BETA is used as the primary language, starting from the introductory programming level. Paper Presentation: Incremental Mature Garbage Collection Using the Train Algorithm Jacob Seligmann & Steffen Grarup Computer Science Department, Aarhus University Ny Munkegade 116, DK-8000 Århus C, Denmark E-mail: {jacobse,grarup}@daimi.aau.dk Session Implementation Time Thursday, August 10, 15:30 Abstract We present an implementation of the Train Algorithm, an incremental collection scheme for reclamation of mature garbage in generation-based memory management systems. To the best of our knowledge, this is the first Train Algorithm implementation ever. Using the algorithm, the traditional mark-sweep garbage collector employed by the Mjolner run-time system for the object-oriented BETA programming language was replaced by a non-disruptive one, with only negligible time and storage overheads. Electronic Version The paper is available electronically in both HTML and PostScript form. Demonstration: DHM - Dexter-based object oriented hypermedia systems Kaj Gronbak & Lennert Sloth Computer Science Department Aarhus University Ny Munkegade 116, DK-8000 Århus C, Denmark E-mail: {kgronbak,les}@daimi.aau.dk Jacob Bardram Aarhus Kommunehospital DK-8000 Århus C, Denmark E-mail: bardram@daimi.aau.dk Time Wednesday, August 8th, 5.45 PM Place Auditorium D2 Demo Abstract The demo presents the DHM hypermedia system (Gronbak, Hem, Madsen, & Sloth, 1994; Gronbak & Trigg, 1994). DHM exists in several variants: a multi-user version for (Sun and HP) Unix, a single user version for Apple Macintosh, and a single user version for Windows/NT. The DHM system variants are developed from a platform independent object oriented framework. The framework is unique in that it supports construction of hypermedia systems which are compliant to the Dexter Hypertext Reference Model (Halasz & Schwartz, 1994). The DHM systems being demonstrated are research prototypes which have been tested in real-life pilot projects (Gronbak, Kyng, & Mogensen, 1993). The systems provide among others the following features: Cooperation support including long term transactions, flexible locking and awareness notifications based on augmented OODB technology. Sharing of hypermedia networks ('hypertexts' in Dexter terms) across hardware/OS platforms. Atomic components for media such as: text, graphics, video. Integration with third party applications such as Microsoft Excel on Macintosh. Span-to-span links for text components, object-to-object links for graphics components. Multiheaded (n-arity) links with bi- and uni-directional traversal. A variety of composites used for GuidedTours TableTops, browsers and collecting results from simple queries, see (Gronbak, 1994). Finally, the object oriented DHM framework provides generic classes for developing Dexter-based hypermedia systems, and it also supports tailoring systems already developed using the framework, see (Gronbak & Malhotra, 1994). References Halasz, F. and Schwartz, M., The Dexter Hypertext Reference Model. Communications of the ACM, 1994. 37(2): p. 30-39. Gronbak, K. and Trigg, R.H., Design issues for a Dexter-based hypermedia system. Communications of the ACM, 1994. 37(2): p. 40-49. Gronbak, K., Hem, J.A., Madsen, O.L., and Sloth, L., Cooperative Hypermedia Systems: A Dexter-Based Architecture. Communications of the ACM, 1994. 37(2): p. 64-75. Gronbak, K., Kyng, M., & Mogensen, P. (1993). CSCW Challenges: Cooperative Design in Engineering Projects. Communications of the ACM, 36(6), 67-77. Gronbak, K. and Malhotra, J. Building Tailorable Hypermedia Systems: The embedded-interpreter approach. In proceedings of the ACM conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA '94). Portland, Oregon, 23-27 October, 1994. Gronbak, K. Composites in a Dexter-Based Hypermedia Framework. To appear in proceedings of the ACM European Conference on Hypermedia Technology (ECHT '94) Edinburg, UK, September 18-23, 1994. Demonstration: Distributed Object System in BETA Soren Brandt & Rene Wenzel Schmidt Computer Science Department Aarhus University Ny Munkegade 116, DK-8000 Århus C, Denmark E-mail: {sbrandt,rws}@daimi.aau.dk Time Thursday, August 9th, 5.15 PM Place Auditorium D1 Demo Abstract (Not yet published) Demonstration: Generating Object Diagrams through Reverse Engineering Michael Christensen Computer Science Department Aarhus University Ny Munkegade 116, DK-8000 Århus C, Denmark E-mail: toby@daimi.aau.dk Time Thursday, August 9th, 5.15 PM Place Auditorium D1 Demo Abstract The demonstration will present a tool developed for automatic generation of object diagrams on the basis of programs written in an object-oriented programming language. The diagrams generated through this reverse engineering process aim to illustrate both static and especially dynamic relations between the objects of object-oriented programs. The graphical notation used in the object diagrams was especially designed to fulfil these aims. The tool is the result the masters thesis "Experimental Placement of Object Diagrams in Reverse Engineering Context" (translated from Danish), 1994 by Michael Christensen and Kim Jakobsen. Motivation The major part of todays object-oriented methods are based on the idea of building a model of some part of the real world in terms of classes and objects. Most of these methods are supported by some kind of CASE tool. The CASE tools can be used for creating and editing diagrams according to the graphical notation of the method. Furthermore some of these tools can be used to generate code skeletons in some object oriented language on the basis of class diagrams. Finally a growing part of the tools are to some extent capable of presenting class diagrams on the basis of program text. Although most of the methods also include notations for dynamic relations between objects, none of todays existing CASE tools are, to our knowledge, capable of performing reverse engineering on programs to present diagrams that illustrate such dynamic run time aspects as: what objects are dynamically created, what objects dynamically creates what other objects, what procedures are called and what objects are calling what procedures. With the growing importance of reverse engineering in object-oriented software engineering this motivated us to develop a tool that could illustrate these aspects of object-oriented programs. The Implementation To bring the object diagrams into a larger CASE tool context they where implemented as an extension of an already existing tool. The chosen CASE tool was the diagram editor Freja, [MIA 93-24], which is integrated with the textual structure editor Sif, [MIA 90-11], which in turn is an integrated part of the Mjolner BETA System, [Knudsen 94],[Madsen 93],[MIA 90-1]. As a consequence of this choice the programs that can be analysed by the developed tool are programs written in the BETA programming language, [Madsen 93]. In implementing the tool one major advantage was that the Mjolner BETA System is a grammar based system where programs are represented as abstract syntax trees (ASTs). These can be manipulated by the Mjolner BETA metaprogramming system, [MIA 91-14]. One of the experiences of implementing the tool in fact was that a powerful tool for manipulating programs (typically in the form of a metaprogramming system) is essential for doing such analysis of dynamic aspects of programs. The strategy chosen for the analysis was that no detailed flow analysis was to be performed, as this simply would result in a graphical syntax for what the program text already expressed. Instead the analysis was to result in diagrams displaying the overall creation and call structure of the program, as such diagrams are more likely to aid in the process of creating a general design of a system. Without such detailed flow analysis it becomes clear that the object diagrams can in no way predict what objects/procedures WILL in fact be created/called during a program execution. The strategy chosen instead was to analyse objects/procedures for creation/call statements thereby being able to create a picture of what possibly CAN happen in a given program. The Object Diagrams Of course displaying only dynamic aspects would give little meaning in the context of an object-oriented program. Therefore the static object structure is also reverse engineered into the diagrams and dynamically created objects and called procedures are shown in the context of the statically allocated objects. This resulted in the following notation: Static object structure is shown through simple nesting of objects inside one another. Procedures are shown nested inside objects to which they belong (that is the objects of whose classes the procedures are members). Procedure calls are shown by arrows pointing from the calling procedure/object to the called procedure. A Dynamic object is shown nested inside the object that it conceptually belong to (that is inside the object that is an instance of the class in which the class of the dynamic object is locally declared - classes declared locally to other classes is a special feature of the BETA programming language). Dynamic object creations are shown by arrows pointing from the creating procedure/object to the created object. Finally the notation also distinguishes active from passive objects. Of course the tool also implements a set of filters that can be utilised to single out certain aspects in the object diagrams. Future Work Interesting further developments on the tool are: Implementing code generation on the basis of object diagrams (including the dynamic aspects). Expanding the reverse engineering analysis to also include the overall structure of the sequence of procedure calls and object creations (like seen e.g in newer versions of Rumbaugh et al.'s OMT methodology and in the Fusion method). Including the flow of data (object) in the diagrams. Integrating object diagrams with a debugger (e.g. the Mjolner BETA debugger Valhalla, [MIA 92-12]) to have actual calls and creations of a program execution displayed. References [Knudsen 94] J. L. Knudsen, M. Loefgren, O. L. Madsen, B. Magnusson (eds.): 'Object-Oriented Environments - The Mjolner Approach', Prentice Hall, 1994, ISBN 0-13-00921-6. [Madsen 93] O. L. Madsen, B. Moller-Pedersen, K. Nygaard: 'Object- Oriented Programming in the BETA Programming Language', Addison-Wesley, 1993, ISBN 0-201-62430-3. [MIA 90-1] Mjolner Informatics: 'The Mjolner BETA System: - Overview', Mjolner Informatics Report MIA 90-1. [MIA 90-11] Mjolner Informatics: 'Sif A Hyper Structure Editor, Tutorial and Reference Manual', Mjolner Informatics Report MIA 90-11. [MIA 91-14] Mjolner Informatics: 'The Mjolner BETA System Metaprogramming System - Reference Manual', Mjolner Informatics Report MIA 91-14. [MIA 92-12] Mjolner Informatics: 'The Mjolner BETA System - The BETA Source-level Debugger - Users Guide', Mjolner Informatics Report MIA 92-12. [MIA 93-24] Mjolner Informatics: 'Freja - An Object-Oriented CASE Tool - Tutorial and Reference Manual', Mjolner Informatics Report MIA 93-24. Exhibition: The Mjolner BETA System Mjolner Informatics Science Park Århus Gustav Wieds Vej 10 DK-8000 Aarhus C, Denmark Mjolner Informatics invites you to visit the Mjolner BETA System Booth at ECOOP '95, where you can get a demo of the BETA programming language and the programming environment for BETA, the Mjolner BETA System. When: Wednesday, August 8th, 9:00 AM - 6:30 PM Thursday, August 9th, 9:00 AM - 6:15 PM Friday, August 10th, 9:00 AM - 4:00 PM Where: Computer Science Department Aarhus University Ny Munkegade 116, Bldg. 530. DK-8000 Aarhus C Denmark. Contact: Peter Andersen See you in Århus!