DigART DIGITAL CIRCUIT SIMULATOR PROJECT Initial Software ... · Controlled Folder: A4 TBD 1 ....
Transcript of DigART DIGITAL CIRCUIT SIMULATOR PROJECT Initial Software ... · Controlled Folder: A4 TBD 1 ....
REVISION
REV DESCRIPTION DATE
1.1 Initial Revision 04.12.2005
DigART
DIGITAL CIRCUIT SIMULATOR PROJECT
Initial Software Design Description Report
Number of Pages
Doc Appendixes
A B C D E F G H 50
– – – – – – – –
STARSOFT Middle East Technical University 06531 ODTÜ, Ankara-TÜRKIYE
Controlled Folder: TBD A4 1
DigART SDD Report DA010 1.1
2
PREPARED BY NAME TITLE/ROLE REV SIGNATURE
Elif SAYGI Quality Engineer 1.1 Halit DEVELIOGLU Project Manager 1.1 Serhat KOYULMUS Software Developer 1.1 Seniz SOZER Configuration Manager 1.1 Volkan ICEL Software Developer 1.1
CONTRIBUTIONS NAME TITLE/ROLE REV SIGNATURE
Serkan BAL Advisor 1.1
CHECKED BY NAME TITLE/ROLE REV SIGNATURE
Serkan BAL Advisor 1.1 Elif SAYGI Quality Engineer 1.1 Volkan ICEL Software Developer 1.1
DigART SDD Report DA010 1.1
3
TABLE OF CONTENTS
Paragraph No Page
1. SYSTEM OVERVIEW .............................................................................................................................. 4 2. DIGART WIDE DESIGN DECISIONS ................................................................................................... 4 3. DIGART ARCHITECTURAL DESIGN.................................................................................................. 4
3.1. DIGART LAYERS..............................................................................................................................................4 3.1.1. PRESENTATION LAYER ....................................................................................................................5
3.1.1.1. GUI COMPONENT......................................................................................................................... 5 3.1.2. DOMAIN LAYER................................................................................................................................12
3.1.2.1. CIRCUIT ENGINE COMPONENT .............................................................................................. 12 3.1.2.2. SIMULATION COMPONENT ..................................................................................................... 29 3.1.2.3. SCRIPT COMPONENT ................................................................................................................ 33 3.1.2.4. FILE COMPONENT ..................................................................................................................... 37 3.1.2.5. HELP COMPONENT.................................................................................................................... 40 3.1.2.6. CUSTOM CIRCUIT ELEMENT COMPONENT......................................................................... 42
3.1.3. SERVICE LAYER ...............................................................................................................................43 3.2. COMPONENT LEVEL SEQUENCE DIAGAMS ...........................................................................................43
3.2.1. COMPONENT LEVEL SEQUENCE DIAGRAM FOR FILE OPENING..........................................43 3.2.2. COMPONENT LEVEL SEQUENCE DIAGRAM FOR SIMULATE OPERATION.........................44 3.2.3. COMPONENT LEVEL SEQUENCE DIAGRAM FOR SCRIPT OPERATION................................45 3.2.4. COMPONENT LEVEL SEQUENCE DIAGRAM FOR FILE SAVING ............................................46
4. TRACEABILITY...................................................................................................................................... 47
DigART SDD Report DA010 1.1
4
1. SYSTEM OVERVIEW
Please refer to the DigART Software Requirements Analysis Report for the system overview.
2. DIGART WIDE DESIGN DECISIONS DigART will be developed using JAVA programming language in NetBeans under Windows. A layered architecture will be applied for the DigART. Layer definitions and the components of these layers are given in Section 3. The main benefit to apply a layered architecture in DigART is to make easy to develop the project within components individually. The other benefit is the reusability of the layers and the components that can be used in other projects. Another benefit is the exchangeability that individual layer implementation can be replaced by semantically equivalent implementations without great efforts. Keeping the dependencies local is another advantage of this architecture. Standardizing the interfaces between layers usually confines the effect of code changes to the layer that is changed.
3. DIGART ARCHITECTURAL DESIGN
3.1. DIGART LAYERS
DigART software consists of the three layers; Presentation Layer, Domain Layer and Service Layer as shown in the Figure 1. Each layer contains components which are shown in Figure 1. The arrows between the components show the interactions between components. The capabilities of each component will be described in detail in the sections 3.1.1 , 3.1.2 and 3.1.3. Some of the interactions between components will be specified with sequence diagrammes in section 4.
pd DigARTComponents
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
Domain Layer
Service Layer
Presentation Layer
ScriptCircuitEngine
Simulation
GUI
FileOperations
Help
CustomCircuitCreation
JHDL
Figure 1
DigART SDD Report DA010 1.1
5
3.1.1. PRESENTATION LAYER
3.1.1.1. GUI COMPONENT This component provides an interface to user with menus and toolbars to use the program easly and reach the other components to make the users demands. In other words it establishes links between users actions and other components.
3.1.1.1.1. Detailed Class Description
cd ClassEA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
MainProgram
+ EasyAccessBar: EasyAccesToolbar+ MainMenu: JavaClassMenu+ MainToolbar: JavaClassToolbar
+ CloseGlowMode() : void+ CloseSimulationMode() : void+ CompileScript() : void+ CopySelectetItems() : void+ CutSelectedItems() : void+ DeleteAllItems() : void+ DeleteCustomCircuit() : void+ DeleteSelectetItems() : void+ ExportFile() : void+ ImportFile() : void+ InsertItem() : void+ ModifySelectedItem() : void+ OnKeyPressed(char) : void+ OpenFile() : void+ OpenGlowMode() : void+ OpenHelp() : void+ OpenNewCircuit() : void+ OpenSimulationMode() : void+ Pan(int) : void+ PasteSelectetItems() : void+ Redo() : void+ RotateItem() : void+ RunScript() : void+ SaveAsFile() : void+ SaveAsImage() : void+ SaveFile() : void+ SaveScript() : void+ Undo() : void+ ZoomIn() : void+ ZoomOut() : void+ ZoomOverview() : void
MessageBox
+ ShowErrorBox(string) : void+ ShowInformationBox(string) : void+ ShowQuestionBox(string) : void+ ShowWarningBox(string) : void
JavaClassMenu
JavaClassToolbar
EasyAccesToolbar
- Easytoolbar: JavaClassToolbar
+ AddItem(int) : void- FillList() : void+ MoveDown(int) : void+ MoveUpItem(int) : void+ RemoveItem(int) : void- SaveList() : void+ ShowCustomizeToolbarWindow() : void
DigART SDD Report DA010 1.1
6
3.1.1.1.1.1. EasyAccessToolbar Class This class provides the user to use and manages his/her favorites elements easly.
Connections
Connector Source Target Notes
Aggregation
source > target
MessageBox
unordered
EasyAccessToolbar
unordered
Aggregation
source > target
JavaClassToolbar
unordered
EasyAccessToolbar
unordered
Attributes
Attribute Type Notes
Easytoolbar private :JavaClassToolbar
Contains list of elements on the Easy Access Bar
Methods
Method Type Notes
AddItem (int) public: void param: item [ int - in ]
This method add selected items from all items list to easy access tollbar.
FillList () private: void Fill the list with of all elements of the digital circuit sumulator including custom circuit elements.
MoveDown (int) public: void param: item [ int - in ]
This method moves down selected items on easy access tollbar
MoveUpItem (int) public: void param: item [ int - in ]
This method moves up selected items on easy access tollbar.
DigART SDD Report DA010 1.1
7
RemoveItem (int) public: void param: item [ int - in ]
This method Removes selected items from easy access tollbar.
SaveList () private: void This method saves the current easy access toolbar items.
ShowCustomizeToolbarWindow () public: void This methods shows a window that contains list of all elements of the digital circuit sumulator and list of elements of easy access toolbar with seperated listbox.User can add, delete or move an item on the easy access toolbar.
3.1.1.1.1.2. MainProgram Class This class is the main class of the simulator. It provides the user some menus and toolbars and executes users actions on them It uses some methodes, reacing other compenents.
Connections
Connector Source Target Notes
Aggregation
source > target
JavaClassMenu
unordered
MainProgram
unordered
Aggregation
source > target
MessageBox
unordered
MainProgram
unordered
Aggregation
source > target
JavaClassToolbar
unordered
MainProgram
unordered
Attributes
Attribute Type Notes
EasyAccessBar public :EasyAccessToolbar
This bar contains favorite elements to access them easly.
MainMenu public :JavaClassMenu
It contains submenu items such as FileMenu, EditMenu, ViewMenu, SimulationMenu, ScriptMenu and HelpMenu.
DigART SDD Report DA010 1.1
8
Methods of these submenus call relevat functions from our other components.
MainToolbar public :JavaClassToolbar
Clicking on a button from this toolbar calls a function of relevant menu items function with reponsible the same mission.
Methods
Method Type Notes
CloseGlowMode () public: void This method selects the mode of the program to "Glow Mode OFF".
CloseSimulationMode () public: void This method selects the mode of the program to "Simulation Mode OFF".
CompileScript () public: void This method Compiles the written script, if an error occurs this showed with an ErrorBox.
CopySelectetItems () public: void This method copies the selected items on the current circuit
CutSelectedItems () public: void This method cuts the selected items on the current circuit
DeleteAllItems () public: void This method deletes the all items on the current circuit
DeleteCustomCircuit () public: void This method deletes selected custom circuit elements files.
DeleteSelectetItems () public: void This method deletes the selected items on the current circuit
ExportFile () public: void This method opens a dialogbox for exporting the current circuit into DIGLOG file format "lgf".
ImportFile () public: void This method opens a dialogbox for importing a DIGLOG file "lgf".
InsertItem () public: void This method inserts an item selected by the user in to circuit.
ModifySelectedItem () public: void This method modifies the properties of selected item on the current circuit, if there is adjustable properties.
OnKeyPressed (char) public: void param: Key [ char - in ] Pressed key value
This method Decides an operation with respect to the pressed key if it required.Note : This is different from shortcuts of menu or toolbars elements.
OpenFile () public: void This method opens a dialogbox for load a file.
DigART SDD Report DA010 1.1
9
OpenGlowMode () public: void This method selects the mode of the program to "Glow Mode ON".
OpenHelp () public: void This method opens the help window.
OpenNewCircuit () public: void This method closes the current circuits and opens a blank circuit.
OpenSimulationMode () public: void This method selects the mode of the program to "Simulation Mode ON".
Pan (int) public: void param: Direction [ int - in ] An integer value indicates direction of pan operation.
This method changes view of point on the current circuit display.
PasteSelectetItems () public: void This method pastes the copied items on the current circuit.
Redo () public: void This method makes redo
RotateItem () public: void This method rotates the selected item on the current circuit if it is possible.
RunScript () public: void This method runs the compiled circuit script file.
SaveAsFile () public: void This method opens a dialogbox for save the current circuit into a file.
SaveAsImage () public: void This method opens a dialogbox for save the current circuit as an image file.
SaveFile () public: void This method saves the current file, if it is not saved yet it opens a dialogbox ffor save the current circuit into a file.
SaveScript () public: void This method saves the written script.
Undo () public: void This method makes undo for last action in the undo lists.
ZoomIn () public: void This method makes zoom-in on the canvas.
ZoomOut () public: void This method makes zoom-out on the canvas.
ZoomOverview () public: void This method makes zoom-overview on the canvas.
DigART SDD Report DA010 1.1
10
3.1.1.1.1.3. MessageBox Class This class provides four methodes to show a messagebox on the screen.
Connections
Connector Source Target Notes
Aggregation
source > target
MessageBox
unordered
MainProgram
unordered
Aggregation
source > target
MessageBox
unordered
EasyAccessToolbar
unordered
Methods
Method Type Notes
ShowErrorBox (string) public: void param: Message [ string - in ]
Shows an error box with given message
ShowInformationBox (string) public: void param: Message [ string - in ]
Shows a information box with given message
ShowQuestionBox (string) public: void param: Message [ string - in ]
Shows a question box with given message
ShowWarningBox (string) public: void param: Message [ string - in ]
Shows a warning box with given message
DigART SDD Report DA010 1.1
11
3.1.1.1.2. Sequence Diagrams
3.1.1.1.2.1. Sequence Diagram For Using Easy Access Toolbar Menu
sd SequenceUnregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
Unregistered Trial Version EA 5.0 Unregistered Trial Version
User
:MainProgram :EasyAccesToolbar
ShowCustomizeToolbarWindow()
FillList()
AddItem(item)
RemoveItem(item)
MoveDown(item)
MoveUpItem(item)
SaveList()
DigART SDD Report DA010 1.1
12
3.1.2. DOMAIN LAYER
3.1.2.1. CIRCUIT ENGINE COMPONENT Circuit Engine component is composed of 6 classes. It is the main component of the DigART project because all the operations on the drawing canvas and creating a data structure for holding the items on the canvas are handled by Circuit Engine component.
The classes and capabilities are described in detail in sections 3.1.2.1.1. and 3.1.2.1.2.
3.1.2.1.1. Detailed Class Description
cd CommonDataWire
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version
CommonDataWire
- Value: short- p2x: int- p2y: int- LeftItemID: int- LeftItemType: enum- RightItemID: int- RightItemType: enum
+ GetValue() : short+ GetP2X() : int+ GetP2Y() : int+ GetLeftItemID() : short+ GetLeftItemType() : enum+ GetRightItemID() : short+ GetRightItemType() : enum
CommonDataItem
- Rotation: short- Color: Color
+ GetRotation() : short+ GetColor() : Color+ SetRotation(short) : void+ SetColor(Color) : void
DrawingPanel
+ MouseMode: enum- ItemToDraw: Item
+ DrawItems() : void+ ChangeBackgroundColor(int, int, int) : void+ SelectItem(int, int) : void+ MousePressed(int, int) : void+ MouseMove(int, int) : void+ MouseReleased(int, int) : void+ SetItemToDraw(enum) : void+ DeleteSelectedItem() : void+ RotateSelectedItem(short) : void+ MoveSelectedItem() : void+ CutSelectedItem() : void+ CopySelectedItem() : void+ PasteSelectedItem() : void+ ClearScreen() : void
Items
+ «vector» CommonDataItemList: CommonDataItem+ «vector» CommonDataWireList: CommonDataWire- SelectedtIem: Item
+ InsertItem(CommonDataWire) : void+ DeleteItem(short) : void+ InsertItem(CommonDataItem) : void+ GetItem(short) : CommonDataItem+ GetItem(short) : CommonDataWire+ DrawListItems() : void+ SearchItem(int, int) : short+ CutItem(short) : CommonDataItem+ CopyItem(short) : CommonDataItem+ PasteItem(int, int) : void+ RotateItem(short) : void+ MoveItem(int, int) : void+ CutItem(short) : CommonDataWire+ CopyItem(short) : CommonDataWire+ GetItemList() : vector+ GetWireList() : vector+ DrawListItemsFromFile(Items) : void+ SetItemList() : void
Item
- ItemID: short- ItemType: enum- p1x: int- p1y: int
+ GetItemType() : enum+ GetItemID() : short+ GetP1X() : int+ GetP1Y() : int+ SetItemID(short) : void+ SetItemType(enum) : void+ SetP1X(int) : void+ SetP1Y(int) : void
«Java Class»JPanel
Viewport
+ ZoomFactor: float+ PanFactor: float
+ ZoomIn() : void+ ZoomOut() : void+ PanRight() : void+ PanUp() : void+ PanLeft() : void+ PanDown() : void+ PanToCenter() : void+ ZoomOverview() : void
1 0..*
10..*
1 1
1 0..1
1
0..1
DigART SDD Report DA010 1.1
13
3.1.2.1.1.1. Item Class Item class is the base class of ComonDataWire class and CommonDataItem class.It holds the common attributes of them. These three classes are used in order to keep our common data structure between the components holding all the information about circuit items on the canvas.
Connections
Connector Source Target Notes
Association
Unspecified
Public
Items
Public
CommonDataWire
Association
Unspecified
Public
Items
Public
CommonDataItem
Association
Unspecified
Public
DrawingPanel
Public
Items
Attributes
Attribute Notes Constraints and tags
CommonDataItemList CommonDataItem
Public vector
This vector holds the instances of the class CommonDataItem.
Default:
CommonDataWireList CommonDataWire
Public vector
This vector holds the instances of the class CommonDataWire.
Default:
SelectedtIem Item
Private
This attribute holds the selected item object. Default:
Operations
Method Notes Parameters
InsertItem() void
Public
This function inserts the CommonDataWire object to the CommonDataWireList.
CommonDataWire wire
[in]
DeleteItem() void
Public
This fuction deletes the specified item with ID from CommonDataItemList and CommonDataWireList.
short id
[in]
DigART SDD Report DA010 1.1
14
Method Notes Parameters
InsertItem() void
Public
This function inserts the CommonDataItem object to the CommonDataItemList.
CommonDataItem item
[in]
GetItem() CommonDataItem
Public
This function returns a CommonDataItem object required by the ID.
short id
[in]
GetItem() CommonDataWire
Public
This function returns a CommonDataWire object required by the ID.
short id
[in]
DrawListItems() void
Public
This function draws the items in CommonDataItemList and CommonDataWireList to the canvas.
SearchItem() short
Public
This function searches the CommonDataItemList and CommonDataWireList vectors in order to find the ID of the item from the mouse click coordinates.
int x
[in]
int y
[in]
CutItem() CommonDataItem
Public
This fuction cuts the item specified with ID from the CommonDataItemList.
short id
[in]
CopyItem() CommonDataItem
Public
This fuction copies the item specified with ID from the CommonDataItemList.
short id
[in]
PasteItem() void
Public
This function inserts the selected item the both Lists.
int x
[in]
int y
[in]
DigART SDD Report DA010 1.1
15
Method Notes Parameters
RotateItem() void
Public
This function sets the rotation value of the selected item to the both Lists.
short direction
[in]
MoveItem() void
Public
This function sets the new corrdinate values of the selected item to the both Lists.
int x
[in]
int y
[in]
CutItem() CommonDataWire
Public
This fuction cuts the item specified with ID from the CommonDataWireList.
short ID
[in]
CopyItem() CommonDataWire
Public
This fuction copies the item specified with ID from the CommonDataWireList.
short ID
[in]
GetItemList() vector
Public
This function returns the CommonDataItemList vector.
GetWireList() vector
Public
This function returns the CommonDataWireList vector.
DrawListItemsFromFile() void
Public
This function reads the new data structure with object Item coming from the File component and draws them.
Items FromFile
[in]
SetItemList() void
Public
This function reads the values of the wires coming from the Simulation component and sets the wires' logical values.
DigART SDD Report DA010 1.1
16
3.1.2.1.1.2. CommonDataItem Class This class inherits Item class. It holds some extra attributes in addition to Item class attributes.
Connections
Connector Source Target Notes
Generalization
Source -> Destination
Public
CommonDataItem
Public
Item
Association
Unspecified
Public
Items
Public
CommonDataItem
Association
Unspecified
Public
DrawingPanel
Public
CommonDataItem
Attributes
Attribute Notes Constraints and tags
Rotation short
Private
This attribute holds the direction of the circuit element. 1 for west, 2 for north,3 for east, 4 for south.
Default:
Color Color
Private
This attribute holds the color value of the circuit item.
Default:
Operations
Method Notes Parameters
GetRotation() short
Public
Returns the value of Rotation.
GetColor() Color
Public
Returns the value of Color.
SetRotation() void
Public
Sets the new value of Rotation.
short direction
[in]
SetColor() void
Public
Sets the new value of Color.
Color clr
[in]
DigART SDD Report DA010 1.1
17
3.1.2.1.1.3. CommonDataWire Class This class inherits Item class. It holds some extra attributes in addition to Item class attributes.
Connections
Connector Source Target Notes
Association
Unspecified
Public
Items
Public
CommonDataWire
Association
Unspecified
Public
DrawingPanel
Public
CommonDataWire
Generalization
Source -> Destination
Public
CommonDataWire
Public
Item
Attributes
Attribute Notes Constraints and tags
Value short
Private
This atribute holds the logical value of the wire. Default:
p2x int
Private
This attribute holds the x coordinate of the ending point of the wire.
Default:
p2y int
Private
This attribute holds the y coordinate of the ending point of the wire.
Default:
LeftItemID int
Private
This attribute holds the LeftItemID of the wire. Default:
LeftItemType enum
Private
This attribute holds the LeftItemType of the wire.
Default:
RightItemID int
Private
This attribute holds the RightItemID of the wire.
Default:
RightItemType enum
Private
This attribute holds the RightItemType of the wire.
Default:
DigART SDD Report DA010 1.1
18
Operations
Method Notes Parameters
GetValue() short
Public
Returns the logical value of the wire.
GetP2X() int
Public
Returns the x coordinate of end point of the wire.
GetP2Y() int
Public
Returns the y coordinate of end point of the wire.
GetLeftItemID() short
Public
Returns the ID of the item which is conected left of the wire.
GetLeftItemType() enum
Public
Returns the Tyoe of the item which is conected left of the wire.
GetRightItemID() short
Public
Returns the ID of the item which is conected right of the wire.
GetRightItemType() enum
Public
Returns the type value of the item which is conected right of the wire.
3.1.2.1.1.4. Items Class This class holds the common data structure of the whole DigART project. It constructs the data structure for holding all the items on the canvas in our project and handles all the operations on the canvas and applies to data structure. It responses and requests to other components using this common data structure.
Connections
Connector Source Target Notes
Association
Unspecified
Public
Items
Public
CommonDataWire
Association
Unspecified
Public
Items
Public
CommonDataItem
Association
Unspecified
Public
DrawingPanel
Public
Items
Attributes
Attribute Notes Constraints and tags
DigART SDD Report DA010 1.1
19
Attribute Notes Constraints and tags
CommonDataItemList CommonDataItem
Public vector
This vector holds the instances of the class CommonDataItem.
Default:
CommonDataWireList CommonDataWire
Public vector
This vector holds the instances of the class CommonDataWire.
Default:
SelectedtIem Item
Private
This attribute holds the selected item object. Default:
Operations
Method Notes Parameters
InsertItem() void
Public
This function inserts the CommonDataWire object to the CommonDataWireList.
CommonDataWire wire
[in]
DeleteItem() void
Public
This fuction deletes the specified item with ID from CommonDataItemList and CommonDataWireList.
short id
[in]
InsertItem() void
Public
This function inserts the CommonDataItem object to the CommonDataItemList.
CommonDataItem item
[in]
GetItem() CommonDataItem
Public
This function returns a CommonDataItem object required by the ID.
short id
[in]
GetItem() CommonDataWire
Public
This function returns a CommonDataWire object required by the ID.
short id
[in]
DrawListItems() void
Public
This function draws the items in CommonDataItemList and CommonDataWireList to the canvas.
SearchItem() short
Public
This function searches the CommonDataItemList and CommonDataWireList vectors in order to find the ID of the item from the mouse click
int x
[in]
DigART SDD Report DA010 1.1
20
Method Notes Parameters
coordinates.
int y
[in]
CutItem() CommonDataItem
Public
This fuction cuts the item specified with ID from the CommonDataItemList.
short id
[in]
CopyItem() CommonDataItem
Public
This fuction copies the item specified with ID from the CommonDataItemList.
short id
[in]
PasteItem() void
Public
This function inserts the selected item the both Lists.
int x
[in]
int y
[in]
RotateItem() void
Public
This function sets the rotation value of the selected item to the both Lists.
short direction
[in]
MoveItem() void
Public
This function sets the new corrdinate values of the selected item to the both Lists.
int x
[in]
int y
[in]
CutItem() CommonDataWire
Public
This fuction cuts the item specified with ID from the CommonDataWireList.
short ID
[in]
CopyItem() CommonDataWire
Public
This fuction copies the item specified with ID from the CommonDataWireList.
short ID
[in]
DigART SDD Report DA010 1.1
21
Method Notes Parameters
GetItemList() vector
Public
This function returns the CommonDataItemList vector.
GetWireList() vector
Public
This function returns the CommonDataWireList vector.
DrawListItemsFromFile() void
Public
This function reads the new data structure with object Item coming from the File component and draws them.
Items FromFile
[in]
SetItemList() void
Public
This function reads the values of the wires coming from the Simulation component and sets the wires' logical values.
3.1.2.1.1.5. DrawingPanel Class This class handles all the operations done on the circuit drawing canvas.
Connections
Connector Source Target Notes
Generalization
Source -> Destination
Public
DrawingPanel
Public
JPanel
Dependency
Source -> Destination
Public
DrawingPanel
Public
Viewport
Association
Unspecified
Public
DrawingPanel
Public
CommonDataWire
Association
Unspecified
Public
DrawingPanel
Public
CommonDataItem
Association
Unspecified
Public
DrawingPanel
Public
Items
DigART SDD Report DA010 1.1
22
Attributes
Attribute Notes Constraints and tags
MouseMode enum
Public
This attribute holds the mode mode such as (insertion, deletion, etc.)
Default:
ItemToDraw Item
Private
This attribute holds the item type to be drawn slected by the user.
Default:
Operations
Method Notes Parameters
DrawItems() void
Public
This function draws the specified item with the attribute ItemToDraw with calling the DrawListItems() method of class Items.
ChangeBackgroundColor() void
Public
This function changes the background color of the canvas.
int r
[in]
int g
[in]
int b
[in]
SelectItem() void
Public
This function returns the coordinates of the point clicked in order to select an item.
int x
[in]
int y
[in]
MousePressed() void
Public
This function returns the coordinates of the point clicked iby the mouse.
int x
[in]
int y
[in]
DigART SDD Report DA010 1.1
23
Method Notes Parameters
MouseMove() void
Public
This function returns the last coordinates of the point gone by the mouse.
int x
[in]
int y
[in]
MouseReleased() void
Public
This function returns the coordinates of the point released of the mouse.
int x
[in]
int y
[in]
SetItemToDraw() void
Public
This function sets the ItemToDraw attribute reading the GUIs EasyAccessMenu's mouse events.
enum type
[in]
DeleteSelectedItem() void
Public
This function is called if the user wants to delete an item and calls the Items class's relevant methods.
RotateSelectedItem() void
Public
This function is called if the user wants to rotate an item and calls the Items class's relevant methods.
short direction
[in]
MoveSelectedItem() void
Public
This function is called if the user wants to move an item and calls the Items class's relevant methods.
CutSelectedItem() void
Public
This function is called if the user wants to cut an item and calls the Items class's relevant methods.
CopySelectedItem() void
Public
This function is called if the user wants to copy an item and calls the Items class's relevant methods.
PasteSelectedItem() void
Public
This function is called if the user wants to paste an item and calls the Items class's relevant methods.
ClearScreen() void This function clears the screen and calls the
DigART SDD Report DA010 1.1
24
Method Notes Parameters
Public relevant Items class's methods to clear the lists.
3.1.2.1.1.6. ViewPort Class This class handles the viewing operations made on the canvas.
Connections
Connector Source Target Notes
Dependency
Source -> Destination
Public
DrawingPanel
Public
Viewport
Attributes
Attribute Notes Constraints and tags
ZoomFactor float
Public
This attribute holds the zoom factor value of the canvas.
Default:
PanFactor float
Public
This attribute holds the pan factor value of the canvas.
Default:
Operations
Method Notes Parameters
ZoomIn() void
Public
This function zooms in the canvas.
ZoomOut() void
Public
This function zooms out the canvas.
PanRight() void
Public
This function pans right the canvas.
PanUp() void
Public
This function pans up the canvas.
PanLeft() void
Public
This function pans left the canvas.
PanDown() void
Public
This function pans down the canvas.
PanToCenter() void This function pans to center of the canvas.
DigART SDD Report DA010 1.1
25
Method Notes Parameters
Public
ZoomOverview() void
Public
This function zooms in or out the canvas to able to see the whole circuit drawn.
3.1.2.1.2. Sequence Diagrams
3.1.2.1.2.1. Sequence Diagram For Insert Operations The user Selects an item from the tool box to draw on the canvas. This is sent to the DrawingPanel class by the method SetItemToDraw(). Then the coordinates of the clicked position is also sent there. Drawing panel creates a new CommonDataItem object and sets the fields of it with the functions shown below. Then the object is inserted to the vector which is hold by class Items. The function of DrawingPanel class DrawItems() calls the Items’s class’s method DrawListItems in oreder to draw all the items which are stored in vectors to the canvas.
sd InsertItemEA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 U
EA5 0UnregisteredTrial Version EA5 0UnregisteredTrial Version EA5 0U
:DrawingPanel
User
:Items:CommonDataItem
SetItemToDraw(type)
MousePressed(y,x)
new
SetItemID(id)
SetItemType(type)
SetP1X(x)
SetP1Y(y)
SetColor(clr)
SetRotation(direction)
InsertItem(item)
DrawItems()
DrawListItems()
DigART SDD Report DA010 1.1
26
3.1.2.1.2.2. Sequence Diagram For Edit Operations In the below sequence diagram the basic edit operations which are copy, paste, cut, delete and update are shown. For
copy and paste functions firstly, user clickes on the canvas to select in item. MousePressed and SelectItem methods
returns make call the SeachItem method of the Items class. This method returns the ID of the selected item. With the
CopySelectedItem method of the Drawing Panel, Items class’s CopyItem() function is called and returns the copied
object and the selected item is set with this item’s ID. All other edit operations occurs with similar flows.
DigART SDD Report DA010 1.1
27
sd EditItemA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tr
A50UnregisteredTrial Version EA50UnregisteredTrial Version EA50UnregisteredTr
User
:DrawingPanel :Items :CommonDataItem
MousePressed(y,x)
SelectItem(y,x)
short:= SearchItem(y,x)
CopySelectedItem()
CopyItem(id)
PasteSelectedItem()
MousePressed(y,x)
PasteItem(y,x)
new
InsertItem(item)
DrawItems()
DrawListItems()
MousePressed(y,x)
SelectItem(y,x)
short:= SearchItem(y,x)
CutSelectedItem()
CutItem(id)
CopyItem(id)
DeleteItem(id)
delete
DrawItems()
DrawListItems()
PasteSelectedItem()
PasteItem(y,x)
new
InsertItem(item)
DrawItems()
DrawListItems()
MousePressed(y,x)
SelectItem(y,x)
short:= SearchItem(y,x)
RotateSelectedItem(direction)
RotateItem(direction)
SetRotation(direction)
DrawItems()
DrawListItems()
DeleteSelectedItem()DeleteItem(id)
delete
DrawItems()
DrawListItems()
DigART SDD Report DA010 1.1
28
3.1.2.1.2.3. Sequence Diagram For Move Operations
sd MoveItemA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
A 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Tria
User
:DrawingPanel :Items :CommonDataItem
MousePressed(y,x)
SelectItem(y,x)
short:= SearchItem(y,x)
MoveSelectedItem()
Mouse Move
MoveItem(y,x)
SetP1X(x)
SetP1Y(y)
DrawItems()
DrawListItems()
DigART SDD Report DA010 1.1
29
3.1.2.2. SIMULATION COMPONENT Simulation is the component used for simulation operations. It uses JHDL Simulation class to simulate the curcuits in real time without compiling. Simulation operations are divided into to 2 cases. One of the cases is the simulation of the currently displayed curcuit and the other is the simulation of the curcuits sent by the Script Component. Either way it converts to CommonDataWire type vector to JHDLFormat and sends to JHDL, then converts it back to CommonDataWire type vecor. Simulation takes place in JHDL.
3.1.2.2.1. Detailed Class Description
cd Simulation Class Diagram
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA 5.1 Unregistered Trial Version EA 5.1 Unre
Version EA5 1UnregisteredTrial Version EA5 1Unre
Simulator
- ConvertToCommonDataWire(JHDLFormat) : vector- ConvertToJHDL(vector) : JHDLFormat- GetCurrentCommonDataWireVector() : vector+ RunSimulation() : void+ RunSimulation(vector) : void- SentToJHDL(JHDLFormat) : void
JHDLFormat
3.1.2.2.1.1. Simulator Class
Simulation class is the place where simulation takes places in Simulation Component. All the manipulations, convertions and communications with JHDL library happens in this Class.
Internal Requirements
Communicate with Engine Component to start a simulation. (Type: ; Status: Proposed; Difficulty: Medium; Priority: High)
Communicate with JHDL to simulate the current object. (Type: ; Status: Proposed; Difficulty: Medium; Priority: Medium)
Communicate with Script Component to start a simulation. (Type: ; Status: Proposed; Difficulty: Medium; Priority: High)
Convertion of CommonDataWire type vector to JHDL formated object which will be simulated in JHDL. (Type: ; Status: Proposed; Difficulty: High; Priority: High)
Convertion of JHDL formated object to CommonDataWire type vector which will be simulated. (Type: ; Status: Proposed; Difficulty: High; Priority: High)
DigART SDD Report DA010 1.1
30
Simulator Connections
Connector Source Target Notes
Aggregation
source > target
JHDLFormat
unordered
Simulator
unordered
Aggregation
source > target
JHDLFormat
unordered
Simulator
unordered
Aggregation
source > target
CommonDataWire
unordered
Simulator
unordered
Association
CurcuitEngine
unordered
Simulator
unordered
Association
JHDL
unordered
Simulator
unordered
Association
GUI
unordered
Simulator
unordered
Association
Script
unordered
Simulator
unordered
Simulator Methods
Method Type Notes
ConvertToCommonDataWire (JHDLFormat)
private: vector param: JHDLFormat [ JHDLFormat - in ] JHDL formatted object which wiill to be converted to CommonDataWire type vector.
This method of Simulator Class is responsible for the convertion of the JHDL formatted simulation object to CommonDataWire type vector. Converted vector is returned.
ConvertToJHDL (vector) private: JHDLFormat
param: CommonDataWire [ vector - in ] Vector of CommonDataWire objects which will be converted to JHDL formatted object.
This method of Simulator Class is responsible for the convertion of CommonDataWire type vector to JHDL formatted object which is to be simulated. For the communicationwith JHDL this convertion is mandatory. Converted object is returned.
DigART SDD Report DA010 1.1
31
GetCurrentCommonDataWireVector ()
private: vector This public method of Simulator Class is responsible for getting the current curcuit elements from CurcuitEngine Component that will be simulated.
RunSimulation () public: void This public method of Simulator Class is responsible for start up a simulation that will simulate the current curcuit It calls the inner private functions necessary for the processing, convertion and simulation. Simulation is applied to the same object so return type is void.
RunSimulation (vector) public: void param: CommonDataWire [ vector - in ] This is the CommonDataWire type vector which includes the curcuit elements which will be simulated.
This public method of Simulator Class is responsible for start up a simulation that will simulate the given CommonDataWire type vector. It calls the inner private functions necessary for the processing, convertion and simulation. Simulation is applied to the same object so return type is void.
SentToJHDL (JHDLFormat) private: void param: JHDLFormat [ JHDLFormat - in ] JHDL formatted object which will be send to JHDL class to be simulated.
This method of Simulator Class is responsible for the communication with JHDL for simulation. It send the JHDL formatted object to simulation. The only communication of our simulation tool with JHDL happens in this method. Simulation is applied to the same object so return type is void.
DigART SDD Report DA010 1.1
32
3.1.2.2.2. Sequence Diagrams of Simulation Component
3.1.2.2.2.1. Sequence Diagram for Simulating Currently Displayed Circuit This sequence diagram is show the flow of simulation of the currently displayed curcuit. GUI component calls the overloaded RunSimulation method and lifeline begins. Then GetCurrentCommonDataWire method calls the GetWireList in CurcuitEngine component. GetWireList returns the vector holding the elements in currently displayed curcuit. Recieving the vector ConvertToJHDL method converts this method to JHDLFormat object which is the object type used in JHDL for the simulation. Then SentToJHDL method calls the JHDL Simulate method in JHDL. Simulation is applied to the same object so noting is returned from JHDL Simulate method. Finally ConvertToCommonDataWire method traces and converts this object to CommonDataWire type vector.
sd Simulation Sequence Diagram
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Ve
:Simulator :JHDL:CurcuitEngine
GUI
RunSimulation()
vector:= GetCurrentCommonDataWireVector()vector:= GetWireList()
JHDLFormat:= ConvertToJHDL(CommonDataWire)
SentToJHDL(JHDLFormat)JHDLSimulate
vector:= ConvertToCommonDataWire(JHDLFormat)
DigART SDD Report DA010 1.1
33
3.1.2.2.2.2. Sequence Diagram for Simulating The Circuit For Script Component This sequence diagram shows the flow of simulation of the curcuit sent by Script Component. Script component calls the overloaded RunSimulation method and lifeline begins. Recieving the vector ConvertToJHDL method converts this method to JHDLFormat object which is the object type used in JHDL for the simulation. Then SentToJHDL method calls the JHDL Simulate method in JHDL. Simulation is applied to the same object so noting is returned from JHDL Simulate method. Finally ConvertToCommonDataWire method traces and converts this object to CommonDataWire type vector.
sd Simulation Sequence Diagram 2
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Vers
:JHDL:Script:Simulator
RunSimulation(CommonDataWire)
JHDLFormat:= ConvertToJHDL(CommonDataWire)
SentToJHDL(JHDLFormat)JHDLSimulate
vector:= ConvertToCommonDataWire(JHDLFormat)
3.1.2.3. SCRIPT COMPONENT This component is used for education purposes. With using this component the educaters can simply test the students circuits designs.
3.1.2.3.1. Detailed Class Description
cd Script ClassDiagramA5.0 Unregistered Trial Version
A5.0 Unregistered Trial Version
A5.0 Unregistered Trial Version
A5.0 Unregistered Trial Version
A5.0 Unregistered Trial Version
ScriptHandler
- CheckOutPutValues(vector) : void- GetFileContent(string) : vector- GetFileNamesInFolder(string) : vector- Parser(string) : void+ RunScript(string) : string- SendToSimulation(vector) : void- SetInputValues(vector) : void- SyntaxValidator(string, string) : boolean
DigART SDD Report DA010 1.1
34
3.1.2.3.1.1. ScriptHandler Class ScriptHandler class is the place where script operations take places in Script Component. All the syntax checking, parsing and semantic operations happen in this class.
Internal Requirements
Check output values returned from simulation with the defined output values in the script. (Type: ; Status: Proposed; Difficulty: Medium; Priority: Medium)
Communicate with GUI to start script operations. (Type: ; Status: Proposed; Difficulty: Medium; Priority: Medium)
Do syntax checking of the script for the interperetation. (Type: ; Status: Proposed; Difficulty: Medium; Priority: Medium)
Parse script and do semantic operation. (Type: ; Status: Proposed; Difficulty: Medium; Priority: Medium)
ClassDiagram::ScriptHandler Connections
Connector Source Target Notes
Aggregation
source > target
CommonDataWire
unordered
ScriptHandler
unordered
Association
File
unordered
ScriptHandler
unordered
Association
ScriptHandler
unordered
GUI
unordered
Association
ScriptHandler
unordered
Simulation
unordered
ClassDiagram::ScriptHandler Methods
Method Type Notes
CheckOutPutValues (vector) private: void param: CommonDataWire [ vector - in ] CommonDataWire type vector in which the output values returned from the simulation will be checked.
This method of ScriptHandler class is responsible for the validation of the output values returned from the simulation comparing with the values defined in script.
GetFileContent (string) private: vector param: filename [ string - in ] filename including the absolute path to the file of which the included circuit is requested.
This method of ScriptHandler class is responsible for
DigART SDD Report DA010 1.1
35
communication with the File class to retrieve the circuit to be simulated from a file.
GetFileNamesInFolder (string)
private: vector param: folderpath [ string - in ] Absolute path of a folder which is declared in script in which the files will be simulated
This method of ScriptHandler class is responsible for communicating with File class to retrieve the filenames in the given folder path.
Parser (string) private: void param: script [ string - in ] The script entered to be interpreted.
This method of ScriptHandler class is responsible for the interperetation of the script given.
RunScript (string) public: string param: script [ string - in ]
This public method of ScriptHandler Class is responsible for start up a script interperetation and receives the script to be interpreted. It calls the inner private functions necessary for the syntax checking, parsing and semantic operations necessary to interpret the script given and returns the error message if any error is caught in the interpretation process.
SendToSimulation (vector) private: void param: CommonDataWire [ vector - in ] CommonDataWire type vector which will be simulated in Simulation Component.
This method of ScriptHandler Class is responsible for communication with Script Component to simulate the current CommonDataWire type vector.
SetInputValues (vector) private: void param: CommanDataWire [ vector - in ] CommonDataWire type vector in which the input values will be set.
This method of ScriptHandler Class is responsible for applying the input values given in the script to the CurrentDataWire type vector.
SyntaxValidator (string, string)
private: boolean param: interpreteerror [ string - in ] String in which any error message will be written.
param: script [ string - in ] The script entered to be interpreted.
DigART SDD Report DA010 1.1
36
This method of ScriptHandler Class is responsible for syntax checking of the given script. It writes the error found to the interpreteerror string.
3.1.2.3.2. Sequence Diagram of Script Component This sequnce diagram is based on the flow of script interpretation.
Firstly GUI calls the RunScript method of ScriptHandler class and sends the text in as string which is written in the script text box. Then ScriptHandler method calls the SyntaxValidater method for checking that if the syntax is valid or not. Then the Parse method will called for parsing the text which is written in the script text box. After that GetFileNames method will be called and sends the folder parh to the File component for getting the file names in it. GetFileContent method will be called for knowing the files content for all files in the folder. For this purpose GetFileContent method sends the path of the file to the File component. Then SetInputValues method will be called for setting the input values of the CommonDataWire which was read from the script text box. After that SendToSimulation method will be called for knowing the output values of the circuit design of the file. This method will sent the CommonDataWire object to the Simulation. Lastly for checking the output values CheckOutputValues method will be called.
sd Script SequenceDiagramgistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
gistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Unregistered
:ScriptHandler
GUI
:File :Simulation
string:= RunScript(script)
boolean:= SyntaxValidator(interpreteerror,script)
Parser(script)
vector:= GetFileNamesInFolder(folderpath)
GetFileNames
vector:= GetFileContent(filename)
GetFileContent
SetInputValues(CommanDataWire)
SendToSimulation(CommonDataWire)
SentToSimulation
CheckOutPutValues(CommonDataWire)
DigART SDD Report DA010 1.1
37
3.1.2.4. FILE COMPONENT
3.1.2.4.1. Detailed Class Description
cd fileoperationsegistered Trial Version EA 5.0 Unregis
egistered Trial Version EA 5.0 Unregis
egistered Trial Version EA 5.0 Unregis
egistered Trial Version EA 5.0 Unregis
egistered Trial Version EA 5.0 Unregis
egisteredTrial Version EA5 0Unregis
FileOperations
+ closefile() : void+ exportfile(items) : void+ importfile(file) : items+ newfile() : items+ openfile(file) : items+ savefile(items) : void+ saveimage(items) : void
3.1.2.4.1.1. FileOperations Class FileOperations handles all the file operations explained in requirements document.The class calls the methods of other classes like circuit engine and is in interaction with GUI.
DigART SDD Report DA010 1.1
38
Method Notes Parameters
closefile() void
Public
Closes the current file
Closes the current file
exportfile() void
Public
Takes items as argument.Exports the current circuit to selected file by the user into DIGLOG file format lgf.
Takes vector as argument.Exports the current circuit to selected file by the user into DIGLOG file format lgf.
items a
[in]
importfile() items
Public
Import and open the DIGLOG file selected by the user.Function takes a file input as argument returns items vector that is used by circuit display function of circuit engine class
Import and open the DIGLOG file selected by the user.Function takes a file input as argument returns vector that is used by circuit display function of circuit engine class
file a
[in]
newfile() items
Public
Closes the current file and returns a null items vector to be displayed by circuit engine class
Closes the current file and returns a null vector to be displayed by circuit display function of circuit engine class
openfile() items
Public
Reads from a Digart file selected by the user.Takes file as argument returns vector to be used by circuit by circuit engine class
Reads from a Digart file selected by the user.Takes file as argument returns vector to be used by circuit display function of circuit engine.
file a
[in]
savefile() void
Public
Takes vector as argument.Saves the current circuit to the file selected by the user in format .daf.
Takes vector as argument.Saves the current circuit to the file selected by the user in format .daf.
items a
[in]
saveimage() void
Public
Takes items as argument.Save the displayed part of the current window as an image to the selected file by the user.
Takes vector as argument.Save the displayed part of the current window as an image (as jpeg format) to the selected file by the user.
items a
[in]
DigART SDD Report DA010 1.1
39
3.1.2.4.2. Sequence Diagram of File Component Describes the relation between gui file and circuitengine. The messages are taken from from GUI handled by file class methods and the return of the functions of file operation class is used by CircuitEngine class and displayed.
sd gui_file_circuit_engineEA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial V
:FileOperations
GUI
CircuitEngine
drawlistitemsfromfile(items a)
create items instance
newfile
drawlistitemsfromfile(items a)
create items instance
import file
create items instance
drawlistitemsfromfile(items a)
openfile
DigART SDD Report DA010 1.1
40
3.1.2.4.3. Sequence Diagram of File Component This diagram shows the relation between GUI and FileOperations class.GUI sends the message export save or saveasimage FileOperations class writes to the selected files by user.
sd gui_fileUnregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
Unregistered Trial Version EA 5.0 Unregistered Trial Ver
GUI
:FileOperations
saveimage(items )
save as image
exportfile(items )
export to file
save file
savefile(items)
3.1.2.5. HELP COMPONENT
3.1.2.5.1. Detailed Class Description Help operations manages the help menu item.The help files are in the directory of DigArt.The selected help topics are loaded and displayed in the help menu display window.
cd helpoperationsEA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Versio
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Versio
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Versio
EA 5.0 Unregistered Trial Version EA 5.0 Unregistered Trial Versio
HelpOperations
+ displayhelpwindow(HelpContentsVector) : void+ loadhelptopic(file) : HelpContentsVector
HelpContentsVector
- help_vector: HelpContentsVector
DigART SDD Report DA010 1.1
41
Operations
Method Notes Parameters
displayhelpwindow() void
Public
Displays the selected help item on the help window.Takes HelpContentsVector as argument
HelpContentsVector a
[in]
loadhelptopic() HelpContentsVector
Public
Reads from selected file and creates a vector of characters to be displayed in help display window. Reads from selected file and creates a vector of characters to be displayed by help display window.
file a
[in]
Class HelpContentsVector
Attribute Notes Constraints and tags
help_vector HelpContentsVector
Private
Default:
3.1.2.5.2. Sequence Diagram of Help Component Describes the relation between gui file and circuitengine. The messages are taken from from GUI handled by file class methods and the return of the functions of file operation class is used by CircuitEngine class and displayed.
sd gui_help0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Un
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Un
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Un
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Un
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA 5.0 Un
0UnregisteredTrial Version EA5.0 UnregisteredTrial Version EA5.0Un
GUI
Help
load_help_topic(file a)
display_help_topic(help_contents_vector a)
DigART SDD Report DA010 1.1
42
3.1.2.6. CUSTOM CIRCUIT ELEMENT COMPONENT
3.1.2.6.1. Detailed Class Description This class has two methods ,the circuit drawn by the user can be saved into a .dae file.The user may reach that component from the easy access to circuit elements tool,when the user selects that component from the easy access menu that class loads the file the component is saved and it is displayed by circuit engine.
cd custom_circuit_elementrial Version EA 5.0 Unreg
rial Version EA 5.0 Unreg
rial Version EA 5.0 Unreg
rial Version EA5.0 Unreg
CustomCircuitElement
+ customcircuitload(file) : items+ customcircuitsave(items) : void
Method Notes Parameters
customcircuitload() items
Public
Reads from a .dae file selected by the user from the ease access to circuit elements menu.Takes file as argument returns items vector to be used by circuit engine
file a
[in]
customcircuitsave() void
Public
Takes items vector as argument.Saves the circuit element drawn by the user for later use to the file selected by the user in format .dae. Takes vector as argument.Saves the circuit element drawn by the user for later use to the file selected by the user in format .dae.
items a
[in]
3.1.2.6.2. Sequence Diagram of Custom Circuit Creation Component This sequence diagram shows the interaction between gui and CustomCircuitElement Class,The CustomCircuitElement class loads the .dae file and returns items for the use of circuit engine.
sd gui_custom_circuit_element0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
0 Unregistered Trial Version EA 5.0 Unregistered Trial Version EA
:CustomCircuitElement
GUI
save custom circuit
custom_circuit_save(items a)
items:= custom_circuit_load(file a)
load custom circuit
DigART SDD Report DA010 1.1
43
3.1.3. SERVICE LAYER In this layer there is a component named JHDL (Java Hardware Definition Language). JHDL is an open source library which can simulate logical circuits. The components in the Presentation Layer and Domain Layer composes a data structure to send to the JHDL library to simulate.
3.2. COMPONENT LEVEL SEQUENCE DIAGAMS
3.2.1. COMPONENT LEVEL SEQUENCE DIAGRAM FOR FILE OPENING This sequence diagram shows the flow of file opening operations lifetime. GUI Component calls the method Open_File in File Component and timelife starts. File Component then calls the DrawListItemFromFile in CurcuitEngine Component and sends the Items read form the file to the CurcuitEngine Component. This component receiving the curcuit items draw them to the screen.
sd Component Interaction Diagram
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
GUI Component SimulationComponent
Script Component File ComponentCurcuitEngineComponent
JHDL
Open_File()
DrawListItemFromFile(Items)
DigART SDD Report DA010 1.1
44
3.2.2. COMPONENT LEVEL SEQUENCE DIAGRAM FOR SIMULATE OPERATION This sequence diagram shows the flow of simulate operations lifetime. GUI Component calls the method RunSimulation method in Simulation Component and timelife starts. Simulation Component then calls the GetWireList in CurcuitEngine Component and gets the items in currently displayed curcuit. This component receiving the curcuit items sends them to JHDL for the simulation. Being simulated in JHDL component the items are sent back to CurcuitEgineComponent with the method SetWireList. Finally, the simulation result is displayed in the screen.
sd Component Interaction Diagram
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistere
GUI Component SimulationComponent
Script Component File ComponentCurcuitEngineComponent
JHDL
RunSimulation(string)
GetWireList(vector)
JHDLSimulate
SetWireList(vector)
DigART SDD Report DA010 1.1
45
3.2.3. COMPONENT LEVEL SEQUENCE DIAGRAM FOR SCRIPT OPERATION This sequence diagram shows the flow of script operations lifetime. GUI Component calls the method RunScript method in Script Component and timelife starts. Script Component then calls the GetFileNames method in File Component and gets the names of the files in the directory given in the script. Then Script Component calls the GetFileContent method in File Class and gets the content of the curcuit in the file. After that it calls the RunSimulation method in Simulation Component. This component receiving the curcuit items sends them to JHDL for the simulation. Then they are simulated in JHDL. And Displayed in the screen.
sd Component Interaction Diagram
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
GUI Component SimulationComponent
Script Component File ComponentCurcuitEngineComponent
JHDL
string:= RunScript(string)
string:= GetFileNames(string
vector:= GetFileContent(string)
RunSimulation(vector)
DigART SDD Report DA010 1.1
46
3.2.4. COMPONENT LEVEL SEQUENCE DIAGRAM FOR FILE SAVING This sequence diagram shows the flow of save file operations lifetime. GUI Component calls the method Save_File in File Component and timelife starts. File Component then calls the GetWireList in CurcuitEngine Component and recieves the wires currently displayed on the screen then again it calls the GetItemList in CurcuitEngine Component and recieves the items currently displayed on the screen CurcuitEngine Component. After recieving all the necessary information it saves the curcuit to the file.
sd Component Interaction Diagram
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unreg
GUI Component SimulationComponent
Script Component File ComponentCurcuitEngineComponent
JHDL
Save_File()
GetWireList(vector)
GetItemList(vector)
DigART SDD Report DA010 1.1
47
4. TRACEABILITY The table shows the traceability between the high level requirements which are specified in DigART Software Requirements Analysis Report Document, and the low level requierements which are described with components.
COMPONENT NAME HIGH LEVEL REQUIREMENT ID
GUI DA_SRA_96
DA_SRA_97
DA_SRA_98
DA_SRA_99
DA_SRA_100
DA_SRA_101
DA_SRA_107
DA_SRA_108
CIRCUIT ENGINE DA_SRA_15
DA_SRA_16
DA_SRA_17
DA_SRA_18
DA_SRA_19
DA_SRA_20
DA_SRA_21
DA_SRA_22
DA_SRA_23
DA_SRA_24
DA_SRA_25
DA_SRA_26
DA_SRA_27
DA_SRA_28
DA_SRA_29
DA_SRA_30
DA_SRA_31
DA_SRA_32
DA_SRA_33
DA_SRA_34
DA_SRA_35
DA_SRA_36
DA_SRA_37
DA_SRA_38
DA_SRA_39
DA_SRA_40
DigART SDD Report DA010 1.1
48
DA_SRA_41
DA_SRA_42
DA_SRA_43
DA_SRA_44
DA_SRA_45
DA_SRA_46
DA_SRA_47
DA_SRA_48
DA_SRA_49
DA_SRA_50
DA_SRA_51
DA_SRA_52
DA_SRA_53
DA_SRA_54
DA_SRA_55
DA_SRA_79
DA_SRA_80
DA_SRA_81
DA_SRA_82
DA_SRA_83
DA_SRA_84
DA_SRA_85
DA_SRA_107
DA_SRA_108
SIMULATION DA_SRA_56
DA_SRA_57
DA_SRA_58
DA_SRA_59
DA_SRA_60
DA_SRA_61
DA_SRA_62
DA_SRA_63
DA_SRA_65
DA_SRA_66
DA_SRA_67
DA_SRA_107
DA_SRA_108
DigART SDD Report DA010 1.1
49
SCRIPT DA_SRA_68
DA_SRA_69
DA_SRA_70
DA_SRA_71
DA_SRA_72
DA_SRA_73
DA_SRA_74
DA_SRA_75
DA_SRA_76
DA_SRA_77
DA_SRA_78
DA_SRA_107
DA_SRA_108
FILE DA_SRA_01
DA_SRA_02
DA_SRA_03
DA_SRA_04
DA_SRA_05
DA_SRA_06
DA_SRA_07
DA_SRA_08
DA_SRA_09
DA_SRA_10
DA_SRA_11
DA_SRA_12
DA_SRA_13
DA_SRA_14
DA_SRA_107
DA_SRA_108
HELP DA_SRA_102
DA_SRA_103
DA_SRA_104
DA_SRA_105
DA_SRA_107
DA_SRA_108
CUSTOM CIRCUIT ELEMENT DA_SRA_86
DA_SRA_87
DA_SRA_88
DigART SDD Report DA010 1.1
50
DA_SRA_89
DA_SRA_90
DA_SRA_91
DA_SRA_92
DA_SRA_93
DA_SRA_94
DA_SRA_95
DA_SRA_107
DA_SRA_108