Monday, March 19, 2018

Building a solution through the iterative process of enquiry

Building a solution is an iterative process of enquiry and detailing. Let us say we want to design an automated lift door control system.

Let us explore the questions that need answered before we embark on building the solution. For the current discussion we will limit our exploration to electronics and software areas. As would be evident later, building a solution would involve an integration of diverse engineering and domain understanding.


Typically, the enquiry process would be driven by three question areas – the “What”, The “Why” and the “How”. The answers are for illustration purpose and could have different variations

  • What would be the key processes that the system has to control?
    • Opening the Door
    • Closing the Door
    • Display and alerts



  • What would the various stable states that the system would be in?
    • Open
    • Close
  • What would be the trigger for opening the door?
    • Push the open door button
    • Reaching the requested floor
  • What would be the trigger for closing the door?
    • Pushing the close door button
    • Time out after the door was opened



  • What will be the transitory states of the system? Why – Some actions need to be taken during this state which is different than actions during open state and close state.

  • How does the door opening process start?
    • Sense the door open button is pressed
    • Floor Reached Signal
  • How does the door open? – Switch on the door motor to rotate in opening direction
  • How do we end the door opening process? – Switch off the door motor
    • Sense that the door is completely open
    • Stop it after a pre-determined time
    • Optional – stop it when the stop button is sensed.
  • How does the door closing process start?
    • Sense the door close button is pressed.
    • Time-out after the door is fully opened
  • How does the door close? – Switch on the door motor to rotate in closing direction.
  • How do we end the door closing process? – switch off the door motor
    • Sense that the door is completely closed.
    • Stop it after a pre-determined time
    • When an obstruction is detected in the door closing path – start the door opening process.
    • Sense the door open button is pressed

Is there a need for different intermediate states for opening and closing? Why – some actions are not the same as can be seen above


  • What are the exception handling, safety, regulatory and other conformance requirements?
    • Stop closing of door if there is an obstruction
    • Open button de-activated when lift is in between floors – this means none of the door operations are active if the lift is moving. So we need to sense this before enabling the open door process
    • Handle – power supply shut down, door slider jam, motor failure, button, sensor failure etc.
  • What are the key elements of the system to cater to the above?
    • Doors
    • Door gliding system
    • Motors with three switching possibilities – off; open – rotating in opening direction; close – rotating in closing directions 
    • Sensors to indicate fully open state, fully closed closed state, obstruction sensing; lift moving sensing
    • Optional – Alarms – LEDs, Buzzers, signals, remote maintenance alarms
    • Anything else?
  • What are the control interfaces?
    • To control motor?
    • To sense door open/close complete sensors
    • To sense lift at the floor and stationary
    • To sense the open/close button press
  • Which controller to choose? What are the options
  • How do we integrate and represent the complete system architecture?


 
As can be seen through this journey of iterative enquiry, a simple process of opening and closing a door can unravel the complex system requirements. We have not captured in the above illustration the floor request and stationary state sensing.

Anatomy of a IoT Smart Solution




The advent of connected intelligent devices has opened up a plethora of possibilities.

Let us now explore what a typical IoT solution would constitute of?
  • Sensing – 
    • What are the relevant data to be accessed and controlled for deriving actionable intelligence?
    • What are the sensors and actuators needed?
    • How are the sensors and actuators interfaced?
  • Processing – 
    • What is the signal and data processing required for aggregating and making sense of the collected data?
    • How is the data processed to drive the actuators?
  • Communicating – 
    • What is the communication medium used by sensors and actuators in reaching the data to the nearest aggregator?
    • How are the wired and wireless communication interfaces integrated?
    • How is the data securely sent and received?
  • Data aggregation – 
    • How is the raw or processed data collected from several devices aggregated and processed to derive intelligence for initiating alerts and proximity actions?
  • Communicating – 
    • How is the raw and processed data published?
    • How is the intelligence derived through data analytics centres over secure IP broadband wired and wireless networks?
  • Data Analysis and Distribution – 
    • How is the sensors and gateways distribute both raw and processed data to whoever has subscribed for receiving these inputs?
    • How are alerts and actions initaited based on the intelligence derived by big data analysis?
  • Secure Data – 
    • What are the security concerns?
    • How is the need for secure data communication across all sensing, processing and communicating device addressed?
  • An integrated smart solution -  
    • What are the the primary drivers for analysing data is to build value?
    • What are the possible reactive, preventive, predictive and prescriptive action based on data trends?
