Scaling API-first – The story of a global engineering organization
Towards application development for the physical cyber-social systems
1. Towards Application Development for the
Physical-Cyber-Social Systems
Pankesh Patel and Sanjay Chaudhary
Open Data Camp, Indian School of Business (ISB)
Hyderabad, June 28, 2014
2. Physical-Cyber Systems
2
Plants notify its users on twitter
whether it needs water
[http://www.botanicalls.com/ ]
Can track user’s run and report
him through the cyber world
[http://www.nike.com/]
- Communication capability
- Computational component
- Sensors, actuators attached
- Involved in info. exchange between
physical & cyber world
image credit to organizations, who own copyrights of used
images
3. Cyber-Social Systems
3
a social networking platform for individuals
to publicly share their medical data (e.g., medications,
mood) [http://www.patientslikeme.com/]
Delhi Traffic Police sends SMS to its subscribing citizens
about traffic conditions periodically*
- People share their activities,
knowledge, opinions, experiences
- Humans in loops
* Pramod Anantharam and Biplav Srivastava, City Notifications as a Data Source for Traffic Management.
In Proceedings of the 20th ITS World Congress 2013,Tokyo, Japan.
4. Envisioning a holistic approach
4
Computational components leverages observations from
sensors, information from people to understand, correlate,
and act for addressing challenges in various domains.
Physical-Cyber-Social Computing*
* Amit Sheth, Pramod Anantharam, and Cory Henson, Physical-Cyber-Social Computing: An early 21st Century
Approach, IEEE Intelligent Systems, 2013.
5. Example: Traffic
5
Social/textual observations
about
city events, which may
influence traffic
Data from machine
sensors
(speed, noise, camera,
location)
- Which places are prone to events, how often and for how long ?
- For different event types, what places are most likely to be affected?
- How does one city compare with another in terms of different events?
Active (accident, breakdown)
& scheduled (planned/
sporting
event) event list
Pramod Anantharam and Biplav Srivastava., City Notifications as a Data Source for Traffic Management.
In Proceedings of the 20th ITS World Congress 2013,Tokyo, Japan.
6. Goal
6
“Enable development** of PCS applications
with minimal effort by various stakeholders*
involved in development process”
**Development -- “a set of related activities that leads to a production of a software product.’’ [Ian
Sommerville, Software Engineering (9th edition) , 2010]
*Stakeholders in software engineering to mean – people, who are involved in the application
development. Examples of stakeholders defined in [Taylor et al., Software Architecture, 2009] are
software designer, developer, domain expert, technologist, etc.
7. Application development challenges
7
Heterogeneity
Types (e.g., sensor, actuator,
storage, processing element,
user interface, web service)
Interaction modes (e.g.,
publish/subscribe,
request/response, command)
Platforms (e.g., Android,
JavaSE)
Communication protocols (e.g.,
REST, MQTT, XMPP)
Spreads into the application code,
Makes the portability of code
difficult
image credit to organizations, who own copyrights of used
images
8. Application development challenges
8
Heterogeneity
Large number
Application logic in terms of
a set of distributed tasks for
hundreds to thousands of
objects
To reason at such levels of
scale is impractical in general
image credit to organizations, who own copyrights of used
images
9. Application development challenges
9
Heterogeneity
Large number
Multiple expertise
Knowledge from multiple
concerns intersect
Application domain
Software design
Algorithm design,
programming languages
Platform-specific
knowledge
Clear conflict with skill possessed
by the individual developer
image credit to organizations, who own copyrights of used
images
10. Towards PCS application development
10
A development framework*
Separate application development into different concerns.
Provide high-level programming abstractions, addressing
heterogeneity and scale.
Automate application development where possible.
*It includes support programs, code libraries, high-level languages or other software that help
stakeholders to develop and glue together different components of a software product [Ian
Sommerville, Software Engineering (9th edition) , 2010].
12. 12
Domain
Traffic
(e.g. Smart city)
Separation of concerns
Functionality
Parking
guidance &
info.
Traffic control &
monitoring
Energy
image credit to organizations, who own copyrights of used
images
Computational
service
Computational
service
StorageSensor
retrievalsensor
measurement
Actuator
action
Publish/
subscribe
Request/
Response
Command
13. 13
Domain
Traffic
(e.g. Smart city)
Separation of concerns
Functionality
Parking
guidance &
info.
Traffic control &
monitoring
Energy
image credit to organizations, who own copyrights of used
images
Computational
service
Computational
service
StorageSensor
retrievalsensor
measurement
Actuator
action
Vocabulary
Language (VL)
Vocabulary
Language (VL)
Architecture
Language
(AL)
15. Summary
15
Physical-cyber-social systems - holistic approach
Challenges:
Heterogeneity,
Large number
Multiple expertise
Development framework
Separation of concerns
Abstractions
Automation
16. 16
Thanks for listening me
Email: pankesh.patel@ahduni.edu.in
Implementation of this work with
documentations, running on both Android
and JavaSE device and MQTT middleware
https://github.com/pankeshlinux/IoTSuite/wiki