Design considerations and trends
The era of Industry 4.0 is upon us. Industrial manufacturing companies are facing strong demand to increase their productivity by realizing smart factories and smart manufacturing.Over the past two decades, automation in manufacturing has been transforming factory floors, the nature of manufacturing employment, and the economics of many manufacturing sectors. Today, we are on the cusp of a new automation era: rapid advances in robotics, artificial intelligence, and machine learning are enabling machines to match or outperform humans in a range of work activities, including ones requiring cognitive capabilities. Industry executives—those whose companies have already embraced automation, those who are just getting started, and those who have not yet begun fully reckoning with the implications of this new automation age—need to consider the following fundamental perspectives: what automation is making possible with current technology and is likely to make possible as the technology continues to evolve;
Lets explore what is there in the tech world, where machine can behave in similar terms as human. So when designing a system, consider the following aspect of it.
Related topics discussed in my previous posts which is about what is Abstraction, and what it mean in E&P. and Drilling Automation
Now like human, machine can communicate via messages (not objects anymore) and manipulate via affordances (hypermedia affords communication)
“When I say Hypertext, I mean the simultaneous presentation of information and controls such that the information becomes the affordance through which the user obtains choices and selects actions.” Roy Fielding, 2008
Now machine can manage their own internal models independently, which evaluate and select without human interaction . what it means is share Vocabularies over objects and object specific interfaces
look around for – HAL, collections + JASON, UBER, Atom, Schema.org, Microformats, Activity streams
Now machines can negotiate the language of a conversation like “Representer”.Some times need to translate our conversations in order to communicate, by using standard internal resource model and a strategy messages format dispatch.
Now machines can validate domain topics easily. “Profiles” provide a way to create a ubiquitous language for talking about resources for both humans and machines. Define all possible data and actions, publish using Profile Standard (RFC6906) Servers emit profile URI Clients validate profile URI
Now machines can focus on their own job, not everyone’s job. Ignoring what we don’t understand lets us “do our own thing” without knowing everyone’s job (“MUST IGNORE”)
Now machines can co-operate without full understanding of other’s work. We don’t edit for others around us(“Must Forward”).
Now machines can find most-used affordances easily. Return the most recently-used (MRU) LINKS and FORMS in all responses.
Now Machines can safely “try again”. Requests SHOULD be idempotent in order to allow safely repeat them when response is unclear.
Now machines can “look up” the available affordances. Services SHOULD return a RELATED LINK that responds with ALL the possible actions for this context.
Now machines can navigate through a long series of steps safely.Services SHOULD provide “next/previous” LINK to handle multi-step workflow with “cancel”, “restart”, & “done.”
Now machines can interact in small parts and not always be perfect. Services SHOULD accept partially filled-in FORM and return a new FORM with the remaining fields.
Now machines can set their own goals and act accordingly. Services SHOULD allow to subscribe to WATCH VALUES so that clients can determine “done”.
With the introduction of Internet-of-Things (IoT) and cyber-physical system (CPS) concepts the industrial automation sector is undergoing enormous change towards highly interconnected and globally distributed automation systems. Following this trend the industry is facing interoperability challenges between devices and systems, which origin in the market and technology fragmentation of the past years. However, established integration techniques from the IoT domain cannot be fully adapted in industrial Internet-of-Things (IIoT) environments due to stricter dependability and real time constraints.
Micro-services, Containers and Orchestration for industrial automation
Micro-services are just a cloud-friendly and Agile-friendly implementation of the decades-old concept of modularity. By encapsulating tasks into separate services, parts of an application can be developed independently, deployed efficiently as containers, and scaled out automatically with new instances as traffic grows.
Containers offer several important benefits that can make industrial automation systems simpler and more valuable to their end users and suppliers alike when compared to the embedded system technologies used in present-day industrial automation. Containers focus on applications as opposed to machines. This effectively decouples application development from the management of compute, storage and network systems where the application run. This provides value over the life of a system, by enabling application developers and system support specialists to work effectively decoupled and with far less interference.
Creating and managing repositories of container images represents a solution to the complexities introduced by variations in hardware, processor architecture. operating system and supporting software dependencies for distributed systems.
Container orchestration is equally important for many reasons such as simplified system scaling and management. The orchestrator maintain desired state of the distributed system, to achieve application availability and properties such as “self-healing”.
This mature container-based software deployment technology is highly standardized, widely used, available in open source, works on a variety of platforms, and has been field proven in installations from the very largest, to the very smallest (Raspberry PI). For networked devices that are embedded systems, which will have no future going forward, high value devices and services will be remotely monitored, managed, updated and serviced, and their software stacks will need to be served with extremely high levels of automation, along with the support of state-of-the-art development approaches (continuous integration (CI), continuous deployment (CD)) make the architecture equally suitable for the deployment on cloud, fog and edge devices. All in all, these features facilitate the deployment of services and communication protocols on device level, to enable the transparent and automatic integration of heterogeneous devices and protocols, on demand.
Reference:
- Twelve Patterns for Evolvable APIs – Mike Amundsen API Academy
- The end of industrial automation by harry forbes
Asking questions are genuinely nice thing if you are not understanding something entirely, but this article gives nice understanding yet. Ebonee Linn Pylle