pysumo and pySUMOQt

Introduction

Welcome to pySUMOs documentation. We hope you will find any information you need to use or develop pySUMO. If you have any questions after reading this, feel free to contact us via email at pysumo@lists.kit.edu.

First, a short excursion to the “Model View Controller” design pattern is made.

Subsequently, our Class Diagram, which is structured according to the Model View Controller (MVC) design.

Afterwards, several sequence diagrams which show a timeline of typical actions are presented.

Furthermore, there are a couple of activity diagrams showcasing both a casual pySUMO workflow as well as what pySUMO does in the background to support your workflow.

Thereafter the individual classes are introduced in more detail. This is followed up by a list of errors that pySUMO can throw and a list of external libraries used to develop pySUMO.

Structure

graph {
rankdir=LT;

subgraph clusterView {
	label="View";
	MainWindow -- Widgets
	MainWindow -- Toolbar
	MainWindow -- Status
	MainWindow -- Menu
	Menu -- Update
	RWidget -- Hierarchie
	Widgets -- RWidget
	Widgets -- RWWidget
	RWWidget -- "Graph"	
	RWWidget -- Text
	RWidget -- Documentation 
	Menu -- OptionDialog
	OptionDialog -- HelpDialog
	OptionDialog -- PluginManager
	OptionDialog -- Shortcuts
	Text -- CodeC
	Text -- Syntax;
}
subgraph clusterController {
	node [style=filled];
	color=blue;
	label="Controller";
	SyntaxController -- IndexAbstractor
	SyntaxController -- Logger
	IndexAbstractor -- Logger;
	V1[style=invis];
	V2[style=invis];
	IndexAbstractor -- V1 -- V2[style=invis];
	IndexAbstractor --WordNet --V4[style=invis];
}
subgraph clusterModel {
	label="Model";
	Parser -- Lexer
	Parser -- AST
	AST -- Index
	Lexer -- Serialize
	Parser -- KIF
	KIF -- Updater
	KIF -- Serialize;
	V3[style=invis];
	V4[style=invis];
	Index--V3--V4[style=invis];
}
edge[constraint=false,style=dotted];
Widgets -- IndexAbstractor
"Graph" -- IndexAbstractor
RWWidget -- SyntaxController
Status -- Logger
SyntaxController -- Parser
SyntaxController -- Serialize
IndexAbstractor -- AST
IndexAbstractor -- WordNet
IndexAbstractor -- Index;

SyntaxController[label="SyntaxController"]
IndexAbstractor[label="IndexAbstractor"]
KIF[label="KIF"]
AST[label="AST"]
Parser[label="Parser"]
Text[label="Text"]
"Graph"[label="Graph"]
Updater[label="Updater"]
Documentation[label="Documentation"]
Hierarchie[label="Hierarchie"]
MainWindow[label="MainWindow"]
Widgets[label="Widgets"]
Status[label="Status"]
OptionDialog[label="OptionDialog"]
WordNet[label="WordNet"]
Logger[label="Logger"]
HelpDialog[label="HelpDialog"]
}

The program is structured around the MVC-architecture. The partitioning into Model, View and Controller makes modification of Program code easier and also allows the lib to be used independently of the GUI.

For more information see

pySUMO in usage

For screenshots of pysumo while using it, go here

Feature Request

Tests

A list of your tests, to make sure pysumo is correct working. If you find a feature that is not tested by us, or you found a bug feel free to contact us.

Test Results

For a more detailled view on our testing please visit our github Page

Errors

Errors Cause[s]
HTTPError An HTTP connection failed
IOError An IO operation failed
KeyError The specified key does not exist in the dict
NoSuchOntologyError The specified Ontology does not exist
NoSuchTermError The specified Term does not exist
ParseError The specified Ontology is not valid

External Libraries

PySide Python bindings for Qt
PyGraphviz Python bindings for Graphviz

Indices and tables