Skip to content

Chapter 2

Key Characteristics of RPA Robots and Tools

RPA robots are built using the RPA tools provided by the RPA software. RPA tools also provide features to schedule and run the RPA robots.

Robots created with RPA software have the following key characteristics:

  • User interface interaction.

UAn RPA robot can simulate human interaction with a user interface of an IT system. The robot performs a script that keys in information in fields, pushes buttons, makes cursor jumps, etc. The script may include rules and conditions to simulate actual user behaviour. The user interface script is either created by the robot developer or recorded directly by the RPA technology from a user interaction with the system.

  • Process execution.

An RPA robot can execute processes to simulate a human performing a business process – including user interface interaction. The RPA robot performs a process flow – including interactions with user interfaces – including rules and conditions to replicate the business process and its different options.

  • High volume data handling.

An RPA robot can transport and use high volumes of data – both in the process and the user interface interaction. These may be data resulting from a user interaction or data from external data stores.

  • Learning capability.

The more advanced RPA robots can utilise Machine Learning algorithms from the field of AI. Machine Learning allows the RPA robot to automatically learn and improve from experience without being explicitly told what to do by the robot developer.

Build:

  • Building of interface scripts.

This is a key feature of all RPA tools – although the capabilities vary between different RPA products. Some of the tools are very basic – close to traditional script programming – others are more advanced, with graphical tools for script processes. Some tools also have the potential to record and denote the behaviour of a user as the initial basis for an interface script. Additionally, an important feature is the ability to create metadata models to describe interfaces. This feature makes the interface scripts more robust to changes in the IT systems.

  • Building of process scripts.

This is also a general key feature of RPA tools. This feature is well known from many process and workflow management systems – the ability to design a flexible flow of tasks with conditions and rules to determine the exact flow. Moreover, the different tools from traditional scripting languages to graphical process engines with drag-and-drop for tasks and relationships can be found here. Compared to dedicated process management tools, RPA tools still, however, lack best-practice processes for specific functional processes as well as industry-based processes.

  • Data access and data use.

The ability to access and extract data from various sources as well as subsequently using and building logic around that data is key to building the process scripts. Most RPA tools can access data via a variety of industry standard interfaces and work with data in different formats. RPA tools differentiate themselves in regard to the ease of access to data and of subsequently working with these data. Some tools require a skillset close to that of an IT developer, while other tools are more intuitive for non-technical users without, or with only limited, programming experience.

  • Connectors.

Some of the RPA tools come with predefined connectors to the marketleading Business Suites such as SAP and Microsoft Dynamics, others are much more limited in this area. The connectors allow for a fast and wellproven access to these de facto standard solutions.

  • Security.

RPA software has its own database, including both metadata and actual data. It inherently deals with confidential business data including access rights to other IT systems. Therefore, RPA software typically includes security measures such as access control and encryptions technology.

Schedule:

  • Robot scheduling.

RPA tools include controlling capabilities for the robots, such as when the robot runs and under which conditions they should stop running.

  • Scheduling dashboard.

The most sophisticated RPA tools have a dedicated graphical dashboard to control the robots. Some dashboards also include more advanced options for controlling the interaction between robots and people.

Run:

  • Dedicated runtime system.

Most RPA tools provide their own proprietary runtime system for the execution of the robot scripts.

  • Robot monitoring.

Monitoring of the execution of the scripts during runtime. Some robots require frequent monitoring, other robots can run completely unattended.

  • Process trails.

Many of the RPA tools automatically track the actual execution of a robot – thereby providing an audit trail for critical business processes.

  • Performance reporting.

In addition, the ability to monitor and report the performance of a robot over a given period of time is part of most RPA tools.

  • Security.

RPA software is comparable to a traditional client/server environment – the RPA robot being the client (see Figure 2). Most of the tools use encryption technology to secure the connections as well as robot files – thus also preventing the hacking of the robots under execution.

Another important aspect of RPA robots is access management. As an RPA robot acts on behalf of a user as part of a business process, the robot basically needs the same access rights to the IT systems involved as the user. Typically, this is achieved by creating the RPA robot in the AD and/or other IAM Systems in the enterprise.

This also takes care of issues concerning the ‘segregation of duties’, where the robot should be handled like a normal user. The robot developer will be a ‘privileged user’ in the same manner as traditional IT developers – and must be handled accordingly.

The main difference between the different RPA software products is found in the build capabilities of the RPA tools. These differ considerably ranging from very technical programming-like editors to more modern graphical editors.

Another difference is their flexibility, i.e. the ability to interact with different types of user interfaces, whether those are mainframe-based, UNIX-based, Windows-based or Java-based, and whether these possibilities are predefined or must be developed.

Automation

Automation – using a device or a computer system to perform a task instead of a human has been the core process of industrialisation since the beginning of the Industrial Revolution in the 18th century.

In the beginning of the Industrial Age, automation was quite primitive, substituting handcrafting with very simple mechanical machines. But with the development of engineering, the devices have become more mechanically advanced.

The car industry is an example of how automation is used in manufacturing processes – deriving from the standard product (Ford T) as the basis of automating manufacturing processes to the highly flexible mass-customisation technology of today’s car manufacturers, being able to produce very different variants of a car on the same production line.

Today, the concept of automation is increasingly associated with computer -based automation – due to the growing digitalisation of both enterprises and society in general.