So in a nut shell a smart solution senses, processes, aggregates, communicates, analyses and acts. The key result expected from the system is driven by the application domain. That is define what is the smartness in a smart solution.

Traversing the journey from Problem to Solution – the typical stages are:


  • Understand the problem – An elaborate enquiry process.
  • Understand the available tools, technologies and platforms – What do they provide? Is there a need for new technology development?
  • Choose the appropriate tools, technologies and platforms - What drives the technology choices?
  • Building the integrated solutions - How to build and deploy solutions to end-user problems integrating available tools, technologies and platforms?

Typical IoT Solution
In this series we will traverse the journey from problem to solution in the following domains
  • Smart Home
  • Smart Healthcare
  • Smart Industry/Factory
  • Smart Car/Automobile
  • Smart Cities

Communication Networks - How do we explore and learn through iterative enquiry?

Learning is a process of iterative enquiry. It is imperative that we have the right questions to comprehend simple to complex know-how.

This series will explore and list the questions that would help in understanding technology areas.  

In this post we will explore Communication Netwroks.

Communication Networks provide
  • Connectivity between elements
  • Transport for
    • control signals –establish connection and routing path, monitor connection status, disconnect; 
    • data for management of the network for faults, configuration, accounting, performance and security; 
    • user data - information that needs to be communicated: voice, data like sensor data, text, image, audio, video 
  • Signalling and Media Gateways: Conversion of signaling and user data formats based on the transporting media.
Let us explore the list of questions that would enable us to comprehensively understand a communication network.

What are the foundational questions?

  • How is the network structured?
    • What are the drivers of the evolution of this communication network?
    • What is the network architecture? 
    • What are the network resources provided for communicating control and user data?
    • What are the different topologies?
    • What are the various elements and their functions ?
    • What are the key interfaces in the network? 
  • What are the key scenarios?
    • How is the network set-up? 
      • What are the key design considerations?
      • What are the key configurable parameters?
    • How is the user set-up?
      • How does the user register/attach/connect to the network?
      • How is the user activated on the network?
    • What are the key end-to-end scenarios? 
    • What are the key processes & procedures for 
      • Accessing the network resources?
      • Establishing a connection? 
      • Transmission & Reception of control and user data?
      • Monitoring and Controlling the established connection
      • Disconnecting / Detaching from the network
What are the advanced questions?

We will need to dive deeper in to the technology as design and development engineers, deployment engineers and technology users.
  • What are the applicable standards and specifications?
  • What are the key underlying technologies? 
    • How are the resources multiplexed?
    • What are the multiple access protocols?
    • What are the underlying technologies for control signaling?
    • What are the underlying technologies for data transmission? 
      • encoding & decoding?
      • modulating & de-modulating?
      • compression & de-compression?
  • What are the key protocols?
    • What are key control and data plane procedures?
    • What are the protocol stacks on the control plane in different elements and interfaces of the network?
    • What are the protocol stacks on the data plane in deifferent elements and interfaces of the network?
  • How are the end-to-end user scenarios achieved?
    • Which network elements are involved?
    • Which protocol layers are involved? 
    • What is the role of each layer?
    • What are the message flows between 
      • network elements? 
      • peer to peer?
      • layer to layer?
  • What are the conformance and performance requirements for
    • network elements?
    • network interfaces?
    • protocol layers?
  • What are the operations and business support protocols for the network?
    • How is the network operations managed for Faults, Configuration, Performance & Security?
    • How is the network usage monitored?
    • How is the user usage monitored?
    • What are the various accounting methods?
    • How is the billing generated?
  • What are the applicable standards and recommendations for the operation management? 
Have I missed any questions??