Ricardo L Almeida
email: rdl.almeida@campus.fct.unl.pt

Laura Ricci
email: laura.ricci@unipi.it

Luis M Camarinha-Matos

voteChain: Community based Scalable Internet Voting Framework

Keywords: Electronic voting, Cryptography, Blockchain, Smart Contracts, Ethereum, Communities, Collaborative Networks

Most democratic countries still use the traditional systems of paper ballots and voting boxes. As technology develops, new electronic voting systems have been proposed to modernize and facilitate the voting process. Most e-voting systems are based on centralizing models, i.e. client-server structures, which have been proved to be unreliable and prone to be affected by the same problems of any centralized computer system: Denial of Service attacks, server hacking, etc. The advent of cryptocurrencies in recent years has shed light on their underlying technology -blockchain -as a powerful decentralizing technological paradigm that keeps finding new areas of application outside this implementation, such as electronic voting. In this paper, we present a proposal for a voting framework based on blockchain technology and analyze its potential to improve current voting systems as well as the implementation drawbacks.

Introduction

Most countries in the world still rely on analogue methods to perform elections. Save for about 50 countries (as of 2018) [START_REF] Kim | A Study on Ways to Apply the Blockchain-based Online Voting System[END_REF], most of the world still uses paper ballots filled out with pen and cast into a ballot box which is nothing more than a closed box with a slit on top -hardly a secure and tamper proof system. The integrity of such systems depends exclusively of the people that run the voting process since the system itself has no built-in security features. In most cases, the privacy and anonymity of the voter are only ensured by the cloth curtain on the voting booth.

As an example, the current voting system in Portugal is significantly outdated. In 2017, during elections for local councils, the rules and security measures were the same ones that were developed a few months after the 1974 revolution [START_REF] De Eleições | Current Portuguese Election System -History[END_REF]. There has not been any improvements or updates for over 40 years. Elections and referendums always take place on a Sunday. This model was well adapted to the Portuguese society in the 70's: many had the weekend off from work and people rarely had to move away from their registered voting parish councils. As such, it was safe to assume that most of the voting population could be expected to be minutes away from a polling station on the election day. This is a common voting system found in many other democratic countries.

It only took less than half a century for this scenario to change substantially. With increased mobility, greater international exposure and flexible working schedules, people are still close enough to a ballot in an election Sunday, just not the one that they can use to vote. In Portugal a citizen needs to register with a parish council before an election to be able to cast his or her vote there. This registration however locks that parish, as a physical location, as the only place in which the voter can cast his or her choice. A voter can always change his voting parish but that needs to be done preemptively and the process is not immediate. Rigid rules in such flexible society create unexpected difficulties in the democratic act. There are other factors to consider in this matter, but voter turnout has been steadily decreasing from 92,5% in 1975 to 55.9% in 2015 [START_REF] Pordata | Taxa de abstenção em eleições para a Asssembleia da Républica, Portugal 1975-2015[END_REF] in this country.

These problems can easily affect other nations that retain similar voting systems. As voters became increasingly mobile due to professional and/or social changes, so does the probability of missing the next election [START_REF] Krimmer | Challenges Posed by Distant voting in General -Posting voting and in Particular, e-Voting[END_REF]. It is very easy to miss out an election nowadays. All it takes is an unscheduled work trip, a sick co-worker that needs his weekend shift covered or a transport malfunction. Scheduling elections on Sundays may have helped in the past but in current 7-working days, shift-oriented society, it may be causing more harm than good. For example, public transportation may be harder to use in a Sunday to travel to the voting place, and if it is not, that means that other people need to work on that day to assure it, risking their own voting availability in the process.

Voting today requires time and money from the voters themselves, in most cases. This investment is enough to prevent some users, especially those in less than stable professional and economic situations (relocated students and workers, shift workers, emergency caretakers, etc...) from exerting their constitutional right and implicitly skewing the election's results by removing parts of the population from the election process.

As an alternative, it is worth exploring the use of information and communication technologies (ICT) to support more flexible voting systems. Blockchain is an emergent technology with high disruption potential by its distributed architecture that introduces novel ways to secure and transmit data over unsecure channels. Considering this, we considered the following question: what can be a suitable way of using this blockchain technology in the development of an electronic voting framework such that it is able to increase voter turnout in elections?

In this context, this work aims at exploring the use of blockchain as an effective approach for flexible and secure votingthe voteChain framework. This research will be developed over the hypothesis that, if the native cryptographic and data hashing capabilities of blockchain technology are used to ensure vote security, transparency and anonymity in and electronic voting framework, while also addressing voter equality and mobility by providing a tool that can be used to cast votes remotely over unsecure communication channels, then this framework can be used in elections to increase voter turnout.

The remainder of this paper includes the relation of this subject to the conference theme in section 2 and a literature review on the main concepts approached follows in section 3. The technical details and description of the voteChain concept is presented in section 4. Section 5 presents our research plan main points and the paper finishes with the concluding remarks in section 6.

Relationship to Innovation in Service Systems

Communities are often facing decisions that affect a significant number of their members. From choosing a different electricity provider in an apartment building, deciding on local council's excess budget expenses or to elect public officials, the democratic voting process has been the preferred choice to find a solution that suits the majority of the community's members. This has created space for third party solutions that provide voting as a service. From free platforms such as Doodle [START_REF]Doodle[END_REF] to more commercial ones, such as Polyas [START_REF]POLYAS -Secure Online Voting[END_REF] or eBallot [START_REF] Solutions | eBallot[END_REF], these solutions provide centralized server-client solutions but in which they run proprietary platforms in which voter transparency and anonymity are ensured through opaque proprietary protocols.

Our solution offers an innovative approach to the concept of voting as a service by providing an open framework based on a decentralized and transparent approach that can be scaled according to the community's needs.

Literature Review

Electronic Voting Systems

As the Internet matured into a reliable social interactive platform, the traditional voting system was put up for an upgrade. Several countries took upon that effort, although in an individual effort, with each country developing its own system with its own problems and advantages. More than twenty years and several election cycles after and we are still waiting for an electronic voting system that can provide the same level of functionality as the traditional ones, plus the speed, mobility and reliability that characterize current online applications.

Most systems saw only an update in the method in which the vote was cast by using voting machines instead of the traditional paper ballot. Countries such as Brazil, Germany, India, The Netherlands and USA only upgraded the vote counting process -But Switzerland, Estonia, Norway and Canada went as far as implementing truly online voting methods with various degrees of success [START_REF] Network | Countries with e-voting projects[END_REF].

Electronic Voting Machines allow faster vote counts and recounts while keeping the voting process under a controlled environment that can be overseen by election officials if needed. Yet they don't address voter mobility since voters are still required to physically travel to the voting station in which they were registered.

True Internet Voting or Remote Voting systems allow the voter to cast his or her choice over unsecure channels and in uncontrolled environments such as through a mobile application or a web portal. The voter must previously register to vote and needs to authenticate himself before casting the vote. Current approaches use centralized server-client models to build their voting platforms. Some notable examples of this approach were implemented by the Estonian [START_REF] Madise | E-voting in Estonia 2005. The first practice of country-wide binding Internet voting in the world[END_REF] and Swiss [START_REF] Braun | Swiss E-Voting Pilot Projects: Evaluation, Situation Analysis and How to Proceed[END_REF] governments. This approach gives support to mobility and ease of access to voters, specially physically impaired ones, since mobile applications, personal computers systems and access to Internet are increasingly available, even in underdeveloped countries. But this advantage came with a cost in system complexity and security since it needs to ensure secure transmission of data at every step of the process (authentication and vote submission) while becoming vulnerable to the attacks that centralized platforms are prone for, namely Denial of Service, server hacking, Man-in-the-Middle attacks, etc. True online voting is still not available to most voters and, when it is, it normally requires several pre-conditions to be met. The most recent attempts had to deal with significant software issues or were over complicated [START_REF] Kim | A Study on Ways to Apply the Blockchain-based Online Voting System[END_REF], [START_REF] Phillips | Utah Republicans are holding a first-ever online presidential primary. And it's not going so well[END_REF], [START_REF] Kuo | Electronic voting is failing the developing world while th US and Europe abandon it[END_REF]. Electronic voting systems based on a typical centralized server-client model are notoriously weak regarding voter's privacy, anonymity, ballot irrevocability and process transparency [START_REF] Bartolucci | SHARVOT: secret SHARe-based VOTing on the blockchain[END_REF], [START_REF] Faour | Transparent Voting Platform Based on Permissioned Blockchain[END_REF].

Blockchain Based Electronic Voting

