Digital Twin- next level of digital transformation

A digital twin can be defined, fundamentally, as an evolving digital profile of the historical and current behavior of a physical object or process that helps optimize business performance.

Throughout the product development life cycle, right from the design phase to the deployment phase, organizations can have a complete digital foot print of their products. These ‘connected digital things’ generate data in real time, and this helps businesses in better analyze and predict the problems in advance or give early warnings, prevent downtime, develop new opportunities and even plan better products for the future at lower costs by using simulations.

Head

All these will have a greater impact on delivering a better customer experience in business as well.

dt

 

dt1

Digital Twins which incorporates Big Data, Artificial Intelligence (AI), Machine Learning (ML) and Internet of Things are key in Industry 4.0 and are predominantly used in the Industrial Internet of Things, engineering, and manufacturing business space. The widespread reach and usage of the Internet of Things have made the Digital Twins more cost-effective and accessible for the business world.

3 key areas

  • Improvement in the manufacturing process.
  • Provide efficient predictive maintenance of existing products.
  • Developing new products based on real world usage of existing system.

How does a digital twin work?

  • Digital Twins, the virtual counterparts of the physical assets are created as digitized duplicates of machines/ equipment or physical sites using sensors.
  • These digital assets can be created even before an asset is built physically.
  • To create a digital twin of any physical asset, the engineers collect and synthesize data from various sources including physical data, manufacturing data, operational data and insights from analytics software. All this information along with AI algorithms is integrated into a physics-based virtual model and by applying Analytics into these models we get the relevant insights regarding the physical asset.
  • The consistent flow of data helps in getting the best possible analysis and insights regarding the asset which helps in optimizing the business outcome. Thus the digital twin will act as a live model of the physical equipment.

Digital Twin cloud platform

Usecase

Providers

Siemens and Bentley Systems announce Plant Sight digital twin cloud services

Providers

Applications of Digital Twins

  • Manufacturing
  • Automobile
  • Retail
  • Healthcare
  • Smart Cities
  • Industrial IoT

save millions of dollars in maintenance costs and reduce product defects and shorten time to market.

Problems and benifits

Digital twins and IoT

digital twin enables a device-as-a-service.

Microsoft Azure IoT does have the concept of a ‘device twin’ that is part of their device management solution.

Amazon refers to a ‘device shadow’ as their version of a digital twin.

digital twin on IBM Watson IoT.

Digital twin vs. predictive twin

November 2017 article for Network World, contributor Deepak Puri outlined an example of an Oracle digital-twin tool that provides users with two options – a digital twin and a predictive twin.

The digital twin “can include a description of the devices, a 3D rendering and details on all the sensors in the device. It continuously generates sensor readings that simulate real life options.”

The predictive twin “models the future state and behavior of the device,”

Digital twins in the industry 4.0

Digital Twins is at the core of this new industrial revolution bringing an unlimited possibilities

It changes the traditional approach of ‘the first build and then tweak’ in the industrial world and brings in a more virtual system based design process that brings in the much more efficient role out of any equipment or system by understanding its unique features, performance, and potential issues if any.

Skills?

specialized expertise in machine learning, artificial intelligence, predictive analytics and other data-science capabilities.

The Pragmatic Programmer

Priyanka.R : Ramarson Technology Developers LLP 

A Pragmatic Philosophy is an attitude, a style, a philosophy of approaching problems and their solutions. Taking responsibility, accepting changes &Understanding the context for better software in a continuous learning cycle

Tips for becoming a Pragmatic Programmer ;

1: Care about your craft – Develop your software well with good software tools and best possible technology available.

2: Think ! about your work – Turn off the autopilot, think every decision you are making every day.

The Cat Ate My Source Code

–Provide Options, Don’t Make Lame Excuses–Take Responsibility

Don’t Live with Broken Windows

Don’t leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up.

Soldier’s story! ‘Be a Catalyst for Change”! The villagers think about the stones and forget about the rest of the world. We all fall for it, every day. Things just creep upon us.

–Take awareness of yourself, don’t be the boiling frog imagine the big picture

–Constantly review what’s happening around you, not just what you personally are doing.

–Being so concerned with the details of a problem, you can’t see its overall structure.

THE PRAGMATIC APPROACH

The Evils of Duplication: The problem arises when you need to change a representation of things that are across all the codebase.

Types of duplication:–Imposed duplication–Inadvertent duplication–Impatient duplication and–Inter-developer duplication

ORTHOGONALITY

–Two or more things are orthogonal if changes in one do not affect any of the others. Orthogonality allows to:

–reduce the numbers of errors–divide functions within an application easier–divide teams more logical–test faster

TRACER BULLETS

–Tracer Bullets Don’t Always Hit Their Target

–Whereas tracer bullets (can be algorithms, techniques, languages, or libraries) should penetrate a bigger area, prototyping provides great feedback when exploring a more focused area of the project.

Advantages:

–Users get to see something working early–Developers build a structure to work in–You have an integration platform–You have something to demonstrate–You have a better feel for progress.–Shell Games–Debugging(Fix the Problem, Not the Blame)

THE BASIC TOOLS

Debugging Strategies:a)Visualize Your Data b)Rubber Ducking

Pragmatic Paranoia: You can’t write perfect software.

CUTTING THE GORDIAN KNOT
CHECKLIST TO IMPROVE: When solving impossible problems, ask yourself:

–Is there an easier way?

–Am I solving the right problem?

–Why is this a problem?

–What makes it hard?

–Do I have to do it this way?

–Does it have to be done at all?

GOALS: 

–Learn at least one new language every year–Read a technical book each quarter–Read nontechnical books, too–Take classes–Experiment with different environments.–Stay current–Get wired.

Golang Http Middleware

Http Middleware

Http Middleware is a shared functionality, using that we can log every request, gzip every response and check a cache before doing some heavy processing. Http Middleware has a single responsibility; we can plug it in our app at the interface level, it doesn’t affect our coding style like another layer in our request handling cycle. It is a pluggable and self-contained code, if we really want middleware we can plug it or if don’t want just remove it.                         wsgi_middlewareUsing middleware in Golang is very simple, we have to use middleware between a ServeMux and application handlers. The Http Middleware function accepts a handler as a parameter and returns a handler so that we can directly register the Middleware function with the ServeMux.

Middleware Chaining

T_AspNetCoreStartup_02In Golang, we can create handler chain by nested middleware functions inside another function. We can share values and also pass errors from one handler to another using middleware chaining.

Capture

This is an example of middleware chaining; we are passing the handler to “middlewareOne” as a variable, then transfer the control to the next “middlewareTwo” and then finally “loggingHandler”. This is necessary to know the control flow of middleware handlers, chain with other middleware handlers.

In Golang we can use Http Middleware for some specific handlers, no need to use it for all handlers. There are some third-party packages offers such kind of facilities.

Third-Party Middleware                                  

In Golang, we can use third-party package middleware instead of using our own middleware all the time. Well known third-party packages are Gorilla’s package and Negroni package.

img36

The Gorilla package has collection handler for use with Golang’s net/http package. It mainly offers handler for logging, compressing http request and responses, validating content types.

Negroni provides an idiomatic approach to use Http Middleware in Golang. It supports to use net/http handlers, and also offers a way to handle Http Middleware. Negroni package offers middleware functions for logging handlers and to use the middleware functions some specific routes.

Conclusion

The Http Middleware is one of the advantage in Golang, by using this we can log each http request, gzip all responses and also we can check the cache before doing some heavy processing. The flow control of middleware handler is very useful and effective, also we can use middleware functions for specific routes.