Notes
Slide Show
Outline
1
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


2
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.)
3
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”.
4
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.
5
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.
6
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}.*
7
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.
8
Bde’s O-O Drawing Menu
  • Node
  • Link
  • Bendpoint
  • Text
  • Graph


  • Create
  • Move
  • Delete
  • Resize
  • Restyle
9
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.
10
Bde Link Operations
11
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.)
12
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)
13
BDE Text Operations - 2
14
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.]
15
BDE Data Model (96subde_schema.sch)
16
BDE Data Model (new schema)*