Blockchain is a data structure in which a sequence of data blocks is connected using cryptography. Each block contains a timestamp, transaction data and a cryptographic hash of the complete previous block. This method assures data integrity for the whole chain since it is practically impossible to add a falsified block since this block would have a different hash and therefore wouldn't match the cryptographic hash already present in the next block of the chain. The robustness of this system derives from its distributed implementation. The data belonging to the blockchain, in the form of transactional data inserted into blocks cryptographically chained together, is distributed through all the machines or nodes that compose the blockchain network [START_REF] Swan | Blockchain Blueprint for a new Economy[END_REF]. This distributed database is monitored by the nodes that support it and changes made to it, namely the addition of new blocks, needs to be agreed among the majority of nodes in the network [START_REF] Nakamoto | Bitcoin: A Peer-to-Peer Electronic Cash System[END_REF].

There are two possible scenarios in which, theoretically, it is possible to introduce a false block in the chain: (1) one can replace all blocks from the false one to the beginning of the chain, thus ensuring that the cryptographic hashes are all correct. But this approach is unrealistic due to the high rate of blocks being added to the blockchain. Currently, the Bitcoin blockchain adds a new block every 10 minutes approximately while newer blockchains, such as Ethereum for example, add a new block to its chain every 15 seconds on average. Whenever a new block, fake or otherwise, is to be added to the chain, a computer intensive cryptographic puzzle needs to be solved first as a prerequisite to produce the cryptographic hash. To be able to add false blocks to a rate fast enough to validate this false chain, the falsifier would need such amount of computing power and energy that would simply rend the process economically unfeasible. (2) A fake block that produces the same cryptographic hash as the block that intends to replace can be produced. Hash collisions, i.e., when two or more pieces of distinct data produce the same hash string when run through the hash function, are theoretically possible although highly improbable. Currently, the only way to achieve that is through "brute force", i.e., trying all possible combinations until a match is found. As an example, for a hash function with a 256-bit output, in the worst case it would have to be computed 2 256 + 1 times. In a computer that calculates 10,000 hashes per second it would take 10 27 years to do just that. That's more than an octillion years [START_REF] Narayanan | Bitcoin and Cryptocurrency Technologies[END_REF]. And if, by luck alone, it happened that a match was found in the first few computations, chances are that the data that produces that hash has no use whatsoever since the hashing process is oblivious to the structure of it (it would be a random string of bits).

The probability of any of the above happening is extremely small but it is not zero and that is why, for the sake of argument, blockchain cannot be considered completely tamper proof. Nevertheless, since its inception, blockchain has drawn attention to its potential and it is currently a hotspot of research [START_REF] Wang | Large-Scale Election Based On Blockchain[END_REF].

Regarding online voting, the inherent properties of blockchain brought a fresh perspective to an old problem. By decentralizing the whole system and relying on asymmetric cryptography to secure information transfers, blockchain can guarantee the security and transparency that has been creating problems to its centralized counterparts. There are already several solutions for online voting using blockchain [START_REF] Bartolucci | SHARVOT: secret SHARe-based VOTing on the blockchain[END_REF], [START_REF] Faour | Transparent Voting Platform Based on Permissioned Blockchain[END_REF], [START_REF] Wang | Large-Scale Election Based On Blockchain[END_REF]- [START_REF] Shaheen | Temper Proof Data Distribution for Universal Verifiability and Accuracy in Electoral Process Using Blockchain[END_REF]. The reason behind this surge in blockchain applied to e-voting was thoroughly summarized in [START_REF] Kim | A Study on Ways to Apply the Blockchain-based Online Voting System[END_REF], which enumerates the following issues in any online voting system: (i) Identification of voters, (ii) Voting details storage, (iii) Ballot counting, (iv) Voter's anonymity, and (v) Encryption key management. Implementations of this approach so far are incomplete [START_REF] Bartolucci | SHARVOT: secret SHARe-based VOTing on the blockchain[END_REF], possess major limitations [START_REF] Faour | Transparent Voting Platform Based on Permissioned Blockchain[END_REF] or are still early in their conceptual phase [START_REF] Hanifatunnisa | Blockchain Based E-Voting Recording System Design[END_REF].

Blockchain Types and Choice of Platform

For the current stage of the voteChain project we choose the Ethereum blockchain platform. The reason behind this choice is its capability of running Smart Contracts, which are applications whose code resides in the Ethereum blockchain itself. Smart Contracts are run through an Ethereum Virtual Machine (EVM), a distributed computing platform provided to any member of the network to run their Smart Contracts. We intend to use these Smart Contracts to implement the functionalities of our voting platform, such as voter validation, casting, count, etc.

Another key concept to this project proposal is the Distributed Application (DApp). The DApp is a natural extension of the Smart Contract andthe long term plan for the Ethereum protocol is to create a new paradigm in regard to these DApps, namely to publish them in a "App Store" like environment [START_REF] Dannen | Introducing Ethereum and Solidity[END_REF], without the need to download anything locally and with virtually complete availability due to a decentralized storage of Smart Contract code and its respective front-end code, for a more user-friendly usage.

The voteChain Proposal

Implementation

Most solutions analyzed either avoid using the blockchain all together or go for an extreme approach in which the blockchain is used in every step, removing any centralizing elements from the equation. This project plans to position itself in the middle of the spectrum. We understand that any extreme approach in this sense is bound to remove important elements essential for a viable solution. The electronic voting framework proposed is structured into the following logic steps:

Voter authentication. One advantage brought forward by the plethora of crytpocurrencies developed in the last decade was to enable an online behavior that people were already able to do with hard currency: anonymous currency exchanges between parties. Transaction anonymity is one of the strong points behind cryptocurrencies, but it is undesirable in a voting process.

All democracies require their voters to be properly identified and that implies the existence of a centralizing authority that can validate a user for voting through verification of official records. This centralizing step is essential and unavoidable and as so, it is going to be included explicitly in the framework. Once a user can authenticate himself before the Central Authority, he receives a voting token from it. The usage and transfer of valueless tokens in the voting process is one of the novel approaches taken by this project. This token is a key element on recording information about the process in the blockchain.

Fig. 1 -Voter authentication through a trusted central authority

The transaction form allows extra data to be added to the transaction's own. It is this custom added data capability behind blockchain transactions that makes it flexible for other applications like the voteChain. The blockchain uses asymmetrical encryption to protect the contents of the transaction from unauthorized access. All blockchain transactions, and the data contained in are encrypted in blockchains' public interface.

Vote casting. This step introduces the Regional Voting Ballot (RVB) element. Instead of polling all votes into a single storage instance, thus creating a single point of failure in the process, the virtual ballots in which the voting tokens can be redeemed are distributed entities but with limited access. Their main objective is to hold the votes themselves, look for double vote attempts and store votes in an encrypted format.

Continuing with the token exchange paradigm, the voter sends it voting token to the RVB as a proof of vote. The voter exchanges his public encryption keys with the RVB during the validation stage, and then uses the RVB key to encrypt his identification and vote data, thus restricting the access to this information to the RVB alone and securing it for transfer over an unsecure connection. The RVB receives the two encrypted data bundles and decrypts only the voter identification. The vote data remains encrypted to maintain vote secrecy. The encrypted vote is then stored internally in the RVB as a value in a hash table whose key is determined by hashing the voter identification data. This way voter anonymity is preserved to an extent since the only connection between the vote, which is still encrypted, and the voter is a hashed version of his ID data. Double voting becomes easier to detect when using this method. If a voter somehow submits another vote under the same ID data, the RVB can detect that the provided voter ID hash already as a value under it in the internal hash table. RVB operations are based on Smart Contracts, adding transparency to the process since the code for these is publicly accessible in the blockchain and any user can verify the integrity of these contracts regarding the voting process, namely, to make sure that there are no security flaws that can reveal the identity of the voter or his choice. If all these operations are successful, the RVB returns a receipt token to the voter. This token serves two purposes: it gives the voter an assurance that his or her vote was successfully cast, and it is going to be counted and publishes another transaction on the blockchain in which we use the custom data fields to state that "voter X with information Y has voted successfully". This data is previously encrypted with the voter's public encryption key, which means that only the voter can decrypt and see it using his private key. Vote counting. At the counting stage votes are finally decrypted from the RVBs internal hash tables in which they were stored. They do not contain or connect to any information that could point to the original voters -and thus achieving voter without sacrificing proof of vote -and are currently stored under multiple RVBs. This adds a layer of security by decentralizing the process further. The final tally is determined with the Central Authority querying each RVB for its partial count and then add it all together. Continuing with the same logic, the partial and final counts are then published unencrypted in the blockchain for public consultation.

Future Research

Multiple Vote Casting

Using electronic methods to collect votes simplifies and speeds up the voting process greatly. This allows for novel approaches to some know problems that occur with traditional voting methods, namely vote buying and cohesion.

These tactics are only effective due to the inherent rigidity of traditional methods, which allow for only one vote per person. A strategy to counter these problems with electronic voting systems consists in allowing people to cast multiple votes in which only the last one submitted gets counted. It also allows voter to correct erroneous voting. It may be rare occurrence, but it is currently impossible to correct in a traditional voting system. The Estonian government employed this feature in their 2005 e-voting study [START_REF] Volkamer | Multiple Cast in Online Voting: Analysing Chances[END_REF].

