bdeug_2000.ppt 1 - rjl rev. 2k/05/03 bde is a block diagram editor written in c++ using x11/motif as...
TRANSCRIPT
bdeUG_2000.ppt 1 - RJL rev. 2k/05/03
• 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.)
Bde Bde OverviewOverview
bdeUG_2000.ppt 2 - RJL rev. 2k/05/03
How to Build BDEHow 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”.
bdeUG_2000.ppt 3 - RJL rev. 2k/05/03
How to Run BDEHow 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.
bdeUG_2000.ppt 4 - RJL rev. 2k/05/03
Bde File ProcesssingBde File Processsing
New
Open
Save
SaveAs
Exit
To see bde’s pop-up FILE menu, click the leftmost button in the top-row menu of bde’s main window.
FileFile Edit Edit Options
Object XMethodDrawingMenu
bde drawing canvas
window
(Only work - they belong on the ObjectXmethod menu)
Pop-upmenu:
bde status message display window
bdeUG_2000.ppt 5 - RJL rev. 2k/05/03
Bde File Menu - 1Bde File Menu - 1New/Open/PrintNew/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}.*
* Filename is the input file name, and HGid is the graph table identifier of the diagram currently displayed. PS and GIF formats are not available at present (2k0503) due to bugs in fprint.cc and a need to integrate $CASE/97s523/bde2gif/yuwong/bde into bde.
bdeUG_2000.ppt 6 - RJL rev. 2k/05/03
Bde File Menu - 2Bde File Menu - 2Save/SaveAs/ExitSave/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.
bdeUG_2000.ppt 7 - RJL rev. 2k/05/03
Bde’s O-O Drawing Menu Bde’s O-O Drawing Menu
Node
Link
Bendpoint
Text
Graph
Create
Move
Delete
Resize
Restyle
Restyle Sub-menu
Selected ‘Class’ is checked here
Selected Method is checked here
Restyle options depend on the selected class: (e.g., node shape, link pattern, or diagram type.)
• Class + Method determine the initial state for each canvas drawing operation.
• For each operation, select exactly one mouse-selected object which is highlighted. (Some operations like Delete require confirmation by a second click.)
• Bendpoint and Text operations require prior selection of a node, link or caption parent.
(These two Radio Button Sets appear to the left of bde’s drawing canvas. A new edit mode class or method can be selected anytime, in any order.)
bdeUG_2000.ppt 8 - RJL rev. 2k/05/03
Bde Node OperationsBde Node Operations
NODE 2NODE 1 NODE 3
• 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.
bdeUG_2000.ppt 9 - RJL rev. 2k/05/03
NODE 2NODE 1NODE 3
• Create a link by dragging the mouse from a source node to a destination node. (Link endpoints will be on node borders.)
• Delete a link by double-clicking on it (link text is deleted also)• Restyle arrow head/tail direction, width and pattern options on
each link segment (since 96su523/fjara project).• Use Reverse to cycle through arrow head/tail option
(to be merged with Restyle). • Use Restyle to select a non-default line pattern or width.• Set new default style from the Restyle menu
(to be merged with Reverse.)• Move does not apply to Links. See Bendpoint Move.
Bde Link OperationsBde Link Operations
bdeUG_2000.ppt 10 - RJL rev. 2k/05/03
Bde Bendpoint OperationsBde 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.)
State 1 Off
State 2Ready
State 3 On
State 4 Abort
HP1
Old HP2 = New HP3New HP2
bdeUG_2000.ppt 11 - RJL rev. 2k/05/03
BDE Text Operations - 1BDE Text Operations - 1
NODE 2NODE 1
NODE 3 Attrib1 Attrib2
• 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)
(A Second Graph caption box)Graph caption box line 1Graph caption box line 2
(1 HN-label+ 2 HA-rows)
(1 CG border +2 GX text-lines)
bdeUG_2000.ppt 12 - RJL rev. 2k/05/03
NODE 2NODE 1NODE 3 Attrib1 Attrib2 ****
After selecting the method and highlighting the parent :• Create a text item by typing into the Motif-style text widget.
• Move a text item after creation by dragging it (e.g. label2)
Successor lines move with the one dragged (e.g. Label3).• Delete a text item by clicking on it. (Are successors deleted?).• To add more text to a Node: change NodeAttribute on the
top-row Options Menu from HN to HA and repeat Create Text.• Add more text to a Link or a Graph Caption by repeating
Create Text and selecting the same parent object.
(Graph caption box)
Label1 Label2 Label3
BDE Text Operations - 2BDE Text Operations - 2
bdeUG_2000.ppt 13 - RJL rev. 2k/05/03
Bde Entity TypesBde Entity TypesFI Holds file path and date information (TBD)FO Holds font table info (X11, menu, PostScript)HG Identifies one diagram or GraphCG One Caption (block) of its parent HGGX One text line of its parent CGHN One Node (block) of its parent HGHA One text line of its parent HNHL One directed Link between two HN’sHI One link label of its parent HLHP One ‘bend’Point of its parent HLGD Graph Defaults - diagram drawing stylesXB 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.]
bdeUG_2000.ppt 14 - RJL rev. 2k/05/03
BDE Data Model BDE Data Model (96subde_schema.sch)(96subde_schema.sch)
HG
HN
HL
CG
GX HA HI
GD
HP
TT
TA
out
in(meta-schema)
TABLE TYPES USED IN BDE:*
HG Identifies one diagram or Graph
HN One Node (block) of its parent HG
HL One directed Link between two HNs
CG One Caption (block) of its parent HG
GX One text line of its parent CG
HA One text line of its parent HN
HI One link label of its parent HL
HP One ‘bend’Point of its parent HL
GD Graph Default drawing styles
FO Font table info (X11, PS, menu)
TT Table description meta-table
TA Attribute description meta-table
bdeUG_2000.ppt 15 - RJL rev. 2k/05/03
BDE Data Model (new schema)*BDE Data Model (new schema)*
FI
HG
HN
HL
CG
GX HA HI
GDSY
SV
XB
TK
HP
TT
TA
SD
*[SV,TT,TA from gen/ver_11; XB by cparisi[1]; SD,SY,TK by hhuang[2];
FI,GS,AV TBD.]
out
in
(genv9+ meta-schema)
(bdesym project)
New Table Types:FI = File infoSD = Symbol DictionaryXB = generic teXt BlockSY = SYmbolTK = ToKenSV = Schema VersionGS = Graph StyleAV = M:N Relation
GS-->AS>--TA
GS
AV[1] $CASE/96f523/bdecode/cparisi/bde][2] $CASE/97f522/toolProjects980927/bde2java/hhuang/bde]
bdeUG_2000.ppt 16 - RJL rev. 2k/05/03