MoTxT User Manual

Go Back to Convert

User Manual

Welcome to the MoTxT User Manual. This guide will help you understand how to use the features within MoTxT and what the system needs for you to get the best outcome. Follow the sections below to understandmore.

In this section, we'll explain what MoTxT can parse so that you can get the most out of MoTxT convert feature.

Project Name Rules

Project name follows python variable naming conventions

  • Project name must consist of only alphanumeric characters and _ (underscore)
  • No number on the start of the project name
  • _ (underscore) is the only special character allowed

File Upload Rules

Upload Requirements for Class Diagram Files:

  • For each conversion, the user must upload exactly one class diagram file in the format [file-name].class.jet.
  • The uploaded .class.jet file must conform to the format supported by JetUML. The easiest way to ensure this is by not modifying the file after saving it in JetUML.

Upload Requirements for Sequence Diagram Files:

  • The uploaded sequence diagram file must be in the format [file-name].sequence.jet.
  • The uploaded .sequence.jet file must conform to the format supported by JetUML. The easiest way to ensure this is by not modifying the file after saving it in JetUML.

Valid Inputs for Class

Valid user string inputs

Class Name:

  • Example:
    • ClassName
  • Alphabet Only
  • Case sensitive
  • Doesn't contain leading, in-between, nor trailing whitespace(s)
  • Add '+' in front of the class name to make it accessible via the frontend generated. '-' will make the class inaccessible for CRUD via the frontend generated

Class Attributes:

  • Examples:
    • - attributeNameOne: boolean
    • + attributeNameTwo: string
    • + attributeNameThree: integer
    • + attributeNameFour: list[string]
  • Alphabet Only
  • Case sensitive
  • Doesn't contain leading, in-between, nor trailing whitespace(s) unless otherwise specified in this list
  • '-' for private, '+' for public. Gap
  • There is a space between visibility-symbol and attribute name
  • There is a space between colon and datatype
  • Accepted datatypes:
    • boolean
    • string
    • integer
    • list[other_datatype]
  • Each attribute is separated by new line: \n
  • Do not name an attribute 'id' as it can cause unpredictable behaviours

Class Methods:

  • Examples:
    • - methodNameOne (paramOne: string, paramTwo: boolean): void
    • + methodNameTwo (): integer
    • - methodNameThree (paramOne: list[string]): string
    • + methodNameFour (): list[boolean]
  • Alphabet Only
  • Case sensitive
  • Doesn't contain leading, in-between, nor trailing whitespace(s) unless otherwise specified in this list
  • '-' for private, '+' for public. Gap
  • There is a space between visibility-symbol and attribute name
  • There is a space between attribute name and open parentheses.
  • There is a space between comma and next parameter name (if any)
  • There is a space between colon and datatype
  • Accepted parameter data types:
    • boolean
    • string
    • integer
    • list[other_datatype]
  • Accepted return value data types:
    • None, in this case the final character of the line is close parentheses: ' ) ' (see method_name_1 in above example)
    • boolean
    • string
    • integer
    • list[other_datatype]
  • Each attribute is separated by new line: \n

Relationships:

  • Use the 'Association' tool
  • Accepted multiplicities:
    • Start label: 1 or *
    • Middle label: must be empty
    • End label: 1 or *
    • Directionality: must be ‘Unspecified’

Valid Inputs for Sequence

Valid user string inputs

Implicit Parameter (lifeline):

  • There must at least be two lifelines in a sequence diagram. These two lifelines have names:
    • :UI
    • :views
  • :UI must be the left most lifeline, while :views must be the second left most lifeline. There cannot be more than one lifeline with the name :UI nor :views

Name (other than :UI and :views):

  • Examples (from left to right):
    • :UI
    • :views
    • instanceOne:ClassOne
    • instanceTwo:ClassTwo
  • Rules for instance name and class name follow the same rules as Class Name.
  • Doesn't contain leading, in-between, nor trailing whitespace(s)

UI to Views Calls:

  • Views call is a method call made from :UI to :views
  • Signal must be unchecked
  • Examples:
    • methodNameOne (argOne, argTwo)
    • methodNameTwo (argOne)
    • methodNameThree ()
    • [POST] methodNameFour (argOne)
  • Alphabet Only
  • Case sensitive
  • Doesn't contain leading, in-between, nor trailing whitespace(s) unless otherwise specified in this list
  • '-' for private, '+' for public. Gap
  • There is a space between visibility-symbol and attribute name
  • There is a space between attribute name and open parentheses.

Other Method Calls:

  • Rules for other calls OTHER THAN those made from :UI to :views
  • Signal must be unchecked
  • More examples:
    • methodNameOne (argOne, argTwo)
    • method_nameOne (argOne)
    • method_nameOne ()
    • [condition] method_nameFour (argOne)
    • method_nameFive () -> returnVar
  • Alphabet Only
  • Case sensitive
  • Doesn't contain leading, in-between, nor trailing whitespace(s) unless otherwise specified in this list
  • There is a space between attribute name and open parentheses.
  • There is a space between comma and next argument (if any)
  • If using [condition], there is a space between close square brackets and method name.
  • If using [condition], the condition inside the square brackets must be readable by the programming language used by the framework the diagram is being converted into.
  • -> returnVar can only be used for self calls.
  • If using -> returnVar, returnVar follows the same rules as Class Name
  • If using -> returnVar, there is a space between close parentheses and hyphen ( ‘-’ )
  • If using -> returnVar, there is a space between more-than ( ‘>’ ) and returnVar name.

What not to expect

MoTxT doesn't facilitate the creation of the diagram. Diagram must be provided by the user, preferably by using JetUML which is you can download here

Errors that May Occur

This is a compilation of errors that you might encounter in your exploration of MoTxT

'Only .JET files are allowed'

This is caused by the file type you uploaded not in the form of .JET. You should make sure whether you submit the right file or not

'Please select a file to convert.'

This is caused by submiting a request to convert without actually attaching any files. You should try attaching a file

'Only one .class.jet file is allowed!'

This is caused by submiting multiple files of .class.jet or UML class diagrams. Please submit only one

'Error code 500'

The content of the file you submitted disobeys the rule mentioned above. Please make sure the diagram you exported from JetUML is correct based on the rules above

'Error code 422'

The content of the file you submitted is not in the form of JSON. You should make sure the file you submitted contains a JSON format