Implementing this feature in the voteChain framework is technically possible but that needs to be studied, specifically regarding its impact with maintaining voter anonymity.

Possible Attacks to the System

Voter authentication, a key step in our framework, is done through interaction with a centralizing actor, therefore we need to protect it against the typical cyber-attacks that affect this type of elements, e.g. Denial of Service, Server hacking, SQL code injections, Man-in-the-middle attacks, etc., as for those that are specific to democratic processes, e.g. double voting and/or Sybil attacks, vote buying, etc. that potentially affect the system as a whole.

Smart Contracts Need Ether to Run

A voting system should be free to use. Even though nowadays people may spend some money indirectly when they decide to vote, it is not realistic to set up a fee upfront to provide a constitutional right.

The Ethereum protocol rules imply that some money, in the form of its cryptocurrency, Ether or Wei (1 Ether = 1x10 18 Wei), needs to be spent to execute a smart contract on the EVM. This was implemented to prevent malicious smart contracts to be run infinitely on the EVM. Having to spend some value of the cryptocurrency to run code on the EVM, it is expected that honest developers keep their Smart Contracts optimized and simultaneously prevent Denial of Service attacks from dishonest ones by essentially trying to bankrupt the attackers in the process. But that also implies that some money, regardless of how little, needs to be spent whenever a vote is cast.

On the other hand, traditional voting systems are inherently expensive, which means that some money is always needed to be used to finance the process regardless. Even if voting using this platform does need some financing to run the associated Smart Contracts, the values involved are substantially lower than even the smallest of traditional elections. Nevertheless, this is an issue requiring further analysis.

Communities Context

Although previous sections described the voting process at a country level, similar processes are needed at the level of smaller communities such as collaborative networks/business ecosystems [START_REF] Camarinha-Matos | Collaborative networked organizations -Concepts and prectice in manufacturing enterprises[END_REF], [START_REF] Graça | Performance indicators for collaborative business ecosystems -Literature review and trends[END_REF]. Traditional approaches in this context usually rely on trusting a network manager that centralizes the voting process. Even when electronic institutions such as e-notary [START_REF] Oliveira | Agreement Negotiation Support in VO Creation[END_REF] have been introduced, the issue of trusting the network manager remains.

Being these communities relatively small, they also provide a good context to experiment and validate the proposed approach and mechanisms.

Conclusion

Existing electronic voting projects either avoid using the blockchain at all or go for the opposite approach, using the blockchain on every single step of the process. The blockchain was created to be used as a ledger in financial transactions and when this concept is forced into a different cast, the results are often poor.

The proposed voteChain framework uses a mixed approach in order to find the optimal usage of the blockchain for this context. The voting system cannot be adapted to a financial application in verbatim because the systems are different. The proposal presented in this document introduces an ongoing multi-year research project based on a transformative but recent technology that has the potential to significantly change the existing paradigm regarding Remote Internet Electronic Voting.

Fig. 2 -

 2 Fig.2-The voter casts his vote to his assigned RVB and gets a receipt token if the operation is successful.

Fig. 3 -

 3 Fig. 3 -Final tally determined by counting all the votes cast into the RVBs.

Acknowledgments.

This work has been funded in part by the Center of Technology and Systems (CTS -Uninova) and the Portuguese FCT-PEST program UID/EEA/00066/2013.


Javaneh Ramezani
email: m.ramezani@fct.unl.pt

Luis M Camarinha-Matos

Novel Approaches to Handle Disruptions in Business Ecosystems

Keywords: Resilience, Antifragility, Disruptions, Business Ecosystems, Cyber Physical Systems

Today's business world is continuously challenged by unexpected disruptive events, which are increasing in their frequency and effects. As a consequence, it is plausible to foresee future scenarios in which turbulence and instability are no longer considered as episodic crises, but rather somewhat the "norm" or the default status. This trend naturally raises the question of how organizations can strive and even gain in such disruptive environments, and which characteristics are required for combating disruptions. Resilience and antifragility are two emerging approaches to handle disruptions. Through a literature review, this paper identifies several strategies that contribute to business ecosystem's resilience or antifragility. Furthermore, it is also shown that contributions from a number of disciplinary areas, including Collaborative Networks, Systems Thinking, Thermodynamics, Management science, and ICT, can provide complementary views and support. A set of promising examples of applications of the discussed approaches are presented and briefly analyzed. Finally, a number of open questions and directions for further research are presented.

Introduction

Due to the rise of ever tougher challenges in contemporary business environments characterized by high complexity and uncertainty, there is a clear need for finding new solutions to address unexpected issues and disruptions. Despite the increasing capabilities offered by technology in recent years, there are still significant engineering and philosophical problems that require to be handled to embrace the unknown future [START_REF] Russo | Towards Antifragile Software Architectures[END_REF].

Traditional risk management approaches are not effective when a company is confronted with unexpected disruptions. Those approaches are based on the assumption of some stability of the business environments, and therefore disruptive events such as explosions, or natural disasters are hard to handle deviations. Traditional methods require risk identification and quantification, which rely on past experimental data. Therefore, those methods are not useful to handle low probability, high impact disruptions. Furthermore, traditional strategies are cost-based and narrow-focused and therefore usually cause more vulnerability when dealing with unforeseeable events [START_REF] Pettit | Ensuring supply chain resilience: Development and implementation of an assessment tool[END_REF] [START_REF] Fiksel | From Risk to Resilience: Learning to Deal With Disruption[END_REF]. Therefore, there is a need for the emergence of new paradigms to understand, measure, and respond to these stressful conditions. Resilience and antifragility are two promising concepts to deal with unexpected disruptions [START_REF] Russo | Towards Antifragile Software Architectures[END_REF]. A resilient system survives shocks and stays the same or evolves to another stable state; an antifragile system thrives and improves with shocks [START_REF] Nicholas | Antifragile : things that gain from disorder[END_REF].

The important question which emerges here is how some organizations can overcome stressful situations better than others. In fact, there are various strategies that companies can use to achieve resilience and/or antifragility in face of disruptions. However, existing studies in the business ecosystems area do not provide a comprehensive collection of strategies to cope with disruptions. Most of the previous studies have reviewed only a few resilience-oriented strategies, and there is no systematic analysis of antifragility-oriented strategies in the literature [5][6].

This work addresses such lack of information by performing a literature analysis and proposing a categorization of disruption-coping strategies and capabilities in business ecosystems, considering: (1) their relation to resilience and antifragility, and (2) their relation to the phases of disaster management. This study addresses the above issues as follows: First, it provides a taxonomy of disruption-coping strategies. Second, it identifies the link between these strategies and resilience and antifragility. Third, it defines the relationship between the strategies and the three phases of disaster management. Fourth, it categorizes the essential capabilities, which can help organizations to achieve resilience and antifragility.

This research also seeks insights from various disciplines to identify different relevant tools, rules, and other features for a better understanding of the complex challenges in a stressful business environment. Another contribution is the identification of illustrative examples of promising approaches to resilience and antifragility. This survey is guided by the following research questions: What are emergent approaches to handle disruptions? Which knowledge areas are contributing to this issue? Which are promising/illustrative examples of approaches to handle disruptions?

The remaining of the paper is organized as follows: first, a short review of contribution to innovation in industrial and service systems is presented in Section 2; and then a set of related concepts to address disruptions in business ecosystems are explained in Section three. The main findings of the study are discussed in Section four, and finally, in Section five conclusions are provided.

Relation to Innovation in Industrial and Service Systems

Industry 4.0 is characterized by digitalization, automation and adaptation, communication, optimization and customization, value-added services and businesses. Furthermore, collaboration plays a central role in all dimensions of this industrial revolution [START_REF] Camarinha-Matos | Collaborative Networks as a Core Enabler of Industry 4.0[END_REF]. In particular, the cyber-physical system (CPS) and Internet of Things promise new support to business ecosystems namely to allow real-time decisions and increased levels of system's intelligence. Resilience and antifragility are intrinsically connected to CPS, especially in a time where systems are becoming more complex. In fact, the innovations associated with the 4 th industrial revolution need to be embedded disruptions-coping strategies, namely: (1) to enhance the ability of the business ecosystems to prepare for and adapt to disruptive market environments and withstand and recover rapidly from the impacts of unforeseen disasters, and (2) to stay competitive in volatile business environments. Therefore, the characteristics of resilience and antifragility including responsiveness, learning, adaptability, etc. need to be included in the design of advanced cyber-physical systems.

Base Concepts

