The Internet of Actors - A Peer-to-Peer Agile Value Creation Network Florian Strecker Reinhard Gniza florian.strecker@actnconnect.com reinhard.gniza@actnconnect.com actnconnect actnconnect Nuremberg, Germany Nuremberg, Germany Contents 1 INTRODUCTION Contents 1 Network commerce has consequences that go far beyond just a 1 Introduction 1 business model. [...] Markets are based on mistrust, networks 2 Smart Actors 1 on trust. Markets are based on the pursuit of self-interest, networks on shared interest. Markets are arm’s-length 2.1 Requirements 2 transactions, networks are intimate relationships. Markets are 2.2 The Foundation of Smart Actors: PASS 2 competitive, networks are cooperative. 2.2.1 Calculus of Communicating Systems (CCS) 2 2.2.2 Parallel Activities Specification Scheme Jeremy Rifkin ([18], p. 192 f) (PASS) 3 2.3 Independent Releasability of Smart Actors 4 The intra- and inter-company work models change from classic, 2.4 Definition of Smart Actors 5 pre-defined, inflexible business processes to agile value creation 3 A Peer-to-Peer Agile Value Creation Network 5 networks. Human, machines and software collaborate in an inte- 3.1 Definition of the Peer-to-Peer Agile Value grated and coordinated way to fullfill their objectives. This neces- Creation Network 5 sitates a new dimension of agility, speed of transformation and 3.2 Internet of Actors Notation (IoAN) 6 individuality. We strongly believe that we need an open network of 3.3 Smart Actor Operating System (SMAOS) 6 self-coordinating, modular components that offer fully-fledged in- 4 Conclusion 6 teroperability to tackle these challenges on the way to autonomous Acknowledgements 6 software systems. At the same time such a network will offer an References 6 economic alternative to the classic, centralized platform models Acronyms 7 and standards of the current IT-industry. These, e.g. BPMN, "fail to guarantee that standard-conforming business process models are interoperable (platform-independent)" ([4]). Some scientists are already aware of these challenges and laid out fundamental groundwork. Christian Stary proposes "a System-of- Systems specification as a network of cooperating behavior entities" ([19]). These and similar ideas converge on the creation of a new era in systems design. This whitepaper presents a methodology, a modular concept and the foundation of the Internet o f Actors (IoA). The IoA will re- duce complexity, programming efforts and unclear interfaces while creating an Interoperability N etwork. It is going to be an enabler for agile, decentralized, self-coordinating value creation networks, acting as catalyst for the Internet of Things, Digital Transformation and Industry 4.0. 2 SMART ACTORS To create such an agile value creation network we first need to focus on the atomic components (= the nodes and their respective relations) the network is comprised of. Smart Actor s (SMA) are the basic building blocks of the IoA. As the IoA is designed as a network, the network nodes need the respective capabilities to deal with challenges like inter-company collaboration in a (self-)coordinated, modular encapsulated manner (mentioned in 1 Introduction). 2.1 Requirements The main requirements to the network nodes are similar to the requirements that can be observed with the architectural pattern Florian Strecker and Reinhard Gniza of microservices (based on [11]), as microservices can also be inter- preted as dedicated nodes in network-like applications: (MS1) determine the functional scope based on a single business capability that is decomposed on its lowest level for the domain applicable (MS2) consistent encapsulation leading to very clear interfaces to other network nodes (e.g. according to the Law of Demeter [25]: each unit should have limited knowledge about other units) (MS3) "smartness" ("smart endpoints, dumb pipes" [11]) in a sense of being able to do everything needed to add value with its actions without doing "too much" (YAGNI-dilemma [31]) (MS4) independently releasable without being in the need of other components thus ensuring independent lifecycles of the dif- Figure 1: Basic Operations of CCS ([8], p. 130) ferent nodes (MS5) self-organizing - in regards to building a network, the nodes must be able to connect to each other in a meaningful way thus ensuring added value in terms of Aristoteles’ synergy- principle (the whole is greater than the sum of its parts [27]) and tackling the issue of messy service connections ([11]) by using a clear (and yet flexible) communication structure Figure 2: Basic Laws in CCS ([8], p. 131) between different components (MS6) asynchronous connections between single network nodes in order to ensure resilience to temporarily breakdowns (due to infrastructure, scalability or timing issues in parts of the network) To meet these requirements, we propose the creation of Smart Actor s as nodes and therefore as core building blocks of the peer- to-peer agile value creation network. Therefore, a Smart Actor is able to: Figure 3: Example of Behaviour Expressions and Trees ([8], (R1) fullfill a well-defined task p. 131) (R2) "know" the execution-logic needed to fulfill this task, includ- ing decision-rules, different paths etc. (R3) gather and hold all data needed for the task scheme is based on Milner’s and Hoare’s Calculus of Communicat- (R4) offering a means to extract the essence of the task in a ing Systems (CCS, [15]) which has later been developed into the machine-readable way (as an enabler for self-organization) Pi-calculus ([16]). (R5) connect to arbitrary software-interfaces or physical ma- 2.2.1 Calculus of Communicating Systems (CCS). Fleischmann de- chines in order to exchange data scribes the CCS as "a theoretically very important technique for (R6) present its data to human users and offer possibilities to describing the behaviour of processes1 explicitly" ([8], p. 130). Para- change these data or take decisions where defined by the phrasing [8] (pp. 130-134), the CCS offers the following: The be- SMA (= "frontend"/ UI [30]) haviour of a process2 is described as a rooted, unordered, finite (R7) communicate with other SMAs via well-defined protocols to branching tree. The initial state of the process is represented by its gather information and/ or to propagate its output(s) root. Branches are labelled and represent actions or transitions to (R8) has its own release cycle (= being indepently releasable) a next state. The CCS distinguishes observable and unobservable without being directly affected by the release cycles of others actions3 . The trees offer elementary algebraic operations (see figure (R9) can be executed in a software system by interpreting or 1). These operations obey basic algebraic laws (associativity, com- compiling its definition/ source code mutativity and nullity, see figure 2). The trees are called behaviour The foundation of our Smart Actor s can be found in software trees (describing processes). Expressions represent these trees (see design concepts reaching back to the 1970’s. figure 3): After step a has been executed, steps b (x)or c can be executed next. It is also possible to model agents4 with infinite behaviour in CCS. Figure 4 illustrates agents X and Y , both with 2.2 The Foundation of Smart Actors: PASS 1 In our case, a "process" will become a Smar t Actor In 1994, Albert Fleischmann proposed a concept called "SAPP/ 2 = its algorithm PASS" (Structured Analysis of Parallel Programs in conjunction 3 observable or unobservable from outside of the process with Parallel Activities Specification Scheme, [8], pp. 204 ff). This 4 in our terms later: Smar t Actor s The Internet of Actors - A Peer-to-Peer Agile Value Creation Network Figure 4: Infinite Process Behaviour ([8], p. 132) potentially finite behaviour5 , and agent Z with a definite infinite behaviour. Albert Fleischmann also focuses on the fact that for each observable action there exists a complementary (or: inverse) action in CCS. It is possible to link multiple agents together. If there exist complementary actions in the different behaviour trees, these agents can communicate in synchronous message exchanges6 (see Figure 5: SAPP Specification ([8], p. 207) [8], p. 132). In general, CCS offers a graph-style7 approach to model complex behaviours8 and communication between these. Business Process Management (BPM) community ([9]13 ). In con- 2.2.2 Parallel Activities Specification Scheme (PASS). Based on the trast to classic BPM methodologies, PASS is able to focus on actors CCS9 Albert Fleischmann developed the Parallel Activities Specifi- and/ or agents involved in business processes. These can be humans, cation Scheme (PASS) in conjunction with a method for Structured software components or machines in mixed setups. Analysis of Parallel Programs (SAPP). One reason for this adoption by the BPM community, similar to the SAPP is a means to decompose complex systems into small, easy- advantages/ main features of software system development using to-handle components. These components are able to be executed PASS, is its Turing Completeness ([28]). This has been proven by in parallel and to call each other via clearly defined message chan- an interpreter model based on Abstract State Machines (ASM, [12] nels ("message-types" [8], p. 205). Figure 5 exemplifies such a SAPP and [6]), which are based on Finite State Machines. As PASS graphs specification, where T can send messages of type M3 to P and P themselves represent state machines, they can be interpreted like can send type M2 to T 10 . This type of diagram represents possible program source code. Therefore it is possible to execute a PASS communication channels, but has no time, sequence or frequency model instantly without being forced to transform or manually code restrictions. it. Egon Börger created such an interpreter "for both simulation PASS is used to define a single "process" ([8])11 . A PASS description (testing) and verification (logical analysis of properties of interest) contains information about synchronization of messages ("input of classes of S-BPM14 processes" ([5]). pool"12 ), a graph representing the process behaviour (= algorithm/ The original SAPP/ PASS methodologies unfortunately define that "intelligence" of the SMA) and process-refinements handling data "in the PASS model each system consists of a fixed number of pro- operations. cesses15 and each process has a unique name" ([8], p. 205). But to The SAPP/ PASS concepts have also been adopted by parts of the achieve independent releasability it is paramount that SMAs do not have fixed communication channels to other actors and allow agile 5 if transition X (a) or Y (e) is executed reconfiguration of the communication network they are part of. 6 as opposed to asynchronous message exchange, which we will focus on later 7 corresponds to tree-style 8 matches in this case the term "algorithms" 2.3 Independent Releasability of Smart Actors 9 and other methods, [8], p. 201 To tackle the requirement of independently releasable components, 10 for completeness of the example: Q can send M 1 to P , P can send M 1 to R , R can we created a concept of well-defined but loose-bound communica- send M 2 to P tion channels. 11 = Smar t Act or in our terms 12 Input pools are one of the most important concepts of PASS as they enable messages This concept is based on CCS, ASM and PASS. Even if PASS in to be sent either synchronous or asynchronous between components and even offer possibilities to restrict the number of messages being received at a certain time etc. 13 English, enhanced version of the original (German) book: [10] Without input pools, especially the crucial asynchronous communication would not 14 S-BPM corresponds to PASS in our context work. We do not explain the details of this concept, as they are not needed for grasping the general communication of S M As . 15 again: process maps to Smar t Actor in our context Florian Strecker and Reinhard Gniza Figure 7: Example of a graph to discern a RBI ([20]) consists of all possible message flows between X and A, their direc- tion and their structural content20 . To the relation between X and B applies the same, there is an RBI (X , B). To every RBI (дraph x , дraphy ) (1) there exists an inverse RBI ′ (дraph x , дraphy ) (2). RBI (дraph x , дraphy ) with дraph x = original Smart Actor and дraphy = potential Communication Partner (1) RBI ′ (дraph x , дraphy ) = RBI (дraphz , дraph x ) Figure 6: PASS Specification ([8], p. 208) with дraph x , дraphy , дraphz ∈ SmartActors (2) This inverse RBI ′ is a tree performing the same message flows conjunction with SAPP basically tries to model and execute com- like RBI , but does a send where in RBI there is a receive and a plete, enclosed systems16 , PASS graphs can be used to discern one receive where there is a send. It is possible to find any SMA Z that or more observable behaviours17 . We use a PASS graph as con- has one of its RBI that corresponds to RBI ′ (3). stituting component of a Smart Actor . An observable behaviour is basically a reduced version of the PASS graph, focusing on the RBI (Z , Z ′ ) = RBI ′ (X , Z ) (3) communication18 that can potentially happen with one specific This means that these PASS graph representations of SMAs are communication partner (= another PASS graph). This can be named able to communicate with each other; in this case, they can be "role-based behaviour interface" (RBI ), as every communication connected (4 - 6): partner acts in a specific role in its relation to the PASS graph in focus. It follows that a RBI can be created for every potential com- munication partner of a PASS graph. ⇒ Z′ = X (4) Figure 7 shows a graph X that depicts communication with 2 dif- ′ ⇒ RBI (Z , X ) = RBI (X , Z ) (5) ferent partners (partner ′ (A) and partner ′′ (B))19 . Therefore 2 RBI s ′ ⇒ RBI (X , Z ) = RBI (Z , X ) (6) can be extracted from this graph. The RBI from X to A, RBI (X , A) If there are a lot of Smart Actor s known21 , there may be more 16 with asynchronous communication within the system than one Smart Actor that can be found as a potential communi- 17 see also CCS’s observable actions, section 2.2.1. PASS graphs can also be transformed cation partner. In this case, rules on the communication context to CCS behaviour expressions, which aren’t as powerful as some PASS features ([8], p. 259 ff), but are therefore suitable to "observe" the communication behaviour 20 by structural content we mean data structures (and semantics) transported by a 18 sending messages or receiving messages message 19 We intentionally left out information about the types of the graph’s states (send , 21 or are being able to be discovered via address books, Smart Actor Name Systems r eceive , do (internal)) to focus on the RBI explanation. (SMANS) etc. The Internet of Actors - A Peer-to-Peer Agile Value Creation Network could have been set within the SMAs themselves, further restrict- others. Therefore, a Smart Actor represents a self-contained ing the possible communication partners. Selection strategies (like component (requirement (R8)). "bestRated", "nearest", "f irstComeFirstServe", ...) can apply addi- (SMA7) Due to its ASM-based, Turing-complete nature, a SMA can be tionally. executed by interpreting its behaviour graph (requirement This approach shows that a Smart Actor does not have to be con- (R9)). nected with its communication partners before deployment for In summary, these Smart Actors fulfill all requirements listed in execution, as the RBI s make it possible to find suitable communica- section 2.1 Requirements. Therefore, SMAs can also be used to tion partners even at execution time (see also [20]). This represents execute SmartContracts ([26] and [32] p. 37 f) or act as DApps also a difference to Agha’s approach ([2]) to software actors, as we ([23] and [32] p. 39 f). A possible XML data format for describing do not need direct addressing of other actors, but can use rule based SMAs is proposed in [21]. addressing (RBA) via RBIs. 3 A PEER-TO-PEER AGILE VALUE CREATION 2.4 Definition of Smart Actors NETWORK Keeping the requirements (see 2.1), the foundational concepts CCS The concept of Smart Actor s allows the creation of a peer -to-peer (see 2.2.1), ASM, PASS (see 2.2.2) and our thoughts on independent aдile value creation network which we call The Internet o f Actors releasability (see 2.3) in mind, we can design a Smart Actor as (IoA). We want this network to facilitate a clean architecture and follows: stick to an important principle (known from bitcoin [17], p. 8): "The (SMA1) The pivotal part is the definition of an internal behaviour network is robust in its unstructured simplicity. Nodes work all at graph22 . The behaviour graph consists of states with the 3 ba- once with little coordination", whereas ’coordination’ is equivalent sic operations (send, receive, do), transitions between these to ’no centralized orchestration’. states and references to the SMA’s data (see (SMA2)). The behaviour represents the smartness (or: algorithm), helping 3.1 Definition of the Peer-to-Peer Agile Value the Smart Actor to Creation Network (SMAB1) fullfill its task (requirement (R1)), The SMAs represent the main building blocks and are the nodes (SMAB2) know the execution logic needed (requirement (R2)), within the network. The characteristics of this network are: (SMAB3) represent decision- and other rules as these are mapped to behaviour and communication (requirements (R2) and Peer -to-Peer The SMAs can be executed in decentralized environments. If (R7)) a Smart Actor has the means to find communication partners (SMAB4) extract the RBI s for defining the communication inter- and message with them (see 3.3), the whole network can be faces to other SMAs (requirement (R7)) - thus creating built up in a distributed manner without having a centralized interoperable building blocks structure. (SMA2) Additionally, a complete data structure can be defined for Aдile Smart Actor s do not employ a tight coupling, but they are every Smart Actor . This data structure contains everything entirely uncoupled and independent from other SMAs. That the SMA needs within its behaviour (requirement (R3)). allows the (self-sustaining) configuration of the network (SMA3) If the Smart Actor is a Service Actor or Physical Actor , mean- to change at any time with the addition, the removal or ing it connects to microservices or arbitrary software com- the update of new or existing Smart Actor s (see 3.3). Each ponents or software interfaces, it needs a Service Mappinд network node is part of one or more choreographies25 that for each of its do-states, defining calls and data exchange to emerge from the communication protocols (= RBI ) and rules and from these systems (requirement (R5)). set by any SMA. (SMA4) In case the Smart Actor is intended to support a human V alue Creation Objective of every SMA is to create a value (i.e. in terms of in executing a task23 , user interfaces (UI) can be defined by a capability), by transforming any inputs to any outputs26 . mapping to the do-states and data structures available, thus 24 Thus, in the network as a whole, there will be a multitude of creating executable views on the Smart Actor (requirement focal areas (= choreographies) of value creation. Due to the (R6)). synergy-principle ([27]) the total of value creation will be (SMA5) Metadata in a structured format are intended to offer machine- higher than the combined value-deltas of every single SMA and human-readable data about the SMAs essence, intentions involved. (see [22]), creators, costs and other useful information (re- N etwork We talk of one single network instead of multiple networks, quirement (R4)). as - due to its decentralized character - all Smart Actor s (SMA6) As the extracted RBI s define communication interfaces in- can contribute and will be part of the global network of stead of a tight coupling to other components, a SMA’s re- collaboration and (therefore) interoperability. leasability/ deployability is completely independent from Similar to most blockchain-based peer-to-peer technologies, this network shall offer a standardized, open access for everyone who 22 A Smar t Act or can have more than one behaviour graph for specific applications wants to contribute to the network, e.g. by creating new Smart like Messaдe Guar ds " (see [10], p. 120 ff), Behavior Macr os (see [10], p. 112 ff) etc. 25 for definitions of the term "choreography" see [14] 23 we call that a Business Act or 26 in- and outputs of S MAs are always messages within their respective communica- 24 there are also special UI’s possible for r eceive tion patterns Florian Strecker and Reinhard Gniza Actor s. To facilitate this open access it is paramount to create two In a technical sense the Smart Actor s are not just "structured" mi- areas of standardization. croservices but represent the base components for a new internet, the IoA. Even the very foundations of this network, administrative 3.2 Internet of Actors Notation (IoAN) tools, can be described and implemented by SMAs. The IoA is there- One area of standardization is the Internet o f Actors Notation fore self-sustaining and self-extending. (IoAN ) which will cover Individual value contributions27 can be priced and settled by means of the IoA itself in connection with blockchain-based techniques. (IoAN1) the complete definition of SMAs (see 2.4 Definition of Smart Our further efforts need to go into Actors), (IoAN2) the notation of the RBI s, (IoAN3) means to show and visualize choreographies of SMAs. As mentioned before, first concepts regarding (IoAN1) have already been proposed ([21]) and implemented. Furthermore there is a stan- (ToDo1) the standardization of IoAN and SMAOS, dardization group working on an OWL-definition of an exchange (ToDo2) the creation and facilitation of a growing community of format ([7]). (value) contributors for the IoA, (ToDo3) the detailing of business models within the IoA and 3.3 Smart Actor Operating System (SMAOS) (ToDo4) the creation of application examples for the building blocks and the value creation network itself. The second area of standardization is a Smart Actor Operatinд System (SMAOS). As discussed before (see 2.4 Definition of Smart Actors), Smart Actor s can be executed without any further prepara- tions. For this execution, an operating system is needed, that serves three main purposes. The SMAOS The IoA offers a serious economic alternative to the centralized (SMAOS1) can interpret and therefore execute SMAs, platform models available today. (SMAOS2) facilitates communication between Smart Actor s on the same The IoA comprises ideal conditions to "go far beyond just a business SMAOS instance and across different SMAOS instances, and model", but to build cooperative relationships based on trust to (SMAOS3) enables the discovery of other SMAs as potential communi- pursue shared interests ([18], p. 192 f). cation partners. With actnconnect’s Actorsphere ([1]) there exists a first implemen- tation of a SMAOS. To address the issue of messaging between Smart Actor s (see (SMAOS2)) in regards to transportation layers and formats, we propose the def- ACKNOWLEDGEMENTS inition of a Smart Actor Communication Protocol (SMACP). The We want to thank Christian Stary, Albert Fleischmann, Felix Gniza, SMACP could also comprise possibilities to use blockchain tech- Anton Friedl, Werner Schmidt, Matthias Lederer and the members nologies (like Hyperledger Fabric ([13] and [32] p. 40 f) or dedicated of the I2PM community for the fruitful discussions and their support. blockchains) for facilitating distributed storage of messages or even SMA system states. The discovery of SMAs and/ or SMAOS instances anywhere in the IoA (see (SMAOS3)) requires a Smart Actor N ame System (SMAN S). Techniques like the Satoshi Client Node Discovery ([3]), the Domain Name System ([24]), UDDI ([29]) or similar might be used as an inspiration to define such SMAN S. Putting all these definitions together, the components of the IoA will be well-defined, executable, communicating and the network can be accessed openly without any discrimination or censorship. 4 CONCLUSION The concept of Smart Actors presents a method and implemen- tation of the central building blocks of a peer-to-peer agile value creation network. From a methodological point of view the SMAs offer all basic capa- bilities to build such a network due to their clear and open commu- nication interfaces (RBI s). They enable communication between different network nodes regardless of their nature. Therefore the Internet o f Actors can connect humans, machines and software to facilitate their individual contributions to shared and individual objectives. 27 remember: outputs will be sent in form of messages = communication The Internet of Actors - A Peer-to-Peer Agile Value Creation Network REFERENCES ACRONYMS [1] actnconnect. Actorsphere. url: http://actnconnect.de/actorsphere_en. ASM Abstract State Machines [2] G. A. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press Cambridge, 1986. isbn: 0-262-01092-5. [3] bitcoin.it. Satoshi Client Node Discovery. url: https://en.bitcoin.it/wiki/Satoshi_ BPM Business Process Management Client_Node_Discovery. [4] E. Börger. Approaches to modeling business processes: a critical analysis of CCS Calculus of Communicating Systems BPMN, workflow patterns and YAWL. Software & Systems Modeling, 11(3):305– 318, Sept. 2011. doi: 10.1007/s10270-011-0214-z. DApp De-centralized App [5] E. Börger. A subject-oriented interpreter model for s-bpm. Subject-Oriented Business Process Management:315–363, 2012. A. Fleischmann, W. Schmidt, C. DNS Domain Name System Stary, S. Obermeier, and E. Börger, editors. doi: 10.1007/978-3-642-32392-8. [6] E. Börger and R. Stärk. Abstract State Machines. Springer Berlin Heidelberg, IoA Internet of Actors 2003. doi: 10.1007/978-3-642-18216-7. [7] M. Elstermann and F. Krenn. The semantic exchange standard for subject- IoAN Internet of Actors Notation oriented process models. In Proceedings of the 10th International Conference IoT Internet of Things on Subject-Oriented Business Process Management - S-BPM One ’18. ACM Press, 2018. doi: 10.1145/3178248.3178257. OWL Ontology Web Language [8] A. Fleischmann. Distributed Systems. Springer Berlin Heidelberg, 1994. doi: 10.1007/978-3-642-78612-9. [9] A. Fleischmann, W. Schmidt, C. Stary, S. Obermeier, and E. Börger. Subjektori- PASS Parallel Activities Specification Scheme entiertes Prozessmanagement. Carl Hanser Verlag GmbH & Co. KG, July 2011. doi: 10.3139/9783446429697. RBA Rule Based Addressing [10] A. Fleischmann, W. Schmidt, C. Stary, S. Obermeier, and E. Börger. Subject- RBI Role-based Behaviour Interface Oriented Business Process Management. Springer, 2012. doi: 10.1007/978-3-642- 32392-8. [11] M. Fowler and J. Lewis. Microservices - a definition of this new architectural SAPP Structured Analysis of Parallel Programs term. Technical report, ThoughtWorks, 2014. url: https://www.martinfowler. SMACP Smart Actor Communication Protocol com/articles/microservices.html. SMANS Smart Actor Name System [12] Y. Gurevich. Evolving algebras 1993: lipari guide. Specification and Validation Methods:9–36, 1995. E. Börger, editor. url: https : / / web . eecs . umich . edu / SMAOS Smart Actor Operating System ~gurevich/Opera/103.pdf. [13] Hyperledger. Hyperledger Fabric. url: https://www.hyperledger.org/projects/ UDDI Universal Description, Discovery, and Integration fabric. [14] K. Kolo. Ode to choreography. Organizational Aesthetics, 5(1):37–46, 2016. url: XML eXtensible Markup Language https://digitalcommons.wpi.edu/oa/vol5/iss1/3. [15] R. Milner, editor. A Calculus of Communicating Systems. Springer Berlin Hei- delberg, 1980. doi: 10.1007/3-540-10235-3. [16] R. Milner. Functions as processes. Mathematical Structures in Computer Science, 2(02):119, June 1992. doi: 10.1017/s0960129500001407. [17] S. Nakamoto. Bitcoin: a peer-to-peer electronic cash system, 2008. url: https: //bitcoin.org/bitcoin.pdf. [18] J. Rifkin. The European Dream: How Europe’s Vision of the Future Is Quietly Eclipsing the American Dream. Jeremy P. Tarcher/ Penguin, 2004. [19] C. Stary. System-of-systems design thinking on behavior. EN. Systems, 5, Jan. 2017. doi: 10.3390/systems5010003. [20] F. Strecker and A. Fleischmann. Vorrichtungen, verfahren und computerpro- gramme zum erkennen koppelbarer schnittstellen. German. German patent request (DE 10 2015 107 150 A1). 2016. url: https : / / register . dpma . de / DPMAregister/pat/PatSchrifteneinsicht?docId=DE102015107150A1&page= 1&dpi=300&lang=de&full=true. [21] F. Strecker, R. Gniza, T. Hollosy, and F. Schmatzer. Business-actors as base components of complex and distributed software applications. In J. L. Sanz, editor, S-BPM ’16 Proceedings of the 8th International Conference on Subject- oriented Business Process Management. ACM, 2016. doi: 10 . 1145 / 2882879 . 2882887. [22] J. D. Velleman and M. E. Bratman. Intention, plans, and practical reason. The Philosophical Review, 100(2):277, Apr. 1991. doi: 10.2307/2185304. [23] Wikipedia. Decentralized Application. url: https://en.wikipedia.org/wiki/ Decentralized_application. [24] Wikipedia. Domain Name System. url: https://en.wikipedia.org/wiki/Domain_ Name_System. [25] Wikipedia. Law of Demeter. url: https://en.wikipedia.org/wiki/Law_of_ Demeter. [26] Wikipedia. Smart Contract. url: https://en.wikipedia.org/wiki/Smart_contract. [27] Wikipedia. Synergy. url: https://en.wikipedia.org/wiki/Synergy. [28] Wikipedia. Turing Completeness. url: https://en.wikipedia.org/wiki/Turing_ completeness. [29] Wikipedia. UDDI. url: https : / / en . wikipedia . org / wiki / Web _ Services _ Discovery#Universal_Description_Discovery_and_Integration. [30] Wikipedia. User Interface. url: https://en.wikipedia.org/wiki/User_interface. [31] Wikipedia. YAGNI. url: https://en.wikipedia.org/wiki/You_aren%27t_gonna_ need_it. [32] X. Xu, I. Weber, and M. Staples. Architecture for Blockchain Applications. Springer International Publishing, 2019. doi: 10.1007/978-3-030-03035-3.