Agile Service Engineering in the Industrial Internet of Things
Abstract
:1. Introduction
1.1. Related Work
1.2. Structure of the Article
2. Results
3. SERVUS Methodology
- provides a two-sided integrated and parallel view of the requirements and the expert knowledge of thematic users with the services and information offerings of emerging IIoT platforms, and, in addition,
- obeys explicitly the guidelines and constraints of architectural frameworks such as RAMI4.0 or IIRA as side-conditions.
- D1: Analysis and design artefacts (i.e., the SERVUS meta-model, see Section 3.1)
- D2: Analysis and design activities (see Section 3.2)
- D3: Architectural frameworks, i.e., relationship to reference architecture models (such as RAMI4.0 and IIRA, see Section 3.3)
3.1. D1: Analysis and Design Artefacts
3.1.1. SERVUS Meta-Model
- User story (US): description consisting of one or more sentences in the everyday or business language of an actor that captures what a user does or needs to do as part of his or her job function (cf. Wikipedia). A user story captures the ‘who’, ‘what’, and ‘why’ of a requirement in a simple, concise way.
- Use case (UC): description of core artefact of requirement 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”. They describe the functional aspects, actors (user roles), and workflows.
- Requirement (REQ): description of functional and non-functional requirements of the system under design that may support the execution of a use case.
- Capability (CAP): description of existing and future capabilities of the system under design that realizes requirements. Capabilities are described independently of the technologies that may be used to implement the capability.
- Technology (TECH): description of the existing or emerging technologies and products that are available or expected to appear on the market. Technologies and products are distinguished by an attribute.
3.1.2. Relations between the SERVUS Meta-Model Elements
- US to Actor
- ○
- tells (inverse relation: is told by): a US is told from the viewpoint of an actor.
- US to UC
- ○
- motivates (inverse relation: is motivated by): a US motivates the description of functional requirements in the form of use cases (UC).
- UC to Actor
- ○
- performs (inverse relation: is performed by): a UC is initiated and performed by an actor.
- UC to UC
- ○
- includes (inverse relation: is included in): one UC is included in another UC, i.e., one UC is included as a whole in the main success scenario, extension, or alternate path of another UC.
- ○
- refines (inverse relation: abstracted from): one UC is a refinement of another UC, e.g., it provides more details in its main success scenario, adds an extension or interprets a more abstract UC in the context of a thematic domain.
- UC to TC
- ○
- is tested by (inverse relation: tests): one UC may be tested by one or more test cases. One test case may also be linked to several use cases (which are then included in each other).
- UC to REQ
- ○
- maps to (inverse relation: is derived from): a UC is mapped to one or more requirements. This means that the system under design should provide function (may be in terms of a Web service) that fulfills each requirement.
- REQ to REQ
- ○
- related to (bijective relation): one REQ is related to another REQ, i.e., there is some relationship between the requirements. This relation has to be qualified in the comments. It could be a unilateral or bilateral dependency but also some similarity in terms of concepts, design pattern or technology.
- REQ to CAP
- ○
- implemented by (inverse relation: implements): one REQ is implemented by one or more CAPs. This relation has to be better qualified in the future. It could be a unilateral or bilateral dependency but also some similarity in terms of concepts, design pattern, or technology.
- UC to IR
- ○
- requests (inverse relation: is requested by): a UC requests an information resource in a defined access mode (create, read, update, delete).
- CAP to TECH
- ○
- realized by (inverse relation: realizes): a capability is realized by a combination of technologies whereby the combination may be specified by simple Boolean expression.
- TECH to TECH
- ○
- belongs to (inverse relation: comprises): a technology/product may belong to another technology/products. This relationship allows the user to express structured technologies/products.
- IR to IR
- ○
- refines (inverse relation: abstracted from): an information resource is a refinement of another information resource (in the sense of inheriting all properties of the more abstract information resource).
- ○
- related to (bijective relation): an information resource is related to another information resource. The meaning of the relation may be defined during the information modelling design step.
3.2. D2: Analysis and Design Activities
- Domain modelling: defines the basic concepts of the thematic domain to which the problem belongs, and their interrelationships. Usually, this activity is carried out by experts of professional organizations representing a thematic community or outstanding institutions such as universities or research institutes.
- Problem analysis: derives the set of functional, informational, and qualitative requirement from the problem to be solved and documents them in natural language in electronic format (marked as “req’s” in Figure 4).
- Feedback generation (optional): re-formulates the formal specification of the capability into the original language of the user and explains how the original user requirements have been satisfied.
- Rephrasing: translates and relates the artefacts of the requirements to the concepts of a design model.
- Publishing: represents the step in which the capabilities of the selected platform are entered into the capability model as part of the design model.
- Grounding: maps the (new or extended) capabilities to the specification style and language of the IIoT service platform and adds it to the set of platform capabilities (marked as “cap’s” in Figure 4). The grounding activity is usually supported by engineering tools.
- Discovery: searches for capabilities that are candidates to fulfill the requirements.
- Matchmaking: maps requirements with capabilities. It comprises the evaluation of the adequacy of the candidate capabilities (i.e. types or instances) proposed by the discovery activity, the selection of one or more candidate capabilities, and finally the documentation of the mapping in the design model for traceability (marked as “req2cap” model in Figure 4).
- to find conceptual gaps on CAP level, and therefore, by variation and addition of further user stories and use cases, to work towards a specification of an “ideal” platform,
- to identify technology gaps, i.e., capabilities that may not (yet) be realized, and
- to identify technology options, i.e., capabilities that may be realized by a multitude of technologies and their combinations.
- Test cases: describes a possible instantiation of a use case that is decisive for the system test with respect to this use case.
- Information resources: describes the information elements including its basic operations (create, read, update, delete) that are required to carry out the use case (following the resource-oriented approach of SERVUS).
3.3. D3: Relationship to Reference Architecture Models
- Control domain
- Operations domain
- Information domain
- Application domain
- Business domain
4. Platform Engineering Information System (PEIS)
4.1. Tool Description
- Total number of objects per category e. g., use cases, capabilities, etc.
- Number of user stories per user story group e.g., Flexible Manufacturing (FM), Human centered manufacturing (HCM), etc.
- Number of use cases per use case group e.g., Plant construction and operation (PCO), Process and production line development (PR), etc.
- Number of use cases per market priority as a pie chart with the segments representing high, medium, and low market priority.
- On the right hand side a graph representing the meta-model of the server content. With the concepts e.g., user story, use case, actor, etc., as nodes and the relations between the concepts as edges e.g., “use case has actor”.
4.2. Content Generation
- a top-down approach that comprises the requirements analysis driven by the market demands. It encompasses the contents generation of the meta-model elements user story (US), use case (UC), and requirement (REQ). The requirement analysis shall be performed by those people that know the market and/or have a good understanding of the user demands. For the application domain of industrial production, the requirements analysis team may comprise industrial engineers, production planners, or factory automation experts of the higher levels of the automation pyramid.
- a bottom-up approach that comprises the technology analysis driven by the ongoing and rapid evolution of the automation technology (also called operational technology – OT) and the information technology (IT). It encompasses the contents generation of the meta-model elements technologies/products (TECH) and the capabilities (CAP). For the application domain of industrial production, the technology analysis team may comprise computer scientists, data scientists, factory automation experts of the lower levels of the automation pyramid, e.g., for (real-time) control of automation processes.
- it leads to the identification of the conceptual gaps between the REQs and the CAPs, and therefore
- is an essential indication of the developments to be undertaken in order to close the gaps.
- the requirements analysis activity needs an adjustment, re-structuring, re-phrasing, and re-linking during and after the strategic mapping in order to clarify issues and include new insights from a changing market development and analysis,
- the technology analysis activity needs an adjustment, re-structuring, re-phrasing, and re-linking during and after the strategic mapping in order to clarify issues and include new insights from a changing technology (OT and IT) market development and analysis.
5. Discussion
5.1. Agile Modelling Best Practices
5.2. Evaluation
6. Conclusions
- a user point of view in a top-down approach from user stories, use cases to requirements, and
- a platform point of view in a bottom-up approach encompassing existing and emerging technologies and products that are used to provide specified capabilities of an IIoT platform.
- SERVUS combines a top-down with a bottom-up approach in a systematic manner.
- SERVUS relies upon a common language (semi-formal textual descriptions with optional formal models as attachments) for all analysis and design artefacts such that the cultural and language gap between thematic experts and IT experts may be overcome.
- SERVUS is accompanied by a Web-based collaborative Platform Engineering Information Systems (PEIS) that supports the online documentation of all analysis and design activities.
- SERVUS allows an agile engineering process with refinements and extensions that follow the priorities and the progress of the project in short development cycles.
- SERVUS supports the 14 best-practice principles of Agile Model Driven Development.
- SERVUS distinguishes between a conceptual, technology-independent level, and technology-specific descriptions.
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Al-Gumaei, K.; Schuba, K.; Friesen, A.; Heymann, S.; Pieper, C.; Pethig, F.; Schriegel, S. A Survey of Internet of Things and Big Data Integrated Solutions for Industrie 4.0. In Proceedings of the IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018. [Google Scholar]
- Industrial Internet Consortium (IIC). The Industrial Internet Reference Architecture. Technical Article. Available online: http://www.iiconsortium.org/IIRA.htm (accessed on 29 August 2018).
- DIN SPEC 91345. Reference Architecture Model Industrie 4.0 (RAMI4.0); Beuth-Verlag: Berlin, Germany, 2016.
- Usländer, T. Service-oriented Design of Environmental Information Systems. PhD Thesis, Karlsruhe Institute of Technology (KIT), KIT Scientific Publishing, Karlsruhe, Germany, 2010. [Google Scholar]
- Jacobson, I.; Ng, P.-W. Aspect-Oriented Software Development with Use Cases; Addison-Wesley: Boston, MA, USA, 2005. [Google Scholar]
- Cockburn, A. Writing Effective Use Cases; Addison-Wesley: Boston, MA, USA, 2001. [Google Scholar]
- Kohlborn, T.; Korthaus, A.; Chan, T.; Rosemann, M. Service Analysis—A Critical Assessment of the State of the Art. In Proceedings of the European Conference of Information Systems (ECIS 2009), Verona, Italy, 8–10 June 2009; Association for Information Systems: Atlanta, GA, USA, 2009. [Google Scholar]
- Reyes-Delgado, P.Y.; Mora, M.; Duran-Limon, H.A.; Rodríguez-Martínez, L.C.; O’Connor, R.V.; Mendoza-Gonzalez, R. The strengths and weaknesses of software architecture design in the RUP, MSF, MBASE and RUP-SOA methodologies: A conceptual review. In Computer Standards & Interfaces 47; Elsevier: Amsterdam, The Netherlands, 2016; pp. 24–41. [Google Scholar]
- Lutz, M. Ontology-based Descriptions for Semantic Discovery and Composition of Geoprocessing Services. Geoinformatica 2007, 11, 1–36. [Google Scholar] [CrossRef]
- Blomstedt, F.; Ferreira, L.L.; Klisics, M.; Chrysoulas, C.; de Soria, I.M.; Morin, B.; Zabasta, A.; Eliasson, J.; Johansson, M.; Varga, P. The Arrowhead Approach for SOA Application Development and Documentation. In Proceedings of the IEEE IECON 2014, Dallas, TX, USA, 30 October–1 November 2014; pp. 2631–2637. [Google Scholar]
- Varga, P.; Blomstedt, F.; Ferreira, L.L.; Eliasson, J.; Johansson, M.; Delsing, J.; de Soria, I.M. Making System of Systems Interoperable—The Core Components of the Arrowhead Framework. J. Netw. Comput. Appl. 2017, 81, 85–95. [Google Scholar] [CrossRef]
- Usländer, T. Agile Service-oriented Analysis and Design of Industrial Internet Applications. In Factories of the Future in the digital environment—Proceedings of the 49th CIRP Conference on Manufacturing Systems; Westkämper, E., Bauernhansl, T., Eds.; Elsevier: Amsterdam, The Netherlands, 2016; Volume 57, pp. 219–223. Available online: https://www.sciencedirect.com/journal/procedia-cirp/vol/57/suppl/C (accessed on 29 August 2018).
- Usländer, T.; Epple, U. Reference model of Industrie 4.0 service architectures: Basic concepts and approach. In Automatisierungstechnik: AT 63 (2015), No.10; Bretthauer, G., Ed.; de Gruyter Oldenbourg: Berlin, Germany, 2015; pp. 858–866. [Google Scholar]
- IEC 62541 OPC Unified Architecture. Beuth-Verlag, 2016. Available online: https://webstore.iec.ch/publication/25997 (accessed on 8 October 2018).
- Usländer, T.; Batz, T. How to Analyse User Requirements for Service-Oriented Environmental Information Systems. In Proceedings of the Environmental Software Systems. Frameworks of eEnvironment—9th IFIP WG 5.11 International Symposium, ISESS 2011, Brno, Czech Republic, 27–29 June 2011; Hrebícek, J., Schimak, G., Ralf Denzer, R., Eds.; Springer: Berlin, Germany, 2011; pp. 161–168. [Google Scholar]
- ISO 19119:2016. Annex D: (informative) Use case-based methodology. In ISO 19119 Geographic Information—Services; ISO/TC 211 Geographic Information/Geomatics: Stockholm, Sweden, 2016.
- Chaves, F.; Moßgraber, J.; Schenk, M.; Bügel, U. Semantic Registries for Heterogeneous Sensor Networks: Bridging the semantic gap for collaborative crises management. In 24rd International Conference on Database and Expert Systems Applications (DEXA 2013), Prague, Czech Republic, 26–29 August 2013; Morvan, F., Ed.; IEEE Computer Society: Washington, DC, USA, 2013; pp. 118–122. [Google Scholar]
- Van den Heuvel, W.J.; Zimmermann, O.; Leymann, F.; Lago, P.; Schieferdecker, I.; Zdun, U.; Avgeriou, P. Software Service Engineering: Tenets and Challenges. In ICSE 2009 Workshop—Principles of Engineering Service Oriented Systems (PESOS), Vancouver, BC, Canada, 18–19 May 2009; IEEE Computer Society: Washington, DC, USA, 2009. [Google Scholar]
- Pohl, K.; Sikora, E. The Co-Development of System Requirements and Functional Architecture. In Conceptual Modelling in Information Systems Engineering; Krogstie, J., Opdahl, A.L., Brinkkemper, S., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 229–246. [Google Scholar]
- Agile Modeling Core Practices. Available online: http://agilemodeling.com/essays/bestPractices.htmC (accessed on 29 August 2018).
- Jacobson, I.; Spence, I.; Ng, P.-W. Is there a Single Method for the Internet of Things? Commun. ACM 2017, 60. [Google Scholar] [CrossRef]
- Usländer, T. DIN SPEC 16593-1 Reference Model for Industrie 4.0 Service Architectures—Part 1: Basic Concepts of an Interaction-based Architecture; Beuth-Verlag: Berlin, Germany, 2018. [Google Scholar]
No. | Agile Modelling Best Practices | Application in SERVUS |
---|---|---|
1 | Active stakeholder participation. Stakeholders should provide information in a timely manner, make decisions in a timely manner, and be as actively involved in the development process through the use of inclusive tools and techniques. | Actors represent the stakeholders in the use case modelling. |
2 | Architecture envisioning. At the beginning of an agile project you will need to do some initial, high-level architectural modeling to identify a viable technical strategy for your solution. | The models shall be drafted according to reference models and architectural frameworks (see SERVUS dimension D3). A co-design of requirements and architectural artefacts is possible. |
3 | Document Continuously. Write deliverable documentation throughout the lifecycle in parallel to the creation of the rest of the solution. | The continuous documentation is enabled and enforced by the Web-based Platform Engineering Information System (PEIS) 1. |
4 | Document Late. Write deliverable documentation as late as possible, avoiding speculative ideas that are likely to change in favor of stable information. | A deliverable may be generated automatically from the PEIS all the time, i.e., also at given milestones in the project when a certain level of stability is assumed. No further and extra effort is necessary for documentation purposes. |
5 | Executable Specifications. Specify requirements in the form of executable “customer tests”, and your design as executable developer tests, instead of non-executable “static” documentation. | Each entry in the PEIS may be linked to Unified Modeling Language (UML) model elements that may be used as starting points to code generation. |
6 | Iteration modelling. At the beginning of each iteration, a bit of modelling is done as part of the iteration planning activities. | The design model may be adapted whenever required. |
7 | Just barely good enough (JBGE) artefacts. A model or document needs to be sufficient for the situation at hand and no more. | The “design model” can evolve according to the needs. This allows analysts, architects, and designers to tailor and minimize the effort to be put into the documentation of the artefacts according to the needs and the resources available. |
8 | Look-ahead modelling. Sometimes requirements that are nearing the top of your priority stack are fairly complex, motivating you to invest some effort to explore them before they’re popped off the top of the work item stack so as to reduce overall risk. | The “design model” can evolve according to the needs. Each requirement and each capability can be given a priority. |
9 | Model storming. Throughout an iteration a brainstorming session can be held, called “model storm” on a just-in-time basis for a few minutes to explore the details behind a requirement or to think through a design issue. | The PEIS is Web-based such that brainstorming sessions may even be carried out in distributed or virtual organizations spread over several locations. |
10 | Multiple models. Each type of model has its strengths and weaknesses. An effective developer will need a range of models in their intellectual toolkit enabling them to apply the right model in the most appropriate manner for the situation at hand. | The design model can be documented in several forms: semi-structured table, UML model or a figure. |
11 | Prioritized requirements. Agile teams implement requirements in priority order, as defined by their stakeholders, so as to provide the greatest return on investment possible. | Requirements have a priority field, hence the work may be structured and planned according to the priorities. |
12 | Requirements envisioning. At the beginning of an agile project, you will need to invest some time to identify the scope of the project and to create the initial prioritized stack of requirements. | The scope and granularity of use cases and requirements may be tailored according to the knowledge that is existing at a certain point in time. Both use cases and requirements may be related to each other and refined as required. |
13 | Single source information. Strive to capture information in one place and one place only. | The PEIS is a Web-based collaborative tool, i.e., all users are working on a single project instance of server and have the same visibility according to their roles. |
14 | Test-driven design (TDD). Write a single test, either at the requirements or design level, and then just enough code to fulfill that test. TDD is a just-in-time approach to detailed requirements specification and a confirmatory approach to testing. | Test cases may be added as an optional further artefact to SERVUS. |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Usländer, T.; Batz, T. Agile Service Engineering in the Industrial Internet of Things. Future Internet 2018, 10, 100. https://doi.org/10.3390/fi10100100
Usländer T, Batz T. Agile Service Engineering in the Industrial Internet of Things. Future Internet. 2018; 10(10):100. https://doi.org/10.3390/fi10100100
Chicago/Turabian StyleUsländer, Thomas, and Thomas Batz. 2018. "Agile Service Engineering in the Industrial Internet of Things" Future Internet 10, no. 10: 100. https://doi.org/10.3390/fi10100100
APA StyleUsländer, T., & Batz, T. (2018). Agile Service Engineering in the Industrial Internet of Things. Future Internet, 10(10), 100. https://doi.org/10.3390/fi10100100