In the business ecosystems literature, disruptions have been recognized as one of the critical issues that that can have severe impacts on business and in some cases even firms' closures. In this context, disruption refers to a "predictable or unpredictable event which affects the normal operation and stability of a business" [8][9]. Generally, there are several ways in which an entity or a system responds to disruptions [START_REF] Nicholas | Antifragile : things that gain from disorder[END_REF] [START_REF] Chroust | ANTICIPATION AND SYSTEMS THINKING: A KEY TO RESILIENT SYSTEMS[END_REF]. In fact, firms face different consequences as a result of unexpected disruptive events: some fail, some survive, and some even grow [START_REF] Nicholas | Antifragile : things that gain from disorder[END_REF] [START_REF] Blos | Supply Chain Risk Management : Introduction to Risk in Supply Chain[END_REF].

A number of relevant properties need to be distinguished here: ▪ Fragility. A system or entity that is vulnerable and can be easily broken when subjected to stress is known as fragile [START_REF] Hespanhol | More Than Smart, Beyond Resilient: Networking Communities for Antifragile Cities[END_REF]. Fragility implies more to lose than to gain in case of perturbations or disruptions [START_REF] Nicholas | Antifragile : things that gain from disorder[END_REF]. ▪ Robustness. A system or entity that has is not easily affected by hazards and can stay unchanged even when subjected to shocks, is robust [START_REF] Nicholas | Antifragile : things that gain from disorder[END_REF]. ▪ Resilience. Some systems or entities can absorb shocks in such a way that although affected by hazards and temporarily change, they recover from those shocks; they are resilient [START_REF] Bhamra | Resilience: the concept, a literature review and future directions[END_REF]. ▪ Antifragility. Some systems or entities not only have the capability of absorbing shocks and survive but even flourish and get better; they are called antifragile. Antifragility implies more gain than loss because shocks have a positive impact on these entities [4][12]. While an earlier notion of resilience was focused on the absorptive coping capacity, the concept has been evolving to represent an adaptive and even transformative capacity -transformative resilience, which partially overlaps with the notion of antifragility [START_REF] Gotham | Toward a Research Agenda on Transformative Resilience : Challenges and Opportunities for Post-Trauma Urban Ecosystems[END_REF]. In other words, a system does not necessarily return to its original state but may evolve to a slightly different but stable state. Our research work is mostly focused on transformative resilience and antifragility.

Results and Discussions

In this section we summarize emerging approaches to handle disruptions, main contributing knowledge areas, and also present some promising examples based on the performed survey.

Emerging Approaches to Handle Disruptions

Two main aspects are included here: strategies to address disturbances in the business ecosystems and capabilities that help a business to overcome disruptions. i. Strategies. To help a business become less vulnerable to disturbances, there is a need to define adequate disruption-coping strategies [START_REF] Tomlin | On the Value of Mitigation and Contingency Strategies for Managing Supply Chain Disruption Risks[END_REF]. Resilience and antifragility are two emerging approaches to deal with disruptions, enhancing traditional risk management strategies. At least at a conceptual level, they are able to cope with unpredictable uncertainties through their properties such as flexibility, agility, adaptability, etc. [START_REF] Pettit | Ensuring supply chain resilience: Development and implementation of an assessment tool[END_REF] [START_REF] Derbyshire | Preparing for the future : Development of an ' antifragile' methodology that complements scenario planning by omitting[END_REF]. Although there are several surveys about resilience and antifragility at the business ecosystems level the question "What are emergent approaches to handle disruptions?" is not yet answered. Therefore, in this section we propose a categorization of the resilience/antifragility-based strategies to deal with disruptions in line with three general phases of disaster management: Readiness, Response, and Recovery (Tables 1,2, 3).

▪ Readiness. Disruption "readiness" involves investment in advance of a disaster to prevent, detect and eliminate the source of possible disruptions or mitigate system's vulnerability. For instance, mitigation strategies such as increasing security, and choosing facility location are proactive and focus on avoiding disruptions [START_REF] Craighead | The Severity of Supply Chain Disruptions : Design Characteristics and Mitigation Capabilities[END_REF][17] [START_REF] Mcentire | Disaster Response and Recovery: Strategies and Tactics for Resilience[END_REF].

Security Compliance

Increasing security using different policies, procedures, and technology against attacks.

✓ ✓ [2][3][5]

Hormesis

Exposing a system to low doses of a harmful "substance or agent" inducing higher resistance of the system when submitted in future to higher doses of the same stressor.

✓ [4][6] [24] ▪ Response. Disruption "response" is related to the immediate actions to take after a disaster occurs in order to bring the system into a temporarily acceptable operation state [10][18]. This phase involves strategies that reactively cope with disruptions such as demand management, and multi-sourcing [START_REF] Tomlin | On the Value of Mitigation and Contingency Strategies for Managing Supply Chain Disruption Risks[END_REF].

Graceful degradation

Allowing limited interaction and avoid entire system's downtime.

✓ [27]

Government lobbying Attempts to influence government decisions by bringing attention to the long-term consequences of the catastrophe.

✓ [28]

▪ Recovery. Disruption "recovery" is essentially concerned with a set of activities to return the system to a pre-disruption state or, preferably, improved levels of operation. This phase involves efforts to lead the system to a long-term stable state [START_REF] Chroust | ANTICIPATION AND SYSTEMS THINKING: A KEY TO RESILIENT SYSTEMS[END_REF][16][17] [START_REF] Mcentire | Disaster Response and Recovery: Strategies and Tactics for Resilience[END_REF].

Table 3. Examples of strategies to return the affected system to a pre-disaster condition.

Strategies Description Approach References

Resil Antif

Integration

Integration and synchronization of individual functional capabilities such as system, resource, process, etc.

✓ [5][17][19] [23]

Cycle-time reduction

Service levels can be improved by reducing delivery lead times due to shorter product/process design and development time.

✓ [17]

Insurance Refers to financial risk sharing as it transfers the risk of compensable loss to the insurer.

✓ [15][22]

Customer service

Improve responsiveness to customers to ensure future customer loyalty.

✓ [5][17]

Knowledge management

Understanding business ecosystem disruptions with the capacity to learn from past disruptions to develop better preparedness for future events.

✓ [17][26]

Feedback mechanism Prevent the same" attack" / shock from negatively affecting the system more than once. The negative feedback mechanism attempts to reverse the changes and restore the system to the normal state.

✓ [20] ii. Capabilities. There are several critical capabilities that influence the resilience/antifragility ability of a business system to overcome disruptions [21][29]. Table 4 provides a summary of relevant capabilities or attributes.

Convexity

Things with positive asymmetries that expose to exponentially more benefit as uncertainty increases.

✓ [1][6] [12] Agility Ability of a business to rapidly respond to changes in environment.

✓ [17][25][26] [30][31]
Simplicity Ensures decrease of complexity by removing fragile and harmful elements.

✓ [4][21] Visibility Traceability of products and the environment of a business ecosystem.

✓ [2][17][23] [26][30][31]
Creativity Flexibility of thinking, perceptiveness of problems, and redefine and elaborate ideas.

✓ [12][14] [24] Financial strength Capacity to retain volatility in cash flow.

✓ [2][3][5][22]
The above lists of examples are not exhaustive but nevertheless provide a global overview of existing proposals.

Contributing Knowledge Areas

Resilience and Antifragility in disruptive business ecosystems are related to or can benefit from different concepts introduced in various disciplines such as collaborative networks, systems thinking, thermodynamics, social science, biology, management science, and ICT. Table 5 further details how each discipline addresses different aspects of resilience and antifragility.

Table 5. Summary of contributions from different knowledge areas

Area Description Refs

Collaborative networks

Scope: The area of collaborative networks focuses on the structure and behavior of networks of autonomous entities that collaborate to achieve common goals.

Main contributions:

Collaboration typically facilitates building resilience and antifragility in the business ecosystem in the following ways:

-Through negotiation, and collaborative problem-solving.

-Creating a culture of trust and knowledge sharing.

-Identification of new opportunism by increasing communication.

Recent related approaches:

-Collective awareness: Which refers to supporting environmental awareness, to influence demand changes. -Knowledge co-production: Combining a plurality of knowledge sources to generate new knowledge to address a disruption. -Collaborative adaptive management: A kind of learning-based collaborative approach that links actors' knowledge and experience to respond to disruptions.

[29]

[31] [START_REF] Graça | Performance indicators for collaborative business ecosystems -Literature review and trends[END_REF] [33]

Systems thinking

Scope: This area offers a holistic approach to problem-solving that attempts to view systems from a broad perspective rather than focusing only on specific events. Main contributions: Systems thinking tools allow a deeper understanding of the relationships, and interactions among the components of complex systems.

Recent related approaches:

-System dynamics: A useful approach in understanding the non-linear behavior of complex systems over time using stocks, flows, and internal feedback loops. -Systems engineering: An interdisciplinary collaborative approach that uses systems thinking principles and tools including modeling and simulation, to manage complexity. -Chaos theory: A useful conceptual framework to describe the unpredictability of business ecosystems. -Complexity theory: Understanding how organizations adapt to and cope with uncertainty (e.g. self-organizing).