Historically, the main driver for automation has been to perform a task as efficiently as possible by getting as much done as possible, as quickly as possible, at the highest quality possible, with the most uniform quality possible and with the lowest use of resources, at the lowest cost, etc.

Today, another important driver for automation is to protect humans from tasks which are potentially harmful to them, for example, by shielding them from dangerous substances and environments.

To fully automate a task, both the control part (making the decisions about the task) and the execution part (the actual performance of the task) must be covered by the automation. The control part has, over the years, proven more difficult to automate than the execution part.

However, with the introduction of computer science – and thus the concept of software and algorithms – in the 1950s, more progress has been made in controlling tasks. Control loops and decision algorithms can control far more complex tasks including processes, i.e. collections of tasks with complex decision patterns, than any other mechanical or electronic control mechanism in the past.

During these years, many semi-automatic devices have been turned into fully automated ones due to improvements in the control part of the devices.

These improvements derive from a combination of industry-wide standardisations, developments in sensor technology, packaged control loops and networking Internet of Things (IoT), interaction technology, application of artificial intelligence, computing power, battery technology, etc.

An example of this is self-driving cars. Until recently, a car has been a semi-automated device for transportation – as it has been controlled by a human. The self-driving cars are, however, fully automated.

Robotics

Robotics is a field that deals with the design, construction, operation, and application of robots. In that sense, Robotics can be seen as a subfield of automation, while others will define Robotics as a separate field of science and technology that can be applied to achieve automation.

The word ‘robot’ was first used to denote a fictional humanoid in a 1920 play by the Czech writer Karel ČCapek. The word ‘robot’ itself was derived from the Slavic word ‘robota’, a term which classified those peasants obligated to compulsory service under the feudal system widespread in 19th century Europe.

Due to this origin, most definitions of robots include a resemblance to a human as part of their definition. Today, however, a robot does not necessarily resemble a human. ISO 8373:2012 defines a robot as ‘an automatically controlled, reprogrammable, multipurpose manipulator programmable in three or more axes, which can be either fixed in place or mobile for use in industrial automation applications’.

So, in the context of automation, a robot is simply defined as a device (a physical robot) or a software component (a software robot) replacing a human to automate a task.

Artificial Intelligence (AI)

Artificial Intelligence (AI) is a crossscientific field aiming to develop devices that exhibit an intelligence resembling that of humans.

If this can be achieved, AI will also provide the ultimate answer to how the control part of a device will be able to handle those tasks so complex that only humans have been able to perform them.

The formal scientific field of AI was born in the 1950s, and ever since AI has pursued the vision of replicating human intelligence. However, it has yet to deliver on this promise. Whenever small progress had been made in a certain area, the difficulty in solving the remaining issues in that area appears to have been underestimated.

Therefore, the field of AI is currently dominated by a collection of minor and very specific research areas. In each of these areas, progress is made within its own well-defined scope – not attempting an overall simulation of human intelligence, but instead focusing on a specific area and taking full advantage of an ever-increasing computing power. The victories of IBM Deep Blue and Google Deep-Mind over the grandmasters in the games of chess and Go are examples of these progresses within well-defined contexts. Some of the AI areas contribute to Automation and Robotics with techniques and tools.

EXAMPLES OF THIS ARE:

  • Knowledge Representation

Algorithms to organise and use knowledge concerning the context and the problems to be solved. This is a pivotal area of AI which is used by other AI areas.

  • Machine learning

Algorithms which improve through experience without human intervention – also known as adaptive systems.

  • Natural Language Processing

Algorithms with the ability to read and understand human language. These include sub-fields such as text mining and machine translation.

  • Machine Perception

Algorithms to use and understand input from sensors, cameras, microphones, sonars, etc. These include subfields such as computer vision, speech recognition, facial recognition and object recognition.

  • Planning, Motion and Manipulation

Algorithms to solve problems in goal setting and evaluation, localisation, mapping, navigation and motion planning – all substantial issues to be dealt with in Robotics.

All the above areas are utilised in many aspects of automation, but Data Science also draws heavily on AI – and even traditional business application starts to utilise small parts of AI.

Data Science and Data-Driven Automation

Data Science is an interdisciplinary field combining knowledge and approaches from computer science, mathematics, statistics, information science and AI. In Data Science, the analysis and understanding of data (and often large amounts of data) is turned into actionable insights to improve and automate decisions and processes.

The term Big Data is perhaps better known than Data Science, and is used to describe datasets so large and complex that traditional data processing capabilities are inadequate to handle them. Data Science provides the capabilities to handle Big Data.

From a business perspective, Data Science utilises data to aim for more diagnostic, predictive and prescriptive models (insight and foresight) of business issues than traditional reporting and business intelligence methods can provide (hindsight). The basic Data Science models can be complex to understand and utilise for businesses. Therefore, an important part of Data Science is to convert the basic models into deployable software solutions which then become vehicles for a Data-driven Automation and Data-driven and sometimes automated Decision making in an organisation.

Data Science requires a dedicated IT platform with specialised tools for the storage, processing and analysis of massive amounts of in-house and outhouse data.

A Data Science IT platform typically utilises massive parallelism and AI tecniques and tools, both to handle the different kinds of data types and to provide analytical capabilities.