Skip to content

Vision for Ark Automate

Wiki Warden edited this page May 30, 2021 · 2 revisions

Vision

Pitch

What can be achieved with our software at the end of the project?

Customer view

Using Ark_automate users can automate business or everyday processes by simply sketching the steps of their process. By using simple flowcharts or powerful BPMN in their process outlines, users can create small software solutions using RPA that finish their tasks much faster and more reliably.

Technical view

Using Ark_automate users can build their own digital coworkers by visualizing business or everyday processes and automating these using robotic process automation (RPA). The digital coworkers request files or help whilst working on their own tasks which have been taught to them through the multiple modeling notations available.


Until summer 2021 we want to implement a first working web-app for our use case.

This includes the following

  • user management
    • comfortable user log-in
    • only single-user accounts, no organizations
  • different front-ends to create bot flows
    • BPMN-editor (bpmn.js)
    • code-editor (edit .robot-code)
    • (if possible one more frontend-editor)
  • many applications are supported with RPA tasks, only a few tasks work via an API
  • created bots are running locally; for this purpose, we provide an Ark Automate local client
  • users can interact with the bots by...
    • ... starting the bots via our control interface of the web app
    • ... viewing basic statistics in the control interface of the web app
    • ... by using an API (especially for external companies)

If you are interested in our 5-year vision, please contact us to get access to the file. Our vision with architecture and limits is stored on HackMD.

Architecture for 2021

2021 Architecture

The main architectural benefit will be the modularity and interchangeability of the single components within the system. As the main platform will be created as a single web application, all system components are accessible through a single browser.

Describing the interaction and the components

More detailed description

That way a Low-Code RPA-Developer can build new robots in the Web-Browser using the Modelling Interface with the mentioned multiple modeling tools.

About our Database-Structure:

  • The Robot Repository is where all created robots are stored and are available for the users to retrieve and make changes.
  • The RPA-Activity-Storage stores all activities that can be automated with our software.
  • The User-Data-Storage stores all the user's data, such as login details, personal settings etc., so that the user can work with the same status of the software on any device.

Customers can start the robots via the Control-Interface in their Web-Browser. There they can also view basic statistics about the individual robots. This interface also allows the RPA developers to execute the robots, since they also have all the permissions of the end users.

In addition, an API is provided to the robots. External companies can use this to start robots in our system. Also, in the future, our robots could be controlled via this API through control and the IoT, for example.

To start robots or to get further information about executed robots, there is a communication with the Robot Coordinator Backend. This entire interaction is managed via a Trigger-Interface. This central interface ensures the modularity and expendability of the system.

The Robot Coordinator Backend interacts with the Local Client and launches the bots on the local machine. In addition, the backend gets all the information it needs from the database.

Using Ark_automate

Here we state how Ark_automate is supposed to be used and which individual steps happen (on an abstract layer).

Individual steps that occur when interacting with our software

See this sequence diagram regarding bot creation flow

Sourcecode

See this sequence diagram regarding bot interaction via control interface

Regarding the control interface

We agreed on the following functionalities for the control interface until Summer 2021:

  • Starting bots
  • Passing of parameters
  • View Logs of recent runs
    • Optionally could be enhanced statistics regarding the bots

In the long term vision we want additional functionalities like:

  • Live interaction with bots
  • Bots request files, ask for help and generate to-dos for humans
  • Bots functioning as Real-Time assistants (live chat)

Sourcecode

See this sequence diagram regarding starting a bot

See here

Individual steps of the user that occur when interacting with our software

See our Use-Case diagram

Which steps happen in the software?

See list

  • Displaying of modeling interfaces
  • Getting the available RPA tasks and apps from the server
  • Providing an interface to expand activities with RPA apps, tasks, and properties
  • Parsing BPMN to SSOT (and back)
  • Parsing other modeling notation (flowchart f.e.) to SSOT (and back)
  • Parsing SSOT to .robot (reverse not in scope)