[10]

[21]

[24]

[26] [START_REF] Berkes | Environmental governance for the anthropocene? Social-ecological systems, resilience, and collaborative learning[END_REF] Thermodynamics Scope: A branch of physics concerned with heat, temperature and their relation to energy. According the second law of thermodynamics entropy always moves from order to chaos (growth of entropy). According to the new meaning of the second law, open and non-linear systems like complex adaptive systems can overcome and recover from disruptions as they act far from equilibrium and can move from one stable state to another where entropy may decrease.

Main contributions:

-Describing the evolution/transformation behavior of complex systems.

-Providing heuristics and adaptability-based modeling.

Recent related approaches:

-Phase transition: A useful concept to describe the transition of a complex and chaotic system from one phase to another. -Multi-equilibria: A way of modeling resilience as it keeps in play both stability and innovation through adaptation. -Path-dependence: An evolutionary approach related to the "hysteresis" concept that implies disruptions having persistence effects on the subsequent trajectory of chaotic systems.

[

Netflix

What is it? An on-demand media service provider that is also pioneer in the area of antifragile internet-based systems.

How is antifragility/resilience addressed? Netflix applies the "simian army," a suite of tools referred to as "monkey services," that routinely generate real system failures with the aim of using lessons learned to prevent more massive disruptions and build up resistance against future stressors. What are related strategies/capabilities? -Fault injection: Failing fast using software tools to decrease the probability of unexpected response.

Conclusions

Resilience and antifragility are critical properties needed in future business ecosystems to allow them to survive and improve in turbulent and disruptive environments. Although there is already a good amount of literature on this subject, we are still far from having effective solutions. Through a multidisciplinary literature review, this paper analyzed different perspectives, concepts and approaches to overcome disruptions in the business ecosystem. Specifically, "strategies," "capabilities," "knowledge areas," and "promising examples," related to the emerging concepts of resilience and antifragility under the light of industry 4.0 were collected and current limitations identified.

Further ongoing research work is focusing the development of a simulation environment where different architectures and combinations of strategies can be assessed.

  -Modularity: Exploiting microservices architecture which is running in the Amazon Web Services. Each of the microservices focuses on their work individually with the benefit of flexibility and diversity in use. -Weak links: Using circuit breakers to ensure the services are weakly connected. A circuit breaker quickly detects a problem and breaks the weak link to stop failure propagation to other services.-Redundancy: Ensuring the availability and durability of data through redundant network and data storage.Characteristics:Fault tolerance and isolation, Graceful degradation, Learning, Scalability, Bottom-up tinkering, Fail fast.

Table 1 .

 1 Examples of strategies to prevent disruptions and prepare for disaster response.

	Strategies	Description		Approach Resil Antif	References
	Forecasting	Refers to techniques based on advanced information systems to predict the market, demand, etc.	✓	[2][5][10] [18]
	Mapping	Allows for acquiring knowledge about the current state and vulnerabilities of the ecosystem.	✓	[19]
	Barbell	Investing most of the assets conservatively while taking risks with the rest.	✓	[4][6][12] [20]
	Creating optionality	Giving the buyer/investor freedom to experiment and benefit from opportunities. Ex: lease	✓	[1][4][6] [21]
	Buffering	Attempts to gain stability by establishing safeguards that protect a firm from disturbances.	✓	[2][5][6][8] [17][22]
	Infrastructure investment	Involves systemization. Ex: ICT adoption. building infrastructure,	and	✓	[5][23]

Table 2 .

 2 Examples of strategies to cope with disruptions in immediate aftermath the event.

	Strategies	Description	Approach Resil Antif	References
	Acceptance of disruption risk	Do nothing when the mitigation costs are higher than disruption risks.	✓	[15]
	Postponement	Delaying operations or activities until the last possible moment to recognize and meet demand.	✓	[17]
	Revision	Substitution and revision of plan of sourcing, operations, and facility in response to disruptions.	✓	[22][25] [26]
	Demand managing	Demand switching through different incentives, and pricing strategy.	✓	[3][15][22]

Table 4 .

 4 Examples of attributes that enable a business to overcome disruptions.

	Capabilities (Attributes)	Description	Approach Resil Antif	References
	Flexibility	Ensures that the changes caused by a risk event can be absorbed through useful reactions.	✓	[2][23][25] [30]
	Redundancy	Having multiple assets/sources able to perform the same function.	✓	[6][17][19] [22][25]

Table 6 .

 6 Summary of promising examples

	4]
	[24]
	[34]
	[35]

Acknowledgments

This work was funded in part by the Center of Technology and Systems (CTS) and the Portuguese Foundation for Science and Technology (FCT) through the Strategic Program UID/EEA/00066/2013.

ASCENS

What is it? Project to develop an integrated set of methods and tools to build autonomic service-component ensembles capable of local and distributed fault reasoning. How is antifragility/resilience addressed? Relying on a comprehensive approach to engineer autonomic service components which offers both pragmatic and formal theories and methods to support modeling, reasoning, monitoring and dynamic adaptation. These service-component ensembles are multi-agent systems in the form of intelligent swarms that can adapt at runtime, adjusting to the state of the environment and acquiring knowledge about themselves, other service components, and their environment. What are related strategies/capabilities? -Self-managing: Autonomic self-adaptive systems with selfmanaging "objectives provide autonomy features in the form of a system's ability to automatically discover, diagnose, and cope with various problems." -Feedback mechanism: Three different feedback loops that enables continuous improvement. -Self-healing: Nodes are self-aware of changes in load and of the network structure, which calls for self-healing properties. -Redundancy: Using redundant data storage to prevent data loss in cases where nodes drop out of the system. Characteristics: Swarming, Fragmentation, Self-aware, Self-adaptive, Self-organize. [START_REF] Zwieback | Antifragile Systems and Teams[END_REF] Tinkering school What is it? "Tinkering" is at the core of student's educational philosophy and the basis of everything children do. Children with freedom to play learn life lessons through "tinkering" and gain experience of things such as uncertainty, and failure that prepare them for real world conditions. How is antifragility/resilience addressed? Tinkering school uses real tools, real materials, and practical problems in different ways to intentionally force students into disruption situations to encourage them to quick response and prototyping. Through different play and team working technics they learn about creativity, responsibility, persistence, adaptability, which are critical characteristics of resilient/antifragile people.

What are related strategies/capabilities?

-Learning by doing: Encourage children to create things bigger than usual in order to make mistakes and learn from them. -Trial and error: Putting children in situations that love mistakes (to become antifragile) by making numerous errors which are small in harm, even reversible and quickly overcome them.

-Collaboration: Through trust and creativity leads to learning how to collaboratively design, build, solve problems to develop capable, adaptable citizens of the world.

-Transformability: Related to changes of how the kids see the world and themselves through learning the ability to overcome stressors, thinking of non-obvious solutions (creativity), and confidence to change when things aren't working (adaptability). Characteristic: Adaptability, Tinkering innovation, and creativity, Selfreliance, Autonomy, Self-sufficiency, Growth mindset.

[4] [38] [42]

Kubernetes

What is it? An open-source platform to automate, deploy, and manage containerized applications and services. How is antifragility/resilience addressed? Kubernetes is a resilient container orchestration technology that can spread service instances on multiple nodes using an anti-affinity feature to reduce correlated failures. What are related strategies/capabilities? -Self-aware: Detecting the breakdown, routing around it, and taking corrective actions automatically. -Real-time monitoring: Performing regular health checks to detect failures in the services. -Fallback and graceful degradation: Restarting the container and bringing the application back to a healthy state when a failure is detected. Characteristic: Auto deployment, Auto-scaling, Observability, Selfhealing, Self-management, Decentralization, Isolation.

[41]

Future Direction

The current literature on resilience and antifragility mostly remains at a conceptual and some even at speculative level. The underlying mechanisms are not yet adequately understood, and thus the design of architectures and governance mechanisms for resilient/antifragile systems is not trivial. Therefore, it is necessary to move from these theoretical approaches to practical systems that enhance their strength through experience and error in complex and disruptive scenarios. Next stage of our planned work is to suggest a self-adaptive system that can help the creation of collaborative business ecosystems that can learn from turbulence and improve when facing disruptions (i.e., become transformative resilient or antifragile). However, one crucial issue is how to evaluate such approaches? Since the behavior of complex/chaotic systems is unpredictable/non-linear, we cannot apply conventional processes, and also waiting for disruptions to happen to learn from them is too risky. On the other hand, using the real business ecosystems to "play" with them and test new ideas is not feasible. Therefore, the planned approach is to develop a multi-agentbased and system dynamics-based modeling and simulation framework to allow testing new solutions and their effectiveness on the context of disaster scenarios. The simulation of the disaster response activity is achieved by modeling each element involved in the ecosystem as an agent. Every agent learns about its environment and collaborates with other agents. Agents execute autonomously and make their own decisions about future actions. Therefore, the ongoing work includes: (1) Analyzing the combination of different strategies/capabilities and how they influence the business ecosystems' resilience/antifragility. The challenge is how to design and select an appropriate combination of strategies to make a system resilient/antifragile?;

