BDE_UG_2000
Bde Overview
How to Build BDE
How to Run BDE
Bde File Processsing
Bde File Menu - 1
New/Open/Print
Bde File Menu - 2
Save/SaveAs/Exit
Bde’s O-O Drawing Menu

Bde Overview
Bde is a Block Diagram Editor written in C++ using X11/Motif as its GUI. Bde is built using imake, make and the gnu g++ compiler. Bde’s CVS repository: CVSROOT =  $CASE/95s523/95sbde/base/Master.
The purpose of bde is to capture the semantics of software design diagrams that support various CASE tools and track design changes.
The latest text version of a User Guide for bde is in $CVSROOT/bde/doc/bdeUserGuide.tex,v (which does not contain these diagrams.)

How to Build BDE
This procedure will check out and build the current version of bde (CVS tag bde2alpha_rv, for alpha platforms):
Type (or add to your .login):
“setenv CVSROOT /usr/proj3/case/95s523/95sbde/base/Master”
“setenv CXX g++  <RET>‘‘
To check out the bde tree (src, doc, etc.) from its CVS repository into your $CWD, type “cvs co -r bde2alpha_rv bde”.
To build Makefiles, type “cd bde; xmkmf -a”.
To compile and link bde, type “make -e”.

How to Run BDE
This shell script executes the current most stable version of bde:
  /usr/proj3/case/95s523/95sbde/bde/executables/bde
Type (or add to your .login)
“alias runbde ‘<above path>‘  <RET>‘‘
then type “runbde” each time you run bde.
Bde currently (Jan 2000) compiles on alpha workstations but not on DecStations or vax  platforms.
Bde has been ported to DEC/alpha machines (jupiter or cs) and partially re-implemented in Java.

Bde File Processsing
To see bde’s pop-up FILE menu, click the leftmost button in the top-row menu of bde’s main window.

Bde File Menu - 1
New/Open/Print
New opens a new unnamed file and its first graph or diagram. A text widget prompts for a graph title. (TBD: Better initial defaults.)
Open displays a File Selection table and prompts for a .dat file to open.* If successful,  it displays the Graph Table and prompts for a diagram to edit.  (TBD: Change default .dat file type to .bde.)
Print opens a menu with options to Print-Current- or Print-All- diagrams, or to save a PostScript or a gif version of the current diagram to a file named  <filename>_<HGid>.{ps or gif}.*

Bde File Menu - 2
Save/SaveAs/Exit
Save saves a named file, overwriting a previous file by that name. It will not save a new file without a name - use SaveAs for this.
SaveAs prompts for a name by which to save a file being edited. All diagrams in the file will be saved, whether changed or not.
Exit terminates the editor. (The user is prompted to Save the current file first.)
If bde crashes, the database is usually saved to a file called bdeabort.dat.

Bde’s O-O Drawing Menu
Node
Link
Bendpoint
Text
Graph
Create
Move
Delete
Resize
Restyle

Bde  Node Operations
To Create a node click at its desired center position. (Clicking means pressing mouse button 1 down then up  without  moving it.)
To Move a node, click to select and highlight it, then drag to new location. (Dragging means moving the mouse with mouse button 1 held down.)
Delete a node by double-clicking within its border. (Node Delete is not permitted until all attached links are deleted.)
Resize a node by clicking to highlight it then dragging to a new size. (After node resize, attached links retain their  bendpoints and  shape, and internal text remains left-justified.)
Restyle to select a non-default node shape from the Restyle submenu.

Bde Link Operations

Bde Bendpoint Operations
Bendpoints are points where links start or end, change direction or drawing style. For bendpoint operation, first select a link; this will highlight the link and its bendpoints, to avoid selecting the wrong type of object. Then:
Create a new successor  bendpoint by clicking on an existing one.
Move a bendpoint by dragging it. (Endpoints are not movable.)
Delete a bendpoint by clicking on it. (Endpoints are not deletable.)
(The first and last bendpoints (link ‘endpoints’) are  treated specially.)

BDE Text Operations - 1
To enter/append text, select a node, link, or graph caption box. This highlights the 'parent' object with which the text is associated and its class whose actions are specialized.  (To edit X11/Motif text, use arrow keys to position the cursor to the left and delete text to its right.)
All text is located relative to, and moves with, its associated object. If a line of text is dragged, its successors (in creation order) belonging to the same parent are dragged along.
Initial whitespace (indents) are not preserved.
Line edits after initial entry are not yet supported.             (One work-around is to Text-edit the saved *.dat file)

BDE Text Operations - 2

Bde Entity Types
FI Holds file path and date information (TBD)
FO Holds font table info  (X11, menu, PostScript)
HG Identifies one diagram or Graph
CG One Caption (block) of its parent HG
GX One text line of its parent CG
HN One Node (block) of its parent HG
HA One text line of its parent HN
HL One directed Link between two HN’s
HI One link label of its parent HL
HP One ‘bend’Point of its parent HL
GD Graph Defaults - diagram drawing styles
XB Text Block: SuperClass of GX and HA. (New schema) [New bde schema format in 96f523/bdecode/cparisi]. TBD: made HI a third subclass of XB [Ref: 96f523/bdecode/jsingh]
SY, TK: Symbol and ToKen tables (decomposition of XB text) [97f522/bde2java/hhuang/bde maintains XB-text =  SY and ToKen xRefs.]

BDE Data Model (96subde_schema.sch)

BDE Data Model (new schema)*