Table of Contents
- Changelog
- 1. Goal
- 2. Use Cases
- 2.1. <UC.001> Create new device
- 2.2. <UC.002> Create interface or load interface from library
- 2.3. <UC.003> View device data and device interface data
- 2.4. <UC.004> Add attachments to the device
- 2.5. <UC.005> Format output as CAEX version 2.15/3.0
- 3. Features
- 3.1. /LF10/ Import
- 3.2 /LF20/ File validation
- 3.3 /LF30/ Error handling
- 3.4 /LF40/ GUI
- 3.5 /LF50/ Display device in a readable way
- 3.6 /LF60/ Edit device
- 3.7 /LF70/ Create device
- 3.8 /LF80/ Export device
- 4. Product data
- 5. Bug fixes
- 6. Enhancements
- 7. References
- 8. Glossary
Table of Contents
Changelog
Version | Date | Author | Comment |
---|---|---|---|
V0.1 | 29.10.2021 | Malte Horst | created |
V0.2 | 05.11.2021 | Malte Horst | added diagrams |
V1.0 | 05.05.2022 | Malte Horst | added bug fixes |
1. Goal
The Goal of this project is to create a standalone application from the existing plugin for the AutomationML Editor [1]. The software is to be tested for quality defects applying the typical use cases, paying attention to the usability and the "look & feel" of the user interface. The new application should have a simplified but still practical interface. The old interface of the plugins needs to be reviewed and improved upon in the ongoing development. Another point is the support of additional model interfaces and the possibility to use AML interface libraries. For the file extraction it should be possible to choose between the versions 2.15 and 3.0 of the CAEX output format.
2. Use Cases
Figure 1 UC Diagram
2.1. <UC.001> Create new device
Use Case's Objective: | User wants to create a device by inserting the data manually into the user interface of the application |
---|---|
System Boundary: | The application itself |
Precondition: | The user needs to have the minimal required data for the device on hand. The program needs to be installed on the user system and opened. |
Postcondition on success: | The entered data is displayed completely and correctly |
Involved Users: | Every end-user of the application |
Triggering Event: | When the user opens the application and uses the 'New device' function to create a new device |
2.2. <UC.002> Create interface or load interface from library
Use Case's Objective: | Creating a device interface by inserting the data manually into the user interface. Or to add an interface from one of the existing libraries |
---|---|
System Boundary: | The application itself |
Precondition: | The user needs to have the minimal required data for the device or interface to be added |
Postcondition on success: | The user has submitted the specific data completely and correctly |
Involved Users: | Every end-user of the application |
Triggering Event: | When the user has the need to add/create a device interface |
2.3. <UC.003> View device data and device interface data
Use Case's Objective: | After at least one device was successfully added, the device data should be visible and editable on the user interface |
---|---|
System Boundary: | The application itself |
Precondition: | The user added or loaded a device |
Postcondition on success: | The user added at least one device successfully |
Involved Users: | Every end-user of the application |
Triggering Event: | When the user has the need to view device data and device interface data |
2.4. <UC.004> Add attachments to the device
Use Case's Objective: | It is possible to add an attachment to the object, such as a manufacturer's icon |
---|---|
System Boundary: | The application itself |
Precondition: | The user has loaded or added a device |
Postcondition on success: | The user has loaded or added at least one device successfully |
Involved Users: | Every end-user of the application |
Triggering Event: | When the user has the need to edit device data and add attachments such as icons. |
2.5. <UC.005> Format output as CAEX version 2.15/3.0
Use Case's Objective: | Make the export to CAEX formats possible for devices |
---|---|
System Boundary: | The application itself |
Precondition: | The user has loaded or added a device |
Postcondition on success: | The user has loaded or added at least one device successfully |
Involved Users: | Every end-user of the application |
Triggering Event: | When the user wants to save a device in the CAEX format |
3. Features
In this chapter, the definable features are described and illustrated with figures.
3.1. /LF10/ Import
The application should be able to import a file by the absolute path to the file
3.2 /LF20/ File validation
The system shall be able to detect wrongly formatted imported files and throw an error to the user.
3.3 /LF30/ Error handling
The system shall be able to handle errors (unexpected shut down, wrongly formatted files, ...) and throw an error to the user.
3.4 /LF40/ GUI
The system should display a graphical user interface after startup of the standalone application. The user will interact with this GUI for every other functionality of the application. For this, the application has to be converted from a plugin to a full application on its own.
3.5 /LF50/ Display device in a readable way
When a device is loaded or created the attributes of the element should be displayed directly and easily readable for the user.
3.6 /LF60/ Edit device
When the attributes of a loaded device are displayed to the user, the user should be able to edit every attribute he wants to change.
3.7 /LF70/ Create device
When the application is started, the user should be able to create a new and empty device model.
3.8 /LF80/ Export device
When the user has edited a device, he should be able to save the device to a file.
4. Product data
4.1 /LD10/ AML-DD
The system shall create a valid AML-DD with all the necessary information the original file contained. Including an AML root file complete with versioning header, a "SystemUnitClass" with logical description, identification and configuration parameters as well as a reference to the original file and pictures if there are any.
4.1 /LD20/ Save and load files
The system shall make a device description editable. For this, the user can load existing or create new devices within the interface of the application. After editing them, these descriptions can be saved to a location selected by the user.
5. Bug fixes
/BUG10/ Empty screen on device import
/BUG20/ No GUI scaling in window
/BUG30/ Drag and Drop does not work
/BUG40/ No Icon when application is open
/BUG50/ No attachments loaded from existing device
/BUG60/ Delete button in Generic Data tab does not work
/BUG70/ Wrong data displayed in Help -> About
/BUG80/ User manual link is wrong, missing manual
/BUG90/ No CAEX version choosable on export of file
/BUG100/ Saving of devices does not work
6. Enhancements
7. References
[1] https://github.com/Rajkumarpulaparthi/ModellingWizard
[2] https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/6.-User-Manual
8. Glossary
AML Automation Markup Language is an open standard data format for storing and exchanging plant planning data
AML DD AML Device Description
AMLX AML Package
CAEX Computer-Aided Engineering Exchange
CLI Command Line Interface
GUI Graphical User Interface
IODD Input/Output Device Description