(2) Collecting empirical evidence to identify the potential of cyber-physical systems usage in the business ecosystem resilience/antifragility; (3) Propose guidelines to build resilient/antifragile systems for volatile and complex environment: (4) Introducing a mechanism to measure the level of resilience/antifragility in the ecosystem.


Duarte Alemão
email: d.alemao@uninova.pt

André Dionísio Rocha
email: andre.rocha@uninova.pt

José Barata

Production Scheduling Requirements to Smart Manufacturing

Keywords: Production Scheduling, Manufacturing Systems, Smart Manufacturing, Scheduling Requirements

The production scheduling has attracted a lot of researchers for many years, however most of the approaches are not targeted to deal with real manufacturing environments, and those that are, are very particular for the case study. It is crucial to consider important features related with the factories, such as products and machines characteristics and unexpected disturbances, but also information such as when the parts arrive to the factory and when should be delivered. So, the purpose of this paper is to identify some important characteristics that have been considered independently in a lot of studies and that should be considered together to develop a generic scheduling framework to be used in a real manufacturing environment.

Introduction

The manufacturing systems are going through a significant transformation since market has evolved to a more diversified and customized products demand during the last decades. To deal with this process, factories should adapt themselves and adopt a more dynamic and agile paradigm, able to quickly reconfigure and adapt to the market requirements. The raising of the 4 th Industrial Revolution (4IR), encompassing characteristics and paradigms such as Cyber-physical Production Systems (CPPS), Internet of Things (IoT), Cloud-based manufacturing or Radio Frequency Identification (RFID), is allowing to develop more dynamic and agile approaches which improve the efficiency of the manufacturing systems.

In order to achieve the needed productivity on the shop-floor, it is crucial to develop an efficient schedule of what, where and when is going to be processed within the factory. Nevertheless, the scheduling process can be a hard task to perform in a real manufacturing system, regarding all the complex constraints and limitations that can arise from a dynamic system.

To deploy a generic scheduling solution in a factory it is necessary to consider and combine some features that are sometimes ignored in the literature, mostly due to the complex implementation of them. Although there are functional implementations in real manufacturing systems, those are focused on the specific problem. On the other hand, most studies are focused on testing benchmarks and not developing strategies to be deployed in real environments as demonstrated in Çaliş and Bulkan [START_REF] Çaliş | A research survey: review of AI solution strategies of job shop scheduling problem[END_REF]. Nowadays, with the 4 th Industrial Revolution it is necessary to understand which functionalities the factories need in this context. This paper intends to highlight some technical characteristics that are usual in real environments however are sometimes ignored in literature. Bring them together can contribute to develop a robust generic solution, able to be implemented in a real manufacturing system.

The paper is organized as followed: in Section 1 is given an overview of the paper objective; Section 2 does the link between the paper content and the Industrial and Service Systems; Section 3 provides a brief overview of smart manufacturing; Section 4 consists in the analysis of scheduling solution; in Section 5 is done a summary of the analysis; in Section 5 a conclusion of the work, as well as the further work, is presented.

Relation to Industrial and Service Systems

Industrial manufacturing systems are evolving, and the trending paradigm of mass production has been changed to mass customization. The smart factories have emerged, constituted by smart entities along the shop-floor, as well as a lot of sensors, and able to improve processes through self-optimization. By combining production, data and communication technologies it allows the integration of the entire manufacturing supply chain. To deal with the rigorous market demand it is necessary to have an excellent coordination and organization in manufacturing systems.

This paper aims to point out some features that should be considered when developing scheduling solutions and which are often ignored or considered as having no value in a lot of studies. Sometimes these characteristics are not considered due to the raise in complexity that involves considering such a number of details, and this also creates a problem in terms of the performance of the algorithms.

Therefore, instead of worrying with developing better algorithms in terms of performance, this work focusses on searching for requirements that will make possible to develop a generic approach that can be used in real manufacturing systems.

Smart Manufacturing

The factories have been obliged to adapt their systems to respond efficiently to the current trend of highly customized products. Thus, they evolved from Dedicated Manufacturing Lines (DML), dedicated to mass production, to Flexible Manufacturing Systems (FMS) which were adopted to provide responsiveness and agility to the systems, once it was able to ease the changes in products and resources [START_REF] Koren | Design of reconfigurable manufacturing systems[END_REF]. However, the huge demand from the customers led to an insufficient production rate which did not provide the necessary response to the market [START_REF] Koren | Design of reconfigurable manufacturing systems[END_REF], [START_REF] Elmaraghy | Smart Adaptable Assembly Systems[END_REF].

The necessity for more responsiveness systems able to launch new products and to react quickly and cost-effectively to market changes, as well as order changes and unexpected failures led to a new manufacturing approach known as Reconfigurable Manufacturing Systems (RMS) [START_REF] Koren | Reconfigurable Manufacturing Systems[END_REF], [START_REF] Ribeiro | Re-thinking diagnosis for future automation systems: An analysis of current diagnostic practices and their applicability in emerging IT based production paradigms[END_REF]. As stated in [START_REF] Koren | Design of reconfigurable manufacturing systems[END_REF] RMS "are not constrained by capacity or by functionality, and are capable of changing over time in response to changing market circumstances". The crucial scopes of RMS are [START_REF] Ribeiro | Re-thinking diagnosis for future automation systems: An analysis of current diagnostic practices and their applicability in emerging IT based production paradigms[END_REF]: modularity, integrability, flexibility, scalability, convertibility and diagnosability.

Following the trend of the 4IR, with the development of IoT, Information and Communications Technology (ICT) and CPPS, factories are becoming more digital and smarter, by connecting and networking the manufacturing units with each other [START_REF] Elmaraghy | Smart Adaptable Assembly Systems[END_REF]. The use of more sensors combining with the collaboration between entities makes it possible to extract more data from the system, which should be converted in useful information. Thus, the traditional machines are able to become aware of the environment and provide self-optimization. This enables the companies to deal with the challenge of producing more customized and high-quality products demanded by the market [START_REF] Elmaraghy | Smart Adaptable Assembly Systems[END_REF], [START_REF] Gao | Construction of Intelligent Manufacturing Workshop Based on Lean Management[END_REF]- [START_REF] Zhong | Intelligent Manufacturing in the Context of Industry 4.0: A Review[END_REF].

Scheduling

The production scheduling plays an important role in smart manufacturing systems. To keep it reliable it is crucial to have an online representation of the production and maintenance processes, which can dynamically adapt to the environment, since unexpected events may occur, machines may not be available all the time, and setup times could be sequence-dependent [START_REF] Kaplanoǧlu | Multi-agent based approach for single machine scheduling with sequence-dependent setup times and machine maintenance[END_REF].

The development of CPPS, as well as the IoT, brought a strong connection between hardware and software to the factories, through the development of sensor networks equipped with computational intelligence. It allows the real-time access to the system data, providing the information to build and rebuild a schedule faster than ever before, improving the agility and robustness of manufacturing systems. The use of cloud computing and web services can also make the systems more dynamic, reconfigurable, scalable and modular, making possible to develop more robust and adaptable scheduling solutions. The cloud manufacturing, which relies on the is supported by the cloud computing, IoT, virtualization and service-oriented technologies allows to smartly manage the resources and products on the shop-floor and makes it easy to deal with scalability [START_REF] Zhong | Intelligent Manufacturing in the Context of Industry 4.0: A Review[END_REF], [START_REF] Yao | Smart manufacturing based on cyber-physical systems and beyond[END_REF].

Using new technologies, such as the use of sensors in robots, integrated with an efficient analysis of the collected data can provide the basis to produce an intelligent schedule of both preventive and corrective operations [START_REF] Elmaraghy | Smart Adaptable Assembly Systems[END_REF]. Besides the production and maintenance scheduling are often executed independently in real manufacturing systems, sometimes the systems can benefit if they are performed together [START_REF] Liu | Single-machine-based joint optimization of predictive maintenance planning and production scheduling[END_REF].

Currently, and responding to the change in manufacturing paradigm, enterprises have been focus in factors such as time, quality, environment, society, knowledge, and many others, instead of just focusing in reduce the cost production and increase the yield, which can create and add more value to the company [START_REF] Tao | Advanced manufacturing systems: socialization characteristics and trends[END_REF], [START_REF] Koren | Sustainable Living Factories for Next Generation Manufacturing[END_REF].

Scheduling Requirements

