COM 3360 messages From lieber@amber.ccs.neu.edu Thu Oct 1 15:50:13 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id PAA13870; Thu, 1 Oct 1998 15:50:12 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id PAA18874; Thu, 1 Oct 1998 15:50:12 -0400 (EDT) Date: Thu, 1 Oct 1998 15:50:12 -0400 (EDT) Message-Id: <199810011950.PAA18874@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu, grads@amber.ccs.neu.edu Subject: Lecture Notes COM 3360 For those of you interested in the latest of software design and implementation technology please come to the COM 3360 lecture tonight in 410 EL. The course home page is http://www.ccs.neu.edu/research/demeter/course/f98/f98.html The lecture notes are in http://www.ccs.neu.edu/research/demeter/course/f98/lectures/ in both PowerPoint and Adobe PDF format. -- Karl Lieberherr From lieber@amber.ccs.neu.edu Fri Oct 2 09:12:06 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id JAA17766; Fri, 2 Oct 1998 09:12:05 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id JAA22835; Fri, 2 Oct 1998 09:12:05 -0400 (EDT) Date: Fri, 2 Oct 1998 09:12:05 -0400 (EDT) Message-Id: <199810021312.JAA22835@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu Subject: course progress Cc: dstrom@amber.ccs.neu.edu, gengo@amber.ccs.neu.edu If you are on a business trip and miss class, the file below is updated after every lecture. Adaptive Object-Oriented Software Development Fall 1998 COM 3360/NTU SE737 Course Home Page: http://www.ccs.neu.edu/research/demeter/course/f98 This file: course-progress 1. Lecture Oct. 1: We covered lec1.ppt and started with the first pattern in PLAP.ppt (Structure-Shy Object) to page 21. 2. Lecture Oct. 8: From lieber@amber.ccs.neu.edu Fri Oct 2 16:09:02 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id QAA10471 for ; Fri, 2 Oct 1998 16:09:01 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id QAA24808 for com3360; Fri, 2 Oct 1998 16:09:01 -0400 (EDT) Date: Fri, 2 Oct 1998 16:09:01 -0400 (EDT) Message-Id: <199810022009.QAA24808@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu Subject: Please use a Sparc There are several systems-supported UltraSparcs running Solaris; the command "sparcs" on any CCS systems machine will list them (as "Sparc Ultra 1"). They're all named after stars. To run Demeter/Java at CCS, you must use an Ultra Sparc. You are advised to wait a few days until you run Demeter/Java. -- Karl L. From lieber@amber.ccs.neu.edu Sun Oct 4 12:49:08 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id MAA20074; Sun, 4 Oct 1998 12:49:08 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id MAA04437; Sun, 4 Oct 1998 12:49:07 -0400 (EDT) Date: Sun, 4 Oct 1998 12:49:07 -0400 (EDT) Message-Id: <199810041649.MAA04437@stockberg.ccs.neu.edu> To: lieber@ccs.neu.edu, talshiha@coe.neu.edu Subject: Re: About hw#1, COM 3360 Cc: com3360@amber.ccs.neu.edu, talshiha@splinter.coe.neu.edu Hi: >From talshiha@coe.neu.edu Sun Oct 4 00:34:28 1998 >Cc: talshiha@splinter.coe.neu.edu (Talal A. Alshihabi) > >Hi professor, > > 1- Are we required to submit any hardcopy for hw 1 or the electronic submission is enough?. electronic submission is preferred. Using Powerpoint for drawing the UML class diagram is a very good solution. I had some difficulty in distinguishing between inheritance edge arrows and directed association arrows. If you find a good way to mimic UML with PowerPoint I can use that approach also in my lecture notes. > 2- In some questions of this homework, we are asked to draw a class diagram using UML notation. Is drawing such a diagram on Microsoft Power Point is acceptable in this homework. > 3- I am really not familiar with "submitXXXX" command. As I understood, we are supposed to put the files that contain our answers to this homework in one directory with the possibility of having subdirectories. Then we run the command "submit3360" from this directory and we are all set. Is that correct?. And do we need to do any extra thing?. That is it. Take a look at: /proj/demsys/demjava/bin/submit3360 to find out more. > >Thanks in advance. > >Talal Al-Shihabi > > -- Karl From lieber@amber.ccs.neu.edu Sun Oct 4 22:19:26 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id WAA04606; Sun, 4 Oct 1998 22:19:25 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id WAA06607; Sun, 4 Oct 1998 22:19:25 -0400 (EDT) Date: Sun, 4 Oct 1998 22:19:25 -0400 (EDT) Message-Id: <199810050219.WAA06607@stockberg.ccs.neu.edu> To: com3360-grader@ccs.neu.edu, lieberherr@ccs.neu.edu, telliott@massmed.org Subject: Re: Questions on HW 1 Cc: com3360@amber.ccs.neu.edu >From telliott@massmed.org Sun Oct 4 17:45:51 1998 >From: Toby Elliott >Subject: Questions on HW 1 > >I have many questions about this assignment, so you'll probably hear from >me multiple times. Here's a few to begin with... > > >from A.1 (and applicable to the rest): > >Obviously, we need to draw a UML diagram for Tree and it's associated >classes. I also assume we do not have to do ones for the various visitor >classes, as these seem more an artifact of the Demeter process. However, The visitor classes are Java classes and belong into a UML class diagram. I agree with you that they are at a different level, coming from an application of the visitor design pattern (see hw 3). >what about Parser? It does not seem to be connected to Tree (other than >being called to generate a tree periodically), and seems to be entirely >separate from the code generated by the .beh and .cd files, so do we need >to generate a second UML diagram for it? > The parsing code is generated from .cd files. Why not learn about the high-level structural organization of an OO Parser and show the parsing related classes too? > >Can a class in a UML diagram have arrows that point directly to itself? I >found examples in the book in which a loop was generated, but never one >that pointed directly, as would be implied by a recursive class such as >this one. Selfloops are just fine in a UML class diagram. > >Also, in part A.4, it isn't clear to me what you are asking for. I >understand the grammar (I think), but am not sure what is meant by >'constructor notation'. Are you talking about "new Tree (2, new Tree(...), >new Tree (...))" to create a sort of pseudo diagram of the tree in >tree.input, or something else (such as an actual diagram of the created >tree)? You are right: new Tree (2, new Tree(...) ... You build the tree with Java constructors. > >Finally, what is the meaning of 'Tree() { super(); }' ? I can't find any >references to what super() might be elsewhere, but it keeps popping up. Is >it another artifact of Demeter code that we have not been introduced to yet? > Check with your favorite Java book. super is a pseudo variable and super() calls the constructor of thesuper class. >Thanks for your help, >Toby Elliott > > -- Karl From lieber@amber.ccs.neu.edu Sun Oct 4 22:24:04 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id WAA04691; Sun, 4 Oct 1998 22:24:04 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id WAA06644; Sun, 4 Oct 1998 22:24:03 -0400 (EDT) Date: Sun, 4 Oct 1998 22:24:03 -0400 (EDT) Message-Id: <199810050224.WAA06644@stockberg.ccs.neu.edu> To: SCODEB@saif.com, lieber@ccs.neu.edu Subject: Re: JavaCC Cc: com3360@amber.ccs.neu.edu This message tells you which version of JavaCC we use in this class: It is 0.7.1. We haven't tested 0.8pre yet. -- Karl >From SCODEB@saif.com Fri Oct 2 16:36:16 1998 >From: Scott Deboy >To: "'Karl Lieberherr'" >Subject: JavaCC > >Karl, > >This is an excerpt from Suntest's site: my question: should I upgrade or >stay on 0.7.1? > >Our latest release of JavaCC is Version 0.8pre2. This version was >released on September 4, 1998. Previously, we released Version 0.7.1 >of JavaCC in January 1998. In the interim, we have released 0.8pre1, >adding features early on and then focusing on bug fixes. Version >0.8pre2 fixes a few last minute bugs that were detected after releasing >0.8pre1. > >We offer both releases (0.7.1 and 0.8pre2) for download. However, we >will be discarding Version 0.7.1 a month or so after 0.8. So we strongly >recommend that you use (or move over to using) Version 0.8pre2. > >Since Version 0.7, we have added error recovery capabilities, improved >performance, released a coverage checker JavaScope that includes >grammar coverage metrics, and last but not least have significantly >improved JJTree, our tree building preprocessor. JJTree has now >become immensely popular and many of our users have started using >JJTree along with JavaCC. > >Thanks - Scott > > From lieber@amber.ccs.neu.edu Sun Oct 4 22:29:54 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id WAA04803 for ; Sun, 4 Oct 1998 22:29:53 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id WAA06672 for com3360; Sun, 4 Oct 1998 22:29:53 -0400 (EDT) Date: Sun, 4 Oct 1998 22:29:53 -0400 (EDT) Message-Id: <199810050229.WAA06672@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu Subject: material on AOP Below is material on AOP which will appear later in an Addison-Wesley book. -- Karl >Date: Mon, 14 Sep 1998 07:30:22 -0400 >From: Krzysztof Czarnecki >Subject: Material available on the Web >Sender: Krzysztof Czarnecki > >A survey of work on Aspect-Oriented Programming is posted at >http://nero.prakinf.tu-ilmenau.de/~czarn/aop > >Best regards, > >Krzysztof Czarnecki > From lieber@amber.ccs.neu.edu Sun Oct 4 22:54:28 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id WAA05404 for ; Sun, 4 Oct 1998 22:54:28 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id WAA06811 for com3360; Sun, 4 Oct 1998 22:54:27 -0400 (EDT) Date: Sun, 4 Oct 1998 22:54:27 -0400 (EDT) Message-Id: <199810050254.WAA06811@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu Subject: Java version we use >From dougo@ccs.neu.edu Sun Oct 4 15:07:27 1998 > In COM3360 we are using JDK 1.1.5. If you use your own computer, make sure you have it. On CCS machines you get the JDK 1.1.5 Java compiler when you run /arch/com/bin/java; put that directory (/arch/com/bin/) in your PATH before /bin. -- Karl L. From dougo@amber.ccs.neu.edu Mon Oct 5 00:39:28 1998 Return-Path: Received: from vega.ccs.neu.edu (dougo@vega.ccs.neu.edu [129.10.116.206]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id AAA08225; Mon, 5 Oct 1998 00:39:28 -0400 (EDT) Received: (from dougo@localhost) by vega.ccs.neu.edu (8.8.6/8.8.6) id AAA05086; Mon, 5 Oct 1998 00:39:27 -0400 (EDT) From: Doug Orleans Date: Mon, 5 Oct 1998 00:39:26 -0400 (EDT) To: Karl Lieberherr Cc: com3360@ccs.neu.edu Subject: Re: Java version we use In-Reply-To: <199810050254.WAA06811@stockberg.ccs.neu.edu> References: <199810050254.WAA06811@stockberg.ccs.neu.edu> X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <13848.19787.274486.997188@vega.ccs.neu.edu> X-Face: (4D-osoq?}7M3\EgvbWKo In COM3360 we are using JDK 1.1.5. If you use your own computer, > make sure you have it. Or any later version. (1.1.4 seems okay too; that's what's on the DEC Alpha machines here.) The current version from Sun is 1.1.7. --Doug From lieber@amber.ccs.neu.edu Mon Oct 5 09:57:13 1998 Return-Path: Received: from stockberg.ccs.neu.edu (lieber@stockberg.ccs.neu.edu [129.10.116.114]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id JAA21151 for ; Mon, 5 Oct 1998 09:57:12 -0400 (EDT) From: Karl Lieberherr Received: (from lieber@localhost) by stockberg.ccs.neu.edu (8.8.6/8.8.6) id JAA09400 for com3360; Mon, 5 Oct 1998 09:57:12 -0400 (EDT) Date: Mon, 5 Oct 1998 09:57:12 -0400 (EDT) Message-Id: <199810051357.JAA09400@stockberg.ccs.neu.edu> To: com3360@amber.ccs.neu.edu Subject: table of contents The file http://www.ccs.neu.edu/research/demeter/DemeterJava/quick-help/TABLE-OF-CONTENTS.txt is useful for hw 1. It is enclosed. -- Karl L. Table of contents for Demeter/Java directories ============================================== program.prj The Demeter/Java project file. The nerve center for your project. // NOTE: This file may contain path names or other platform-dependent // information. You may need to edit them when moving from one // platform to another. Warning: may be modified by you. Used for generation and compilation. For example, defines CDFILE, the file containing the class dictionary. It has a filename of the form *.cd The important program files are of the form *.cd and *.beh and *.cool and *.ridl. Brief explanation of the files which are Demeter/Java generated, usually in directory gen. ASCII_UCodeESC_CharStream.java For parsing with Java Compiler Compiler (JavaCC). Java(TM) Compiler Compiler(TM) ParseError.java For parsing with JavaCC. Parser.java The output from JavaCC. ParserConstants.java For parsing with JavaCC. ParserTokenManager.java For parsing with JavaCC. Output from JavaCC. Token.java For parsing with JavaCC. grammar.jj The input to JavaCC. Generated from class dictionary. CopyVisitor.beh CopyVisitor.java To copy objects. DisplayVisitor.beh DisplayVisitor.java To display objects. EqualVisitor.beh EqualVisitor.java To compare objects. PrintVisitor.beh PrintVisitor.java To print objects. TraceVisitor.beh TraceVisitor.java To trace objects. UniversalVisitor.beh UniversalVisitor.java Super class of visitor classes generated from CDFILE. *.xcd The cd extended with generated visitor classes. Y.java Class for a class Y defined in CDFILE The Java class definitions corresponding to CDFILE and *.beh. Y.class Compiled class Y. __Subtraversal.java For implementing around methods. __V* Generated visitor classes for inlined visitors. *.trv Those files are useful to check whether your traversal strategies do the correct traversals. Each calculated traversal graph is printed to a file in the output dircetory ("gen" by default) with a name of the form _.trv where is the name of the traversal method and is the name of the source of the traversal, i.e. the class that the traversal method is attached to. Note that will be of the form __trav_ for inline adaptive methods. The traversal graph is in the form of a subset of the class graph; the token set info is not displayed. Therefore, the *.trv file gives only an overview over the path set defined by some strategy graph and it does not give all the details. But in many situations the subset of the class graph is a faithful representation of the path set. *.wvr Those are files used by the aspect weaver. checksums For change control. Ignore. JavaCC is SUN's parser generator: www.suntest.com/JavaCC/