RJLRef: $RBGB/bdestatusnotes080414.txt TBD: ralmonteSupport2bde.txt Update 080415: More TBD bugfixes : 1. Solve CTRL-C signal handling problem - After keypress 's' for replay stepping was introduced, the signal_handler() which saved current data to bdeabort.dat does not work for other signals including CTRL-a. bde/src/handler.cc has the earlier code. bde/src/bdeReplay.cc:709:void Keypress(..) handles later 's' char keycode for logfile replay used in the hominid path-following project. 2. Eliminate the logging of useless events (e.g. Event type 0, name notused) (e.g. Etype 6:Motion Notify when button is NOT Pressed.?) 3. First TBD - RJL: How get to SRN1BD from SRN after CAS at BD??? end update 080415 ------------------------------ Hello Robert. Sorry I never got back to you re: bde2java or bdeunix as open source project. You said you "saw some links to build BDE, Is this the latest version?" but did not identify what link or version. (Sorry I can't answer ambiguous questions.:-) However, for bdeunix, what you should do is cp -pr $RBGB yourbdenode then remove superfluous subnodes, but keep bde/{schema,lib,include,pr_util_*log,src,test} (whatever you want from test e.g. *.dat). $RBGB is my workspace and the ONLY uptodate version. If you first do cvs checkout to get CVS files there, the over-write from $RBGB will destroy your CVS subdirectories, unless you selectively avoid copying them. Then you might be able to produce the same cvs diff data as mine below. I had hoped to wrap up another bde/src checkin after fixing lots of geometry bugs. I cancelled 08s522 when I broke a collarbone on Jan 27. It is well-healed now, and I continued to (slowly) fix bde/src for unix. Bde2java was in better shape than bdeunix, as far as it was implemented (it worked reasonably except for text). Unfortunately it does not take advantage of the genjava sister of gencpp. to produce pr_util_*log as chgen does for bde. I don't know what components you are interested in. If bde2java, let me know and I'll do more research. bde2java would be easier to work on independently. It could serve as an alternate frontend 'PIModel' for code generators GEN and LCP for applications (e.g., bde). Since text is essential to link the models to data and method names in GEN and LCP, bde2java also needs updating but it would be easier to work on independently. It could then provide the GUI design front end to converters bde2sch (b2t+t2s), providing EERDs to pr_util code for genjava or chgen/gencpp, and bde2sm to provide STD tables to LCP. [Not without some extensions to adequately support inheritance however.] Incidentally I can get you access to the NX server which UML/CS licenses; the downloaded NX client is free, and layers RedHat Unix on top of WinXP. It is much faster than Hummingbird Exceed V9, and since Mercury is much faster than saturn/venus, I usually build and test the pr_util_nolog version on the i386-linux platform only, rebuilding on saturn (with cxx sometimes) only when I get stuck while debugging. It would be good to know if my bde[/*]/Imakefiles and the bde2java ones work on your Linux host also. See bde/xmkmf[no]log.csh. It would also be good if you want to learn how cvs at uml can support remote checkin/checkout to PCs or Linux. I don't have time for that. If I did, I would use Eclipse on WinXP to build bde natively, (perhaps with fox PI GUI) and access cvs remotely to track bde project sources. Getting back to the status of bdeunix: Below I show cvs diff bde/src | grepdiff to see what lines bug 'fixes' have changed since the last cvs checkins. Right now that's hundreds of lines in half of bde/src files, mostly. See grepdiff below. cvs history -T shows the last checkin tag below was 18 Jan 2008: (Some files were updated individually since then.) I like to cvs diff each file and summarize updates in checkin notes so I can track of change history. (Admittedly I don't use this history much later on- I also date my edited src lines with -RJL0804... . I hope you do the same.) ------------------ cvs history -T $RBGB T 2006-01-15 22:04 +0000 lechner bde [bde060114:A] T 2006-01-24 05:14 +0000 lechner bde [bde060123:A] T 2006-01-24 05:16 +0000 lechner bde [bde060123:A] T 2007-11-29 01:43 +0000 lechner bde [bdejuly2007:A] T 2008-01-18 22:57 +0000 lechner bde [bde18Jan2008:A] [mercury1](57) ------------------ From Jan thru March I made many changes to bde/src that are not checked in, and a few elsewhere. Problems in linking to extern "C" pr_* code and File/Load bugs there threw me off for weeks. I am partway thru removing pr_init functionality and the version# byte in pkeys. TBD eventually: replace it with a namespace byte to partition the ttype codes into separate domains to avoid ttype name clashes. Scaling problems affect bde geometry (e.g. node and caption move and resize) and I want to fix them first. I revised or rewrote some state action methods; these account for many diff lines. I began revisiting bde bugs tonight, for first time since Apr3. (Visitng relatives, a cold, and the IRS indelayed me.:-) I am working on geometry bugs again. Other problems in linking to extern "C" pr_* code threw me off for weeks. I am also experimenting with default methods to draw cyclic transitions(self-loops) and inheritance T-bar links from a button-down = source node to an external button-up point = a default circle or bar node outside of a destination node. (An ordinary [half-]link can complete the self-loop or link to subclass, depending on drawing type). I hope to have chgen auto-generate a copy constructor based on a schema-defined default row-instance for each entity type [e.g., for each of 3 diagram types in bde: EERD/class, state diagram, or event-communication OCD.] The ONLY extant up-to-date code base is my workspace is $RBGB below; $RBGB/*.csh files contain useful tools (prep.csh) abbrevs. I do not run chgen (since its 06f522 upgrades). $RBGB/pr_util_*log/savepr*files.csh save snapshots in dated subdirectories. These save my local changes that chgen has not yet been updated to regenerate. Saved pr_* directories are useful as a primitive version history, when debugging pr_files or extending chgen. Bde/src does not need this: cvs can save version history, since chgen is not applicable to and cannot mess up bde/src files. ----------- [mercury1](27)> echo $RBGB echo $RBGB /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde [mercury1](28)> ls $RBGB/*.csh ls $RBGB/*.csh /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/maketrace.csh /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/prep.csh /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/testarg1.csh/usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/xmkmflog.csh/usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/xmkmfnolog.csh ------------ My *ROOT vars to repositories are: grep ROOT ~/.login 183:# CVS constants - override default CVSROOT for other repositories - RJL 187:setenv DSGROOT '/usr/proj3/case/06f522/nsonawan/projectCVS' 188:setenv BDEROOT '/usr/proj3/case/95s523/95sbde/base/Master' 189:setenv B2HROOT '/usr/proj3/case/97s523/bde2ht1/bde2htm/base/Master' 190:setenv GENROOT '/usr/proj3/case/gen/base/Master' 191:setenv GENCPPROOT '/usr/proj3/case/gen/gencpp/base/Master' 192:setenv JPROOT '/usr/proj3/case/95s522/95solc/base/Master' 193:setenv CVSROOT $BDEROOT 194:echo 'CVSROOT = ' $CVSROOT 195:setenv JAVAROOT '/usr/proj3/case/96s523/bde2jav1/base/Master' 196:echo 'For bde2java: JAVAROOT:' $JAVAROOT You can use any files there but let me know if protections are accidentally too high. ---------- cvs status shows half of the 44 files in bde/src are modified; and cvs diff src has 5258 lines: ---------- [mercury1](64)> cvs status -l src|grep File:|wc cvs status -l src | grep File: | wc cvs status: Examining src 44 204 2213 [mercury1](65)> cvs status -l src | grep Modified | wc cvs status -l src | grep Modified | wc cvs status: Examining src 22 110 1162 [mercury1](66)> cvs diff src | wc cvs diff src | wc cvs diff: Diffing src cvs diff: cannot find src/initRXtScript.cc cvs diff: cannot find src/s_reader.cc 5258 24215 193949 [mercury1](67)> ---------- Most bugfixes have been in bde/src; another 600 diff lines (5859-5258) are in pr_util_nolog, lib, include and schema: ----------- [mercury1](51)> cvs diff $RBGB | & wc cvs diff $RBGB | & wc 5859 26857 217036 ----------------- cvsdiff $RBGB | grepdiff shows how many diff lines there are within each file: (compare adjacent lines) [mercury1](52)> alias grepdiff alias grepdiff grep '(^diff|^Only)' [mercury1](53)> cvs diff $RBGB | grepdiff cvs diff $RBGB | grepdiff cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde 5:diff -r1.38 Imakefile 12:diff -r1.3 configurenolog.h 22:diff -r1.14 prep.csh cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/doc cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/doc/idraw cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/executables cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/executables/alpha cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/executables/i386-linux cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/include 34:diff -r1.17 graph.h 126:diff -r1.10 prototype.h 135:diff -r1.11 state.h cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/lib cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/alpha cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/alpha/bin cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/alpha/obj cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/alpha/probj cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/i386-linux cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_log/i386-linux/probj cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_nolog 156:diff -r1.8 94sbde_schema.h 190:diff -r1.2 pr_accessors.c 274:diff -r1.14 pr_dump.c 296:diff -r1.8 pr_load.c cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_nolog/alpha cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_nolog/alpha/bin cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_nolog/alpha/obj cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/pr_util_nolog/alpha/probj cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/schema cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/schema/altSchemas cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/src 578:diff -r1.16 bdeReplay.cc 587:diff -r1.11 bendpt.cc 622:diff -r1.12 buttonevent.cc 745:diff -r1.12 captionops.cc 1762:diff -r1.6 cursor.cc 1771:diff -r1.11 dialog.cc 1790:diff -r1.13 display.cc 1866:diff -r1.12 draw.cc 1947:diff -r1.13 edit.cc 1979:diff -r1.46 fileio.cc 2660:diff -r1.5 font.cc 2701:diff -r1.24 fprint.cc 2710:diff -r1.30 graphobject.cc 3685:diff -r1.10 graphops.cc 3779:diff -r1.8 handler.cc 3793:diff -r1.21 init.cc cvs diff: cannot find /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/src/initRXtScript.cc 3944:diff -r1.9 leftmenu_cb.cc 4233:diff -r1.8 linkops.cc 4515:diff -r1.22 nodeops.cc cvs diff: cannot find /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/src/s_reader.cc 5372:diff -r1.6 select.cc 5412:diff -r1.12 smselect.cc 5802:diff -r1.18 textops.cc cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/symtxt cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/test cvs diff: Diffing /usr/cs/fac1/lechner/bde2alpha_rl/sandbox/bdeNT050526/bdegen13/bde/tools [mercury1](54)> ========================= > From ralmonte@cs.uml.edu Mon Apr 14 20:08:05 2008 > Subject: latest BDE code links.... > From: Robert Almonte > To: Bob Lechner > > Hi Prof. Lechner, > I was browsing you Web site this weekend and saw some links to > build BDE, Is this the latest version? > > I would like to build it on my Linux PC (Ubuntu), maybe I can help you > to debug some issues. > > Thanks, > Robert > RJLRef: $RBGB/bdestatusnotes080414.txt