In manufacturing systems, it is possible to find a lot of requirements and constraints to run the system efficiently. Regarding the scheduling process, there are numerous requirements that can be listed to achieve a robust and efficient solution to deal with the factory constraints. Besides basic and common assumptions such as only one operation of each job may be processed at a time, no machine may process more than one operation at a time, an operation can only be performed once and the operation precedence within a product should be respected [START_REF] Karimi | Scheduling flexible job-shops with transportation times: Mathematical models and a hybrid imperialist competitive algorithm[END_REF], here other important requirements that should be considered when developing a scheduling solution are presented.

There is a large range of aspects considered when developing a scheduling system, such as economic, managerial, societal and environmental aspects. Most of them focus on classical aspects such as flexibility, transportation time, processing time variations, setup times or maintenance activities [START_REF] Koren | Sustainable Living Factories for Next Generation Manufacturing[END_REF], [START_REF] Hongying | A Survey of Recent Research on Optimization Models and Algorithms for Operations Management from the Process View[END_REF]. More recently, the research community have been focusing on solving problems such as energy cost, carbon emission or other pollutant gas emissions [START_REF] Hongying | A Survey of Recent Research on Optimization Models and Algorithms for Operations Management from the Process View[END_REF].

Chou, Cao and Cheng [START_REF] Chou | A bio-inspired mobile agent-based integrated system for flexible autonomic job shop scheduling[END_REF] developed a dynamic scheduling considering machine breakdown, and able to recover from its faults and prevent them from happening. It was proposed an agent-based solution to solve a distributed job-shop scheduling problem. The system is able to self-configure and to manage itself with barely human interaction, and deal with possible system disturbances. Furthermore, the solution tries not only to minimize the makespan but also the energy consumption. Shahrabi, Adibi and Mahootchi [START_REF] Shahrabi | A reinforcement learning approach to parameter estimation in dynamic job shop scheduling[END_REF] proposed a dynamic scheduling approach considering both machine breakdowns and random products arrival to the system. Kaplanoǧlu [START_REF] Kaplanoǧlu | Multi-agent based approach for single machine scheduling with sequence-dependent setup times and machine maintenance[END_REF] proposed a dynamic a scheduling approach for a single machine considering dynamic arrival of jobs without the need to re-solving all the problem, due to the flexibility of decentralized control systems. Moreover, it considers maintenance activities, both periodic and non-periodic, where the machine needs a maintenance operation when a deterioration threshold is reached, and a setup time is required before each operation starts and it is based on the previous processed product in that machine. In Zhang et al. [START_REF] Zhang | The 'Internet of Things' enabled real-time scheduling for remanufacturing of automobile engines[END_REF] was applied the concept of Internet of Manufacturing Things and Real-time Production Scheduling with real-time maintenance operations considering the energy consumption of maintenance, the total maintenance cost and the loading rate of workers to develop a real-time data-driven production scheduling which gets realtime status and information from the shop-floor components, as well as information about unexpected events. Thus, it is possible to dynamically monitor the systems to provide optimal updated schedule solutions. The approach tries to minimize the assembly costs, the energy consumption, and the tardiness delivery rate, as well as to improve the resources management. Liu, Dong and Chen [START_REF] Liu | Single-machine-based joint optimization of predictive maintenance planning and production scheduling[END_REF] developed a scheduling solution considering both production and maintenance planning in a single machine. The deterioration state of the machine is considered at each time and a predictive maintenance task can be allocated. The solution combines analytical information, such as machine deterioration, and the available resources to get an optimal scheduling considering predictive maintenance activities. This will improve the machine lifetime.

Shen, Dauzère-Pérès and Neufeld [START_REF] Shen | Solving the flexible job shop scheduling problem with sequence-dependent setup times[END_REF] considered a flexible scheduling to solve a job-shop problem with flexible machines, where each machine is able to execute more than one operation. The solution also considers sequence-dependent setup times. The setup times can be dependent on the machine or on the sequence of operations processed. The conducted experiments showed that the integration of structural properties in scheduling problems is extremely important. In Lu et al. [START_REF] Lu | A genetic algorithm embedded with a concise chromosome representation for distributed and flexible jobshop scheduling problems[END_REF] was developed an approach to solve a flexible job-shop scheduling where an operation of a product can be processed by more than one machine. Chang and Liu [START_REF] Chang | Optimisation of distributed manufacturing flexible job shop scheduling by using hybrid genetic algorithms[END_REF] proposed an approach to solve a distributed (considering different factories) and flexible jobshop scheduling problem, where products can be assigned to different factories and different machines in each factory. Each machine is able to execute more than one operation, and each job can be performed in a set of possible machines. The solution considers the delivery times of the products, after the process is finished. In Han et al. [START_REF] Han | A Petri net-based particle swarm optimization approach for scheduling deadlock-prone flexible manufacturing systems[END_REF] was proposed a hybrid particle swarm optimization algorithm to solve the deadlock-free scheduling problem in a flexible manufacturing system considering both routing flexibility and machine flexibility.

Alotaibi, Lohse and Vu [START_REF] Alotaibi | Dynamic Agent-based Bi-objective Robustness for Tardiness and Energy in a Dynamic Flexible Job Shop[END_REF] proposed a multi-agent system solution which eases the reconfigurability and adaption of the schedule in response to unpredictable changes. The main goal of the agents is to reach a global objective from local agent solutions. It aims not only to minimize the tardiness but also to minimize the total energy consumption. A particle swarm optimization together with chaos theory was used in Petrović et al. [START_REF] Petrović | Integration of process planning and scheduling using chaotic particle swarm optimization algorithm[END_REF] to solve the process planning and scheduling problem considering the transportation time between different machines. The solution contemplates the production time which considers the processing time of the operation, the transportation time, the total tool change time and the total setup change time. Karimi et al. [START_REF] Karimi | Scheduling flexible job-shops with transportation times: Mathematical models and a hybrid imperialist competitive algorithm[END_REF] developed a solution which includes the transportation times between the machines in a flexible job-shop scheduling problem, where the transportation is dependent of the distance between machines and the type of job to be transported. However, it is considered that the number of transporters is infinite, which is not true in real manufacturing systems, and so there is no transportation delays. Jia et al. [START_REF] Jia | Integration of genetic algorithm and Gantt chart for job shop scheduling in distributed manufacturing systems[END_REF] used an objective function to solve the job-sop scheduling problem in a distributed manufacturing system which considers the transportation cost of the parts between factories.

Yazdani et al. [START_REF] Yazdani | Optimizing the sum of maximum earliness and tardiness of the job shop scheduling problem[END_REF] proposed a solution for solving the job-shop scheduling problem with multiple machines where is introduced an objective function with the sum of maximum earliness and tardiness criteria. In Bürgy and Bülbül [START_REF] Bürgy | The job shop scheduling problem with convex costs[END_REF] was developed an approach to solve the job-shop scheduling problem where the storage, earliness and tardiness of products are penalized with different costs, with the objective of finish them just in time. Both release and due dates are considered, so the parts are not always available. Kuhpfahl and Bierwirth [START_REF] Kuhpfahl | A study on local search neighborhoods for the job shop scheduling problem with total weighted tardiness objective[END_REF] developed a solution to solve the total weighted tardiness objective in a flow-shop problem.

Chung and Kim [START_REF] Chung | A hybrid genetic algorithm with two-stage dispatching heuristic for a machine scheduling problem with step-deteriorating jobs and ratemodifying activities[END_REF] try to solve the scheduling problem in order to the makespan on a single machine with step-deterioration and rate-modifying activities which affect the processing times of the operations. If a value is higher than a given deterioration threshold, then a step deterioration is added to the processing time. A cloud-based solution was developed in Helo, Phuong and Hao [START_REF] Helo | Cloud manufacturing -Scheduling as a service for sheet metal manufacturing[END_REF] to solve a flow-shop scheduling problem. This allows to perform near real-time analysis and collect and update the processing times of each machine very quickly. In Zarook and Abedi [START_REF] Zarook | JIT-scheduling in unrelated parallel-machine environment with aging effect and multi-maintenance activities[END_REF] was developed an approach to solve a parallel-machine scheduling problem where the time affects the performance of the machines until they are subjected to maintenance. The time to operate a task increases due to the wear caused by the already processed products, that is why it is necessary to consider flexible processing times. The objective is to minimize the earliness and tardiness, and the maintenance cost which is also considered. Just-in-time is pursued by operations managers for achieving both customer and manufacturer satisfaction simultaneously.

Zhang, Gao and Li present [START_REF] Zhang | A hybrid genetic algorithm and tabu search for a multiobjective dynamic job shop scheduling problem[END_REF] present a scheduling solution to solve a job-shop problem, considering random job arrivals and machine breakdowns. Thus, an operation can be interrupted due to machine breakdown. The remaining processing time of the operation is then equal to the total time minus the time already processed. The objective is to minimize the makespan and the stability after performing the reschedule. Nikolakis [START_REF] Nikolakis | Dynamic scheduling of shared human-robot manufacturing operations[END_REF] adopted a strategy to reschedule a task (which is divided in operations) in case of occurrence of unexpected events. The task can be rescheduled entirely or from the beginning of a specific operation. The main goal is to minimize the mean flow time, but "there is no restriction on the kind and number of criteria that can be selected".

Xiong et al. [START_REF] Xiong | A simulation-based study of dispatching rules in a dynamic job shop scheduling problem with batch release and extended technical precedence constraints[END_REF] developed a scheduling approach to solve a dynamic job-shop problem, where new jobs can arrive during the process, using dispatching rules considering the precedence constraint between products, and to minimize the tardiness. Furthermore, release and due dates of the parts are considered, which reflects and important aspect in manufacturing systems.

Chan, Choy and Bibhushan [START_REF] Chan | A genetic algorithm-based scheduler for multiproduct parallel machine sheet metal job shop[END_REF] developed a solution to solve the job-shop scheduling problem in a flexible shop with the objective of minimizing the makespan. It the study was considered that the parts have a release and due date, and setup times were taken into account.

Azami, Demirli and Bhuiyan [START_REF] Azami | Scheduling in aerospace composite manufacturing systems: a two-stage hybrid flow shop problem[END_REF] developed a solution to solve a specific realworld hybrid flow-shop problem, where machines are arranged into different stages in series. Some constraints were considered such as a limited number of workstations in each cell, the parts cannot stay too long in the buffer area, the buffer has a limited capacity and different parts need to be grouped before being sent for the cure process. The parts also have a due date to be finished. Gao et al. [START_REF] Gao | Flexible Job-Shop Rescheduling for New Job Insertion by Using Discrete Jaya Algorithm[END_REF] studied a real situation of a remanufacturing enterprise to perform the rescheduling process in a job-shop. Thus, they considered new job insertions during the process, as well as flexible machines able to perform different operations. The objective was to minimize the instability regarding the first scheduling, as well as to minimize the makespan or the total flowtime or the machine workload or the total machine workload.

Analysis and Discussions

Based on the analyzed papers, it is possible to come out with some common requirements which are considered when developing scheduling solutions. The percentage of each characteristic present in the articles is shown in Fig. 1. The percentage of the number of characteristics studied together in each paper is shown in Fig. 2.

The real manufacturing environments need to deal with dynamic events that sometimes are not expected and may occur anytime. Those unexpected disturbances that can happen during the manufacturing process may be changes in the shop-floor, the arrival of new products to the factory or unexpected machine breakdowns, and a dynamic schedule should be able to respond to it in real-time [START_REF] Chou | A bio-inspired mobile agent-based integrated system for flexible autonomic job shop scheduling[END_REF], [START_REF] Shahrabi | A reinforcement learning approach to parameter estimation in dynamic job shop scheduling[END_REF]. Furthermore, to respond to the market demand for more customized products, manufacturing systems are becoming more flexible, able to produce different products by sharing tools. In a flexible system an operation can be executed in more than one machine (routing flexibility) or each machine can be able to perform more than one operation by sharing resources (machine flexibility). More factories are adopting flexible machines, able to perform more than a unique task, thus a scheduling considering flexible machines is important in the context of the 4IR [START_REF] Karimi | Scheduling flexible job-shops with transportation times: Mathematical models and a hybrid imperialist competitive algorithm[END_REF], [START_REF] Lu | A genetic algorithm embedded with a concise chromosome representation for distributed and flexible jobshop scheduling problems[END_REF], [START_REF] Han | A Petri net-based particle swarm optimization approach for scheduling deadlock-prone flexible manufacturing systems[END_REF], [START_REF] Lei | Hybrid heuristic search approach for deadlockfree scheduling of flexible manufacturing systems using Petri nets[END_REF]. Likewise, dynamic events and the uncertainty during the processes makes the way for reconfigurable systems, able to respond autonomously and deal with those events [START_REF] Alotaibi | Dynamic Agent-based Bi-objective Robustness for Tardiness and Energy in a Dynamic Flexible Job Shop[END_REF]. Most of the times machines and tools are subject to deterioration. So, maintenance activities play a crucial role in manufacturing systems and should be considered in scheduling solutions in order to achieve a better performance of the system, either a pre (to avoid) or post-failure (to recover) solution [START_REF] Kaplanoǧlu | Multi-agent based approach for single machine scheduling with sequence-dependent setup times and machine maintenance[END_REF], [START_REF] Zhang | The 'Internet of Things' enabled real-time scheduling for remanufacturing of automobile engines[END_REF], [START_REF] Liu | Single-machine-based joint optimization of predictive maintenance planning and production scheduling[END_REF]. A less common requirement, but which can be important in some situations is preemption. Although it could be hard to handle, due to the implementation complexity, sometimes could be important to restart a process from the same point when an operation has been interrupted, so it could improve the performance of some production system. Another not commonly discussed characteristic is the precedence constraints among the operations of different products. For example, in the assembly process of two or more parts [START_REF] Xiong | A simulation-based study of dispatching rules in a dynamic job shop scheduling problem with batch release and extended technical precedence constraints[END_REF]. However, it is hard to find this constraint being considered in manufacturing scheduling studies.

Some other features present in real environments, often ignored in literature, are: the transportation time of the parts within the factory, a crucial feature to plan an efficient production that can vary a lot during the process [START_REF] Karimi | Scheduling flexible job-shops with transportation times: Mathematical models and a hybrid imperialist competitive algorithm[END_REF]; most of the times the products need to be ready for delivery at some time and it could be crucial to not overcome those dates (tardiness). On the other hand, it could be important to not finish the products too soon (earliness) as well, since it can lead to some wear in the parts or involve storage costs [START_REF] Yazdani | Optimizing the sum of maximum earliness and tardiness of the job shop scheduling problem[END_REF], [START_REF] Kuhpfahl | A study on local search neighborhoods for the job shop scheduling problem with total weighted tardiness objective[END_REF]; processing times may vary in real manufacturing systems due to the most diverse situations, and they mainly increase over time. It can be caused by resources deterioration, a fault in the setup, or the surrounding conditions [START_REF] Chung | A hybrid genetic algorithm with two-stage dispatching heuristic for a machine scheduling problem with step-deteriorating jobs and ratemodifying activities[END_REF], [START_REF] Zarook | JIT-scheduling in unrelated parallel-machine environment with aging effect and multi-maintenance activities[END_REF]; the setup times, which play a crucial role in real manufacturing systems. In some cases setup times are required amongst operations and may depend on the precedent process [START_REF] Kaplanoǧlu | Multi-agent based approach for single machine scheduling with sequence-dependent setup times and machine maintenance[END_REF], [START_REF] Shen | Solving the flexible job shop scheduling problem with sequence-dependent setup times[END_REF]; release and due dates can be crucial in manufacturing systems and are often present in real situations. An operation should be scheduled to a date after the part is available. On the other hand, there are due dates to be met and when a product should be ready. Also, finishing a product before the due date means that it needs to be stored in the factory and besides taking storage space it may be subject to some wear. The buffer storage, often ignored when developing algorithms, is also a crucial feature in manufacturing environments, since factories do not have infinite storage to hold the products.

Conclusion and Further Work

This paper conducts a comprehensive review of classical requirements of scheduling that need to be considered simultaneously in order to develop a generic scheduling framework. By analyzing the literature, it is possible to identify common requirements that are important to consider to scheduling manufacturing approaches. However, most studies tend to neglect some of these characteristics, trying to achieve better simulation results, instead of validating solutions on industrial environments. Even though the complexity of the solution can increase a lot when considering all of these conditions, it is important to develop approaches able of being transferred to real manufacturing environments.

This paper presents a collection of some crucial requirements important to consider when developing a production scheduling solution for manufacturing systems. It is critical nowadays, in an era where the factories are becoming more digital and have more data to be processed than ever before, to have more organized and wellstructured manufacturing solutions, starting by the scheduling of the production.

All the requirements presented before are important and should be considered in order to develop a generic scheduling solution to be used in a real manufacturing system, even if some of them are not so important in a specific case. However, a complete and robust generic approach should not ignore and not be restricted to these characteristics only. The 4IR makes it possible to develop flexible, reconfigurable and efficient production systems, and acquire information provided by the sensors, making possible to react to environment disturbances in real-time.

It is important to put some effort in connect and relate what already exists instead of only try to create and improve algorithms to test on benchmark and focus in just a few aspects of the scheduling.

In further work it is necessary to study the importance of characteristics such as societal and environmental characteristics, as well as to understand how the 4IR will help the scheduling process, by autonomously and dynamically adapt the scheduling to the current environment in a smoother way. The development of a framework able to deal with all these different kind of aspects in a generic way, making it possible to use the same scheduling approach for different manufacturing scenarios will be considered.

Fig. 1 -

 1 Fig. 1 -Percentage of characteristics present in analyzed papers

Fig. 2 -

 2 Fig. 2 -Number of characteristics taken into account in the same study based on the analyzed papers.