Agile Service Engineering for the Industrial Internet of Things

Thomas Usländer
July 12, 2016


In most cases, the development of industrial software applications cannot be isolated anymore from the technological trends in the internet and the more and more emerging Industrial Internet. This relates to the requirements of users who request remote accessibility of data and services via the internet to support new business models, as well as to the architecture, which needs to be compliant to current and future standards and products of the Industrial Internet of Things (IIoT). Analysis and design methodologies should also take this trend into account when being applied to the IIoT context.

The Industrial Internet Reference Architecture (IIRA) [1] describes the Industrial Internet as an "Internet of things, machines, computers and people, enabling intelligent industrial operations using advanced data analytics for transformational business outcomes". Industrial Internet systems cover multiple application domains, e.g. energy, healthcare, manufacturing, public sector, transportation and related industrial systems. The IIRA requests that they "must be easily understandable and supported by widely applicable, standard-based, open and horizontal architecture frameworks and reference architectures that can be implemented with interoperable and interchangeable building blocks". The German initiative Industrie 4.0 [2] basically complies with these objectives but focuses on industrial production. As a starting point, a Reference Architecture Model Industrie 4.0 (RAMI4.0) has been published [3].

IIoT and Industrie 4.0

Since its inception in 2013, the German initiative Industrie 4.0 has raised substantial interest among industrial stakeholders, starting with Germany and subsequently across the world. This is due to the quite challenging high-level vision, which, once the IIoT and its related and emerging technologies have been fully exploited, will have disruptive and decisive effects on business levels. New business models based on cyber-physical systems and (smart) data analytics are expected to change industrial production in such a way that it may be called the 4th industrial revolution. Most members of the Industrie 4.0 community think in terms of decades rather than years as to when the full vision will be state-of-the-art.

Industrie 4.0 is characterized by the optimized and networked use of information across the complete life cycles of both products and production assets. The exploitation of Industrie 4.0 paradigms in terms of economic benefit, flexibility and better-informed decision taking requires the availability and provision of adequate information across all engineering and production value chains in an interoperable way, preferably based upon international standards. Such information is the result of aggregation and fusion functions applied to (big) data from various heterogeneous sources, often under real-time conditions and from production plants under constant change and different ownership. This comprises a challenge for the provision of an efficient, secure and dependable information management infrastructure.

Up to now, a hierarchical structure of IT systems, the so-called automation pyramid, is predominant in industrial production environments. This leads to a separation of office and production networks that shields the safety- and real-time critical field and controller level from inadequate access from upper levels and remote users. Now, there is an architectural trend towards a mash-up of networked smart devices and services, deployed within and across enterprises in order to enable new higher-level services and business models such as smart maintenance. Hence, in addition to product and production plant engineering, service engineering has also to be considered. The functional and non-functional requirements of IT users (mostly from the disciplines of mechanical engineering and electrical engineering) need to be mapped to the capabilities and architecture patterns of emerging IIoT service platforms as drafted by computer scientists [4].

Co-design of requirements and architectural artefacts

Although reliance upon SOA reference models (such as those of OASIS dating back to 2006) provides important guidance for service-oriented architectures (SOA) in general, it is not enough for the service engineering of IIoT Applications. Nowadays, service engineering follows an agile co-design of requirements and architectural artefacts. This idea is also taken up by the recent trend towards micro-services based upon Web-APIs that also includes engineering aspects. The reason is that it is rare for requirements to be fully available and fixed when software design and development starts. In contrast, requirements analysis is an agile process that includes a multi-step dialogue between the user(s), the stakeholders and the software architects who know about the technological capabilities and constraints, and may also estimate the effort to realize the expectations of the user. The resulting discussion often leads to reconsideration and/or refinement of the user requirements. If multiple users of one or even multiple organizations are involved, such dialogues are usually carried out during requirements analysis workshops facilitated by experienced systems analysts or architects. The crucial aspects are a solid methodology underpinning the process as well as an associated flexible documentation of the requirements during the process, also taking into account capabilities, information resources and constraints of underlying service architectures.

Use case driven approach

Most recent analysis and design methodologies recommend a semi-formal description of use cases. They consider use case models [5] as core artefacts of requirements analysis. Use case models describe the behavior of a system whereby "a use case is a sequence of actions performed by the system to yield an observable result that is typically of value for one or more actors or other stakeholders of the system".

When designing Industrial Internet applications, a use case expresses the functional, informational and qualitative (i.e. non-functional) requirements of a user (i.e. an actor or a stakeholder) with respect to the system. Usually, use cases do not describe the user interactions themselves. It is essential for the use case description that the level of abstraction, the type of formalism as well as the language should be such that it is adequate to the domain of expertise of the users. In order to serve as a kind of contract with the user, a use case shall be both understandable to the user but also precise enough. Very often this means that use cases shall be specified in a non-technical way, normally achieved using plain text in natural language. However, in order to reduce the ambiguities and impreciseness of descriptions in natural language, structured textual descriptions are preferred. Use case descriptions are then structured according to a given template, e.g. an application form comprising identifier and description fields or thematic domain references associated with code lists [6].

Our methodology entitled SERVUS [7][8] relies upon the following analysis and design artefacts (see Figure 1):

- user stories which describe selected situations in short textual snippets and motivate the further analysis process,

- use cases which describe functional aspects, actors and workflows in a semi-structured manner,

- requirements which describe functional and non-functional needs in a semi-structured manner,

- capabilities which describe existing and future capabilities of an IIoT service platform.

Figure 1

Figure 1: The four artefact levels of the SERVUS analysis and design methodology

In addition, the relationships between these artefacts are specified, e.g. user stories motivate use cases, use cases are mapped to requirements, requirements may be fulfilled by capabilities, capabilities are realizing requirements. This guarantees a full bijective traceability of the artefacts, which helps in setting development priorities and deriving implementation roadmaps out of the capabilities.

The capabilities of service platforms are usually described, structured and formalized by software architects. An example is the three-tier architecture pattern of the IIRA and its functions structured into five functional domains (Control, Operations, Information, Application and Business). Another example of such a platform comprises the services of the OPC Unified Architecture. However, very often, such technical descriptions are far away from the expectations of end-users and do not fit to their language and thematic terms. This complicates the transition from requirements analysis to system design and, hence, the re-use of existing platform capabilities.

Next steps

An important aspect for the common understanding of all the artefacts is agreement upon the terms that are used by both the end users and the software architects. Very often, these terms are captured during the analysis phase in a glossary. The SERVUS methodology foresees to link the terms used in the SERVUS elements to concepts described in a glossary or formally defined in an ontology (semantic annotation). We argue that service engineering that takes into account the capabilities of emerging IIoT platforms will become a crucial success factor for IIoT and Industrie 4.0 applications.



1. Industrial Internet Consortium (IIC) (2016): The Industrial Internet Reference Architecture Technical Paper.

2. Plattform Industrie 4.0,

3. DIN SPEC 91345: 2016-04. Reference Architecture Model Industrie 4.0 (RAMI4.0).

4. Usländer, T. Agile Service-oriented Analysis and Design of Industrial Internet Applications. 49th CIRP Conference on Manufacturing Systems (CIRP-CMS 2016). Published by Elsevier B.V.

5. Jacobson, I. and Ng, P.-W. (2005). Aspect-Oriented Software Development with Use Cases. The Addison-Wesley Object Technology Series, ISBN 0-321-26888-1; 2005.

6. Cockburn, A. (2001). Writing Effective Use Cases. ISBN-13: 9780201702255. Addison-Wesley; 2001.

7. SERVUS (2010): Design Methodology for Information Systems based upon Service-oriented Architectures and the Modelling of Use Cases and Capabilities as Resources (see, Usländer (2010).

8. Usländer, T. (2010). Service-oriented Design of Environmental Information Systems. PhD thesis of the Karlsruhe Institute of Technology (KIT), KIT Scientific Publishing. ISBN 978-3-86644-499-7, 2010.



Thomas UslanderThomas Usländer holds a degree in Computer Science from the University of Karlsruhe, Germany, and a PhD in Engineering from the Karlsruhe Institute of Technology (KIT), Germany. He is head of the department "Information Management and Production Control" and speaker of the business unit "Automation" at Fraunhofer IOSB. His research interests include the analysis and design of open service architectures and reference models. He represents Fraunhofer IOSB in several Industrie 4.0 working groups, and has been an invited speaker in various IoT conferences. He has been an invited expert of the European Commission, received the OMG Application Award 2000 and several best-paper awards in international conferences. See his profile at