Advanced Information Systems
Analysis and Design
Class 10: New Directions in
Software Development
Alan R. Hevner
University of South Florida
October 25, 2018 Copyright 2018 Alan Hevner 1
Class 10 Outline
The Cloud
Cloud Computing
Industry Clouds
Research Directions in the Cloud
The Future of the Cloud
Flow-Service-Quality Methods of Specification and Design
Internet of Things Software Development
Intellectual Control of IoT Systems
Semantics (Flow, Quality, Evolution)
Smart City Example
Platform-based Software Development
Effectual Software Development on Platforms
Research Contributions and Future Directions
October 25, 2018 Copyright 2018 Alan Hevner 2
Cloud Computing
Computing as a Utility (e.g. electricity, water)
Key characteristics:
The illusion of infinite computer resources available
on demand
The elimination of an up-front commitment by
Cloud users
The ability to pay for use of computing resources
on a short-term basis as needed
Cloud Computing changes the economic
equations of systems development and use
October 25, 2018 Copyright 2018 Alan Hevner 3
The Move to the AAS (As A Service)
Paradigm
"Think of what Salesforce.com did to CRM. Now,
imagine if the same thing were to occur in the ERP
market - it would be huge…
A lot of the industry standard business functions can
move to BPaaS and custom business functions could
move to IaaS. With a shift like that, we could see a day
where businesses might not own or manage any IT
assets."
Head of Syntel's Cloud Computing Center of Excellence
4 October 25, 2018 Copyright 2018 Alan Hevner
Current Paradigms
Software as a Service (SaaS)
e.g. Web-hosted applications
“Consume”
Platform as a Service (PaaS)
Developer tools to build apps
“Build”
Infrastructure as a Service (IaaS)
Hardware, computing and telecommunications
“Host”
Public/Private Cloud
Consume, build, host analogies
http://silverlighthack.com/post/2011/02/27/IaaS-PaaS-and-SaaS-Terms-
Explained-and-Defined.aspx
These paradigms focus often on where something is done
(public/private) and what services are offered (i.e. software, hosting etc).
5 October 25, 2018 Copyright 2018 Alan Hevner
Cloud Themes
Mobile Computing is made for the Cloud
Mobile extends the footprint and reach of the Cloud
Cloud Interoperability
Major alliances are working on Cloud standards for
integration of offerings
The Future is in the Cloud
Allmajor SW markets have Cloud products
Integration of local apps with Cloud apps
Security as a Service
Trust in the AAS delivery models is growing
6 October 25, 2018 Copyright 2018 Alan Hevner
Cloud Themes Continued
Intelligent Networks
Cloud requires a complex networking infrastructure that
leverages virtualization across multiple servers and data
centers
Faster connectivity and Mega-bandwidth demand
Application and Location aware
Collaboration and Social Networks
Exploit the promise of social network apps
Platform Proliferation
Rapid growth in integrated platforms
Private Clouds
Where do private clouds and public clouds meet?
7 October 25, 2018 Copyright 2018 Alan Hevner
A Proposed Cloud Framework
Is based on strategic and tactical choices that organizations need to make as
they embrace the cloud
e.g. ‘How much of our data should be in the cloud?’
To effectively capture this organizational decision-making, we propose a six-
dimensional framework with a sliding scale of distribution between internal and
external (cloud) locations.
The dimensions are:
Applications: Executable software in the form of services
Data: Data in the form of files, databases, data repositories, data warehouses, etc.
Computing: Processing resources
Storage: Storage resources
Networking: Communication and transmission resources
Human Capital: Human resources
8 October 25, 2018 Copyright 2018 Alan Hevner
Cloud Computing Framework
October 25, 2018 Copyright 2018 Alan Hevner 9
Choice of Controls
Organization often also make a choice of how much local
control is needed within each of the six dimensions
An organization might for instance choose to have high
control on storage infrastructure on the cloud but low
control on the human capital dimension
Thus, each dimension has a separate ‘control knob’ to
denote the amount of control the organization wishes to
retain on that dimension regardless of its distribution on
the cloud
10 October 25, 2018 Copyright 2018 Alan Hevner
Exemplars of Cloud Architectures
Apps Data Comp Storage Netwk HC Description
100% 100% 100% 100% 50% 80% An organization that outsources significant IS work, uses Software as a
High High High High High Low Service (SaaS) model, but in a “private cloud” setting (as shown by the
high degrees of control required for these dimensions.)
50% 100% 50% 100% 50% 80% An organization that maintains its own offshore division (high degree of
Low Low Low Low Low High control to the human capital that is external), uses an AJAX-like
architecture where there is a combination of execution in the cloud as
well as locally, but in a “public cloud” setting (as shown by the low
degrees of control)
0% 0% 0% 0% 50% 100% An organization that builds its own data analytics models internally in an
H H H H H H offshore location, but uses the cloud for deployment. The organization
100% 100% 100% 100% 100% 100% has two distinct configurations corresponding to stages in the lifecycle.
L L L L L L The first two rows represent choices in the model building component;
the last two are for deployment. While these can be combined using a
composite score, this detail provides a richer view (e.g. user of
Zementis).
100% 100% 100% 100% 100% 0% An organization that provides hosting, analytics, and advertising
L H L H L H optimization in the cloud, but which uses the public cloud for all aspects
of its development except for dedicated database servers on the cloud
with high control for data and storage (e.g. SiteWit.com).
0% 0% 100% 100% 75% 0% An organization that provides a proprietary hurricane simulation for
H H L L L H weather applications, which requires supercomputer-level resources
obtainable via the cloud (using application and data replication for
execution akin to Google’s MapReduce).
October 25, 2018 Copyright 2018 Alan Hevner 11
Top 10 Obstacles/Opportunities
(Berkeley Report)
1. Availability of a Service
2. Data Lock-In
3. Data Confidentiality and Auditability
4. Data Transfer Bottlenecks
5. Performance Unpredictability
Copyright 2018 Alan Hevner October 25, 2018 12
Top 10 Obstacles/Opportunities
(Continued)
6. Scalable Storage
7. Bugs in Large-Scale Distributed Systems
8. Scaling Quickly
9. Reputation Fate Sharing
10. Software Licensing
Copyright 2018 Alan Hevner October 25, 2018
13
Technical Research Challenges
Design of Business Transactions
New and effective modeling theories and tools
Parallel Processing and Coordination
Buildingapplications to take advantage of cloud
resources
Analytics on the Cloud
Business intelligence via the cloud
14 October 25, 2018 Copyright 2018 Alan Hevner
FSQ Systems Engineering
Network-centric system realities: complexity and survivability challenges
Boundaryless systems with shifting connectivity
Systems-of-systems integration, uncertain COTS function and quality
Unpredictable failures, disruptions, and compromises
Complex asynchronous behavior blocks understanding
Escalating threats and consequences
Approach
Mathematical semantics first, engineering practices later
Develop engineering foundations that address system realities
Limit complexity and improve survivability with practical engineering
methods
October 25, 2018 Copyright 2018 Alan Hevner 15
Three Key Questions
In a world of large-scale, asynchronous
network systems with dynamic function and
structure …
1. What are the unifying engineering foundations
for system analysis, specification, and design?
2. How should quality attributes such as
survivability, reliability, and performance be
specified and achieved?
3. What architecture frameworks can simplify
system development and operation?
October 25, 2018 Copyright 2018 Alan Hevner 16
Foundations: First-Class Artifacts
Flow
Defines mission, user functions and quality
attributes, refines into service uses
Service
Provides functionality and quality attributes, refines
into flows
Quality
Attribute requirements attached to flows, service
attribute matches computed dynamically
October 25, 2018 Copyright 2018 Alan Hevner 17
Three Engineering Concepts
In a world of large-scale, asynchronous, network-centric
systems with dynamic functionality and structure …
1. Flow Structures
User task flows and their architecture flows of service uses are
engineering anchors for analysis, specification, and design of
functionality and quality attributes.
2. Computational Quality Attributes
Quality attributes can be specified as dynamic functional
properties to be computed, not as static, a priori predictions.
3. Dynamic Flow Management
User task flow designs support architecture templates that
manage flows and their quality attributes in execution.
October 25, 2018 Copyright 2018 Alan Hevner 18
Flow Structure Concepts Flows traverse a network
architecture to satisfy
mission requirements
Enterprise Users Systems
Architecture flow
User task flow of service uses
User task flow Architecture flow
Enterprise mission of service uses
Enterprise mission is embodied in user User task flow Architecture flow
of service uses
task flows of operations and decisions in
system usage Architecture flow refinements of user task flows define uses of
system services that provide function and quality attributes
Gas purchase flow:
customer
credit
database
land land
gas telecom satellite telecom credit card
pump telecom company
system 1 system 2 system 3 system 4 system 5
October 25, 2018 Copyright 2018 Alan Hevner 19
Analysis: From Systems to Flows
Pervasive Existing Response-based semantics for shared
asynchronous network services gives flows deterministic
behavior properties for understanding and
architecture abstraction
mission flow 1
task 1 flow 3
mission
task 3
mission flow 2
task 2
Flows reveal survivability
dependencies for resistance,
recognition, and recovery
analysis and improvement
October 25, 2018 Copyright 2018 Alan Hevner 20
Design: From Flows to Systems
User task flow design
Flow Structures of mission tasks can be designed and
verified at multiple levels of refinement
Network behavior specification
A network system specification is the set of flows of its
service uses
Component service specification
The specification of each service in a network system
incorporates all its uses in all flows where it appears
October 25, 2018 Copyright 2018 Alan Hevner 21
Management: Flows from Start to
End
Manage Flow Structures as first-class artifacts in
Acquisition
Development
Testing
Operation
Evolution
System implementation and operation must
satisfy Flow Structure function and quality
attributes
October 25, 2018 Copyright 2018 Alan Hevner 22
FSQ Foundations
Flows of user tasks and their refinements into architecture
service uses are fundamental engineering bedrock for
network-centric systems.
Mathematical semantics of flows makes them deterministic
to limit complexity for human understanding despite
asynchronous behavior of their service uses.
Flow Structures require survivability design for Uncertainty
Factors of failure, disruption, and compromise.
Flow Structures can be refined, abstracted, and verified with
precision despite uncertainty of COTS behavior.
Flow Structures specify integration and interoperability of
stovepipes and systems-of-systems, and define quality
attributes such as reliability and survivability.
Flow Structures can be extracted from existing systems to
reveal security and survivability problems.
October 25, 2018 Copyright 2018 Alan Hevner 23
Flow Design of Network-Centric War Fighter
FlowSets for the Future Combat System:
Other Layered FlowSet:
FlowSet: Sensors FlowSet: Preparation
Preparation Preparation Deployment
Launch Launch C3
C3 C3 Retrieval
Retrieval Maintenance Safing
Maintenance .. Maintenance
…
…
UAVs
FlowSet:
Network Mission Def’n Robotic
Sensor Integration Sensors
Centric C4I
FlowSet: Force Fire Integration FlowSet:
Preparation Damage Assmt Preparation
Deployment … Deployment
C3 C3
Retrieval Retrieval
Safing Safing
Maintenance Maintenance
… …
Robotic Robotic
Direct Fire FlowSet: NLOS Fire
• Distributed platforms Preparation Flow Structures define services and
Deployment networks, link stovepipes, manage
• System-of-systems C3
• 100s of nodes and users Maintenance
quality attributes, support both
• Nodes and usage change/evolve Manned C2 … centralized and distributed control
October 25, 2018 Copyright 2018 Alan Hevner 24
FSQ Research Directions
Complete Theory Development
Flow Structure Semantics
Computational Quality Attributes
Flow Management Architectures
Exploratory Case Studies
Engineering Practices
Industrial Collaborators/Customers
Automation Opportunities
October 25, 2018 Copyright 2018 Alan Hevner 25
Parallelism and Coordination
Parallel applications are composed of interacting
processes focused on specific tasks, but working
toward a common goal. Coordination languages
allow individual processes to wait for needed data,
pursue local computations, and communicate any
results to other processes
Cloud computing makes parallel programming
relevant again and more accessible for a wide variety
of applications!
26 October 25, 2018 Copyright 2018 Alan Hevner
Parallelism: JavaSpaces
Supports uncoupled
programming.
Indirect communication
enables space and time
decoupling.
space.write(entry, null, Lease.FOREVER);
space.read(template, null, Long.MAX_VALUE);
space.take(template, null, JavaSpaces.NO_WAIT);
Freeman et al., 1999
October 25, 2018 Copyright 2018 Alan Hevner 27
Parallelism: MAPREDUCE
MAPREDUCE is a straightforward
approach to parallelism consisting
of a map phase that splits up and
distributes data for computations,
applies any user-defined
procedures, and employs a reduce
phase that collects the results.
How do we design, develop, visualize,
and debug such complex programs?
http://institute.lanl.gov/isti/irhpit/projects/ Dean and Ghemawat, 2004
October 25, 2018 Copyright 2018 Alan Hevner 28
Analytics on the Cloud
Analytics has always had two components
An off-line component that crunches numbers to build predictive
models, and
an on-line component that uses models that have been built
Both components now have support from vendors (e.g.
Mathematica, Zementis)
Merv Adrian, a reporter for CIO.com notes, “By shifting their data
warehouse into an agile, virtualized infrastructure, T-Mobile now
has flexible access to more data and can analyze and rethink at
will. Like Fox, they're able to build analytical "sandboxes" on-
demand to discover new questions. Grab data to explore those
questions. Tear it down, and do it again.”
29 October 25, 2018 Copyright 2018 Alan Hevner
Analytics on the Cloud: Research
Opportunities in Security
The challenge here is to strategically distribute data in this
manner to minimize the data loss risk
Both horizontal (entire records being assigned to different
servers) or vertical (columns in data being assigned) distribution
strategies, or hybrids, may be of interest to study
Encryption, distributed data mining are two areas that can inform
some of this work
Also, in areas such as heath care with specific policies and
consumer laws, the design of compliant algorithms will be an
important area
30 October 25, 2018 Copyright 2018 Alan Hevner
Analytics on the Cloud: Some
Algorithmic Opportunities
A promising area of research is the study and design of methods for scaling
machine learning algorithms on the cloud. In general, “exporting” most existing
algorithms to the cloud will involve newer techniques to take advantage of the
scaling that may be available.
If cost is not a consideration (i.e. scaling to large number of CPUs does not cost
any more) then clearly approaches such as MapReduce can be used to break
large problems into as many smaller pieces as possible. However cost sensitive
approaches will need to determine, based on needs, what level of parallelization
may be worth the execution cost on the cloud.
On the supply side, how should these services be priced given such
considerations?
Implementing dynamic scaling at runtime. How should resources and distribution
be managed at run-time to adhere to performance constraints?
31 October 25, 2018 Copyright 2018 Alan Hevner
The Future of Cloud Computing
Providers will successfully navigate the obstacles
and turn them into opportunities
Next generation systems will be designed and
deployed via the Cloud
Applications software will have both a piece on the client
and a piece in the Cloud, decoupled as needed
Infrastructure software will be commoditized and run on
virtual machines
Hardware will be boxed differently
The Economics of Computing and Pricing (SW and
HW) will change
IT Spending on Cloud Ratcheting Up
32 October 25, 2018 Copyright 2018 Alan Hevner
Staffing for Cloud Development
October 25, 2018 Copyright 2018 Alan Hevner 33
Conclusion
Cloud computing is radically transforming the IT industry
Apple’s iCloud
Amazon Web Services
Microsoft Azure
IBM Cloud
The demand for rigorous research to study the
opportunities and challenges on the cloud will be met by
those research communities best positioned to move
aggressively with industry-relevant projects.
Call for the IT community to lead research on the
successful analysis, design, deployment, and use of cloud
computing strategies and applications
34 October 25, 2018 Copyright 2018 Alan Hevner
Internet of Things Software
Development
Many future software systems will contain
IoT components and capabilities
SCADA Systems – Manufacturing
Controls
Smart Cities Systems
Water Control Systems - SWIFTMUD
October 25, 2018 Copyright 2018 Alan Hevner 35
Internet of Things (IoT) Realities
Internet of Things (IoT) systems exhibit
unprecedented levels of scale and complexity
User transaction flows traverse systems and
components of varying quality and reliability
Complications arise from the variety of
architectures, platforms, languages, protocols,
organizations, and users that will be involved
Yet IoT systems must provide unprecedented levels
of reliability and dependability for effective Smart
City operations
Copyright 2018 Alan
36 October 25, 2018 Hevner
IoT Uncertainties
The Uncertainty Factors
Components and connections come and go
Capabilities correct or incorrect, available,
unavailable, compromised
Attacks and intrusions persistent and unpredictable
Users and needs constantly changing
How can a rigorous engineering discipline be
defined for this environment?
Without it, we believe intellectual control is impossible
Copyright 2018 Alan
37 October 25, 2018 Hevner
IoT Reference Architectures
An IoT reference architecture provides a common
understanding and vocabulary for interoperability and
communication across various platforms in an IoT
system
Given a standard reference architecture, businesses
and developers can create compliant IoT solutions for
specific application ecosystems, such as Smart Cities
The complexities and compromises in developing an
acceptable IoT reference architecture are enormous,
and we are just beginning to see initial proposals from
standards organizations (e.g. EU ARM 2013) and
industry (e.g. Cisco 2014).
Copyright 2018 Alan
38 October 25, 2018 Hevner
IoT Architecture Structures
Current IoT reference architectures predominately
address the elements and structures of IoT systems:
Components – Sensors, Computers, Data Repositories,
Servers, Platforms, etc.
Connectors – Networks, Pipes, Telecommunications, etc.
Configurations – Patterns for components and connectors
in well-defined arrangements.
Protocols – Detailed support for data flows and control
flows within and between configurations.
Missing are the Computational and Behavioral
Semantics of IoT system applications
Copyright 2018 Alan
39 October 25, 2018 Hevner
Computational Semantics
Computational Semantics of IoT reference architecture
Grounded on past research on the FSQ (Flow-Service-
Quality) model of software systems engineering (IBM,
SEI/CERT)
Flows – Rules that support application flow creation,
initiation, synchronization completion, deletion, etc.
Qualities – Measures of correctness, efficiency,
security, and other important attributes
Evolution – Growing the reference architecture based
on changes in goals, environments, and technologies
Copyright 2018 Alan
40 October 25, 2018 Hevner
Flow Semantics
IoT transactions are composed of flows of control and data
through IoT architectural structures (i.e. components,
connectors, and configurations)
Methods for creation, instantiation, execution, monitoring,
completion, and deletion of IoT transactions are required for
any application domain
User task flows and their refinements into invocations of other
flows and system services can provide a unified engineering
foundation for analysis, specification, design, and verification
of required functionality and quality attributes
Engineering development of task flows can be augmented by
computational automation for behavioral analysis of flows and
their components
Copyright 2018 Alan
41 October 25, 2018 Hevner
Quality Semantics
Quality attributes can be associated with flows and the system
services they invoke, and are specified as dynamic mathematical
properties to be computed, rather than as a priori predictions of
limited value in real-time operations
Three semantic quality objectives can be identified:
A flow transaction will require minimum levels of quality to be successfully
performed. How do we define the quality requirements of a designed user
transaction on an IoT architecture?
As a transaction is instantiated on a particular IoT system at a given point
in time, how can we predict the quality levels that are available? This will
depend on the current state of the IoT system in terms of capacity, load,
reliability, and many other system state variables. If the required levels of
quality cannot be currently provided, a decision must be made whether to
perform the transaction or wait until a sufficient level of quality can be
obtained in the system.
What management mechanisms are needed in an IoT system to monitor
the progress of an executing transaction to ensure that the quality levels
are achieved? If certain qualities are falling short, dynamic flow
management may be required to alter the flow path or abort the
transaction and reinitiate it at a later time.
Copyright 2018 Alan
42 October 25, 2018 Hevner
Evolution Semantics
Flow Semantics and Quality Semantics prescribe
requirements for IoT architecture semantics focused on
management and governance of user functionality and data in
a bounded application domain
In complex IoT environments, however, it is not possible to
completely predict all possible system behaviors. New and
unpredictable behaviors will emerge over time and must be
recognized and managed
An IoT architecture must evolve and adapt over time based
on changes in goals, ecosystems, and technologies.
Evolution Semantics will prescribe processes for managing
and directing this evolution while maintaining current
operational capabilities.
Goals are IoT robustness, sustainability, and ethical uses
Copyright 2018 Alan
43 October 25, 2018 Hevner
Flow Semantics: An Engineering
Discipline for IoT Software
What is a Flow?
Traversal of IoT components to perform a task for a user or a
flow
Combines capabilities of components that may be asynchronous
Flows invoke other flows; flow hierarchies and flowsets
First-class engineering concept for IoT systems
Overarching requirements for flow engineering foundations
Must be deterministic for design & verification despite
asynchronism
Must be suitably responsive despite Uncertainty Factors
Copyright 2018 Alan
44 October 25, 2018 Hevner
Foundations of Flow Semantics
Flow specification
Defines only processing internal to a flow, not the
unpredictable processing of the flows it invokes
Defines actions by a flow for all possible responses from
invoked flows, both desired and undesired
Implications
Reasoning about flow design and verification is localized,
yet complete
Flows can be defined by deterministic structures despite
asynchronism
Flows can be designed to be responsive to Uncertainty
Factors
Copyright 2018 Alan
45 October 25, 2018 Hevner
Foundations of Flow Semantics
Semantics of flow components for determinism and responsiveness
Extend traditional functional programming semantics to Response-Based Semantics
(RBS):
Stimulus (S) Response
… IoT Flow Component (R) …
Invocation Invocation
Stimulus Response
History (ISH) History (IRH)
External Flow
Transition function (domain to range) f: ( S x IRH R x ISH)
Copyright 2018 Alan
46 October 25, 2018 Hevner
Foundations of Flow Semantics
Invocation Response History (IRH)
Embodies Uncertainty Factor response outputs
Part of domain because invoking component can depend on it
Invocation Stimulus History (ISH)
Input to generate Uncertainty Factor responses from invoked
flow
Part of range because subsequent flow invocations will use it
Resulting component properties
Deterministic design, verification does not depend on lower level
flows
Self-contained yet responsive to Uncertainty Factors
Copyright 2018 Alan
47 October 25, 2018 Hevner
Flows Superimposed on an IoT Architecture
• Flow refinement, abstraction and verification
IoT Network Architecture
mission flow 1
task 1
flow 3 mission
task 3
mission flow 2
task 2
Flow refinement, Pervasive Response-Based Semantics for flow components
abstraction, and asynchronous allows deterministic development and Uncertainty
behavior Factor responsiveness
verification
48 October 25, 2018 Copyright 2018 Alan Hevner
Smart City IoT Systems
Extraordinary complexity in development,
operation, and evolution
Intellectual control critical to success
Engineering foundations key to intellectual
control
Reference architectures essential but
insufficient
Semantic foundations required as well
Copyright 2018 Alan
49 October 25, 2018 Hevner
Conceptual Flowsets for a Smart City IoT
Flowsets: Flowsets: Flowsets: Reachback/
Capacity Monitoring Data Aggregation & Analysis Demand Monitoring Supply Chain
Demand Monitoring Generation Control Power Generation Flowsets
Environmental Transmission Control Environmental Monitoring
Monitoring Distribution Control Maintenance and Upgrade Weather
Financial Operations Consumption Control Financial Operations Monitoring
Energy Management & Service Generation
Markets Governance Providers
Additional Reachback/Supply Chain
Feedstock
Equipment
Suppliers
Flowsets
ion …
Bulk/Renewable Power Local Power Maintenance
Generation Transmission Distribution Consumers Crews/Materials
Flowsets: Flowsets: Flowsets: Flowsets:
Transportation
Coal/Oil Operations High-Voltage Low Voltage Operations Industrial Customers
Facilities
Natural Gas Operations Operations Substation Operations Business Customers
Renewable Operations Substation Operations Local Distribution Residential Customers
Financial
Markets
Sensing and Actuating
Education and
Flowsets:
Training
Reading and Transmitting Data
Actuating Devices …
Copyright 2018 Alan
50 October 25, 2018 Hevner
Flow Semantics - The Big Picture
Research in Flow Semantics is complementary to IoT architecture
research, which currently focuses primarily on structural properties.
While structural aspects are important for IoT development, the
semantics of IoT operations, which are software-defined at virtually
every level, are essential to developing and governing these
systems.
Flows invoke other flows across large-scale networks at all levels,
even with reachback to supply chains in virtually endless
interactions
Complexities can seem daunting, but deterministic flows
implementing Response-Based Semantics and design for
Uncertainty Factors localize human understanding while providing
required functionality
This is the whole point:
Creating and operating IoT systems under intellectual control
Copyright 2018 Alan
51 October 25, 2018 Hevner
Observations
Flows help organize and aggregate IoT governance around mission
objectives at all levels, from systems down to sensors and
controllers
Flows can be defined to be deterministic for localized reasoning and
verification while nevertheless embodying dependencies on other
flows in a system
Flows can provide deterministic operations despite the underlying
asynchronism of IoT systems
Flows can be designed to deal with Uncertainty Factors through
implementation of Response-Based Semantics for operational
resiliency and survivability
Flows are scale-free, with the same principles and processes
involved in high-level and low-level flow development and operation
Flows are implementation-independent, and can serve as first-class
concepts for IoT system specification and development
Copyright 2018 Alan
52 October 25, 2018 Hevner
Future Research Directions
Future research on Flow Semantics will include
instrumented case studies dealing with real-world
problems in IoT system development
Research in Flow Semantics automation will help drive
adoption of this technology. Of particular importance in
this regard is extension of the science and technology
of automated software behavior computation for
development and verification of flowsets across IoT
architectures and languages
Further, we will extend the reach of IoT semantics to
Quality Semantics and Evolution Semantics and apply
these new ideas to Smart City IoT applications
Copyright 2018 Alan
53 October 25, 2018 Hevner
Platform-based Software
Development
Doctoral Dissertation by Onkar Malgonde
June 2018
The digital platform is a pervasive digital
technology that is rapidly transforming the
ways in which products and services are
produced and consumed in our market
economy
Parker, G.G., Van Alstyne, M.W., and Choudary,
S.P., 2016
54 Copyright
October
2018
25,
Alan
2018
Hevner
Digital Platforms
Digital Platform Ecosystem
October 25, 2018 55 Copyright 2018 Alan Hevner
Challenges for application producers in
a platform ecosystem
As platform’s core value evolves, platform applications are added, updated,
and dropped
Similarity of applications incentivizes the platform to assimilate those
features into the core value proposition of the platform
All applications must adhere to connection specifications and development
procedures determined by the platform
Platform owners evaluate and approve new applications (curation
mechanisms)
Changes to platform architecture and governance mechanisms requires
application producers to adapt their applications and routines to comply with
updated platform regulations
56 October 25, 2018 Copyright 2018 Alan Hevner
Challenges for application producers in
a platform ecosystem
Application-platform match
Application-market match
Value propositions exceeding platform’s core
value propositions
Novelty
57 October 25, 2018 Copyright 2018 Alan Hevner
Research Questions
What software development methods best
support software development teams to
design, build, evaluate, and deploy novel
applications on digital platforms?
How do software development teams
incorporate effectual thinking in the
development of novel applications on digital
platform?
58 October 25, 2018 Copyright 2018 Alan Hevner
An Effectual approach to software
development
To manage key challenges and achieve desired properties:
Propose and validate an effectual approach to application
development that is grounded in the theory of effectuation
Project manager and development team are envisioned as
entrepreneurs
Adapt entrepreneurial risk in application development on
software platforms
The proposed effectual approach to software development
consists of two phases: (a) planning, and (b) execution and
monitoring
59 October 25, 2018 Copyright 2018 Alan Hevner
IS and Entrepreneurship
Entrepreneurship literature informs the effectual software
development process
Provides key constructs and decision heuristics for the design
of the artifact
Provides lens to identify and explain new aspects of software
development
Theorizing above and beyond the enabler role played by
information technology in entrepreneurial ventures
Copyright 2018 Alan Hevner
60 October 25, 2018
Theory of Effectuation
(Sarasvathy 2001)
61 October 25, 2018 Copyright 2018 Alan Hevner
Prediction vs Control in Software
Development
Framework of Prediction and Control (adapted from Wiltbank, R., Dew, N., Read, S., and Sarasvathy, S. 2006)
62 October 25, 2018 Copyright 2018 Alan Hevner
Preliminary Research Model
63 October 25, 2018 Copyright 2018 Alan Hevner
Preliminary Study 1
As an initial investigation of the effectual research model, we study
an existing open source environment that supports the development
of applications on digital platforms
We identified Apache Cordova as an open-source mobile
application development framework
We focus on user stories that describe a specific feature request
and/or issue with the application and/or platform
Story descriptions and related comments for 1,051 stories are
extracted. Our data analysis is supported with documents from
proposals, board reports, and project documentation.
64 October 25, 2018 Copyright 2018 Alan Hevner
Apache Cordova Architecture
From
https://cordova.apache.org/docs/en/latest/guide/overview/index.html
65 October 25, 2018 Copyright 2018 Alan Hevner
Research Method
Initial inspection retained 42 user stories with sufficient detail
for data analysis
Atlas.ti qualitative data analysis software
Develop a qualitative codebook that identifies subcodes and
operational definitions for each construct in our model
Using descriptive coding technique, subcodes from the
codebook are applied to each story
66 October 25, 2018 Copyright 2018 Alan Hevner
Results
Construct First Cycle Code Frequency
Technology 40
Market knowledge 5
Means
Platform knowledge 20
Constructs Social Capital 2
and their Technology 23
Frequency Platform Market 7
in the Data Value 8
Product-market match 8
Product-platform match 24
Aspirations
Exceed Platform Value 14
Novelty 15
Commit limited resource 33
Acceptable Risk Application recoverable after failure 5
Risk Analysis 21
Logic of Control Logic of Control 32
Fixed bugs 20
Action
Completed Tasks 11
New technological knowledge 37
Expanding Cycle of Resources New market knowledge 5
New platform knowledge 21
Converging technological constraints 24
Converging Cycle of Constraints Converging feature constraints 9
Converging platform constraints 11
67 October 25, 2018 Copyright 2018 Alan Hevner
Preliminary Study 2
2 Pilot Interviews
IT-department of a non-profit educational organization
Fortune-500 organization
Validate and augment the research model
Develop the interview protocol for a broader qualitative study.
interview protocol is based on the operational definitions
developed in the preliminary study
Open coding of interview transcripts
68 October 25, 2018 Copyright 2018 Alan Hevner
Revised Model
69 October 25, 2018 Copyright 2018 Alan Hevner
Research Design
• Unit of Analysis
• Software
Development Project
• Theoretical Sampling
• Digital platform
• Novelty of
application
• Competing
applications
• 2 local organizations
70 October 25, 2018 Copyright 2018 Alan Hevner
Data Analysis
Data
16 interviews (AT – 9; TB- 7)
630 minutes
869 passages coded
Open Coding
2 graduate students trained with pilot interviews
Cohen’s Kappa greater than 70% for each interview
Axial Coding
71 October 25, 2018 Copyright 2018 Alan Hevner
AT Case Study
72 October 25, 2018 Copyright 2018 Alan Hevner
AT Case Study
No Interviewee’s Title Key Points
AT - Delivery Client relationship, requirements, budget, timeline, align business and development; rapid prototyping to understand business;
1 Leader workshops to identify requirements; discuss backlog items before sprint planning; time and budget influence logic of control;
iterative process
AT – Senior Web API development and maintenance; back-end developer; key aspirations – product platform match and exceed platform’s
2 Developer value; Microsoft Azure used to setup development and test environment which takes away complexity of maintaining these
environments; Microsoft core provider; platforms do not provide all functionality;
AT – Senior Focused on video playback feature; given the time and resources, change aspirations of video player behavior; time sensitive
3 Developer launch for conference; accepted bugs to meet timeline; discuss questions about features with clients; product platform match is
a moving target
AT – UI Developer Development of UI with Xamarian wrapper for iOS; limitations of Xamarian to support video playback; tweak platform
4 components for desired results; AT is recommending rather than decision-making;
AT – Senior Design, development, and release to Apple’s AppStore; 2 releases, waiting for 3rd release; trial and error; backlog grooming;
5 Developer client decision
AT – Delivery Technology-driven recommendations to improve the product; consulting versus contracting; in both situations, AT is order-
6 Leader (Final Stage) taking mode
AT – Delivery Rapid prototyping; feedback from client; get the application to match platform and market, then focus on novelty if budget and
7 Leader (Phase One) time permits; compromise with client on issues that cannot be completely fixed; focus on scope, budget, and timeline;
AT – Technical Set technical direction; build backlog with ideas and groom backlog to prioritize; clients come up with ideas; technical team
8 Architect brings ideas; ultimate decision by client; subtle enhancements to feature; chaining experiences; new ideas from experience,
platform, and technical expertise; testing identifies improvements and ideas for next sprints; application’s usage data identifies
focus areas
AT – UI Designer User interface design for mock ups – 32 screens, Sketch – Mac application to develop; collaborate to identify features; 80-85%
9 features identified prior to development;
73 October 25, 2018 Copyright 2018 Alan Hevner
TB Case Study
74 October 25, 2018 Copyright 2018 Alan Hevner
TB Case Study
No Interviewee’s Title Key Points
1 TB – Product Owner Backlog items from customers, prospective customers, knowledge about the market; prioritize backlog
items; 4-week sprints; types of users for modules; Microsoft integration; intellectual property;
functional team identifies ideas, discuss with technical architects which provide feedback; remove
features that drain performance;
2 TB – Practice Manager Implementation; training; Microsoft platform enables scalable and robustness; product platform match
is a given as product is built on the platform; 80-90% of functionality is provided by the core product,
rest is custom built; Microsoft provide APIs, tools, connectors, and adapters to migrate data
3 TB – Product Manager Customers familiar with Microsoft suite; springboard customers; easily find information; data model;
ease of use, patient-centric, and open standard interface; all 5 modules on one platform; multiple data
points for feature requests; platform release cycle; build on platform release; prototype to debate
features;
4 TB – Solutions Consultant Registered nurse; pre-sales; nurses, customer service agents, program managers, directors, system
administrators; platform is weaved into conversations; license to use application from Microsoft; low
visibility in the context
5 TB – Technical Architect Offshore development team; in-house development; advanced APIs such as speech recognition;
outsource UI design; platform limitations with other platforms at customer side; trial and error –
difficult to track; proof of concepts areas in sandbox;
6 TB – Solution Architect Small module size; bringing together CRM and healthcare; roadmap; realistic in two weeks’ time;
platform enables new tools which are production ready; frequent updates to platform requires
refactoring; “we will figure out the platform later”;
7 TB – Functional Consultant Agile; partnerships; prioritize items; visual representation; technical input to develop idea;
75 October 25, 2018 Copyright 2018 Alan Hevner
Study Validity
Construct Validity
Triangulation
Chain of evidence
Internal Validity
open interview questions
follow up questions to identify confounding explanations
multiple informants.
External Validity
Multiple studies
Reliability
Operational definitions
Triangulation of Validation
76 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
Novelty of the Application
Traditional focus – budget, timeliness, and quality
features and extensions which are not provided by the digital
platform and competing applications
effectual cycle emphasizes the team’s resources to identify,
incorporate, and expand novel features in the application
serendipitous identification and evaluation of ideas
feedback loop between aspirations of the team and design
artifacts
77 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
Effectuation Design Cycle
Fast and tight design cycles
broader design artifacts to include proof of
concepts, working code, prototypes, design
interfaces, among others
each iteration focuses on evaluating a specific
aspect of team’s aspirations
78 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
Balancing Prediction and Control
allteam members follow the approach identified
by the project manager
we find that team members incorporate adhere to
different approaches
based on the application’s current state of
development, team members alter their
adherence to different approaches
79 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
TB Case
AT Case
October 25, 2018 80 Copyright 2018 Alan Hevner
Research Implications
Artifacts to support Planning and
Execution and Monitoring
81 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
Artifact to support Planning
82 October 25, 2018 Copyright 2018 Alan Hevner
Research Implications
Artifact to support Execution and Monitoring
83 October 25, 2018 Copyright 2018 Alan Hevner
Theoretical Contributions
develop a research model of effectual software
development process by extending the theory of
effectuation
contributes to the theory of software development by
borrowing effectuation perspective from the
entrepreneurship domain and strategic management
illustrates the approach adopted by different team
members, even though the overall approach by the
team is effectual
84 October 25, 2018 Copyright 2018 Alan Hevner
IS Contributions
Focus on digital platforms for software
development
identify new challenges faced by application
development teams in platform environment—
product-platform match, exceed platform’s core
value proposition, and novelty
illustrating the theoretical underpinnings of
software development approaches
85 October 25, 2018 Copyright 2018 Alan Hevner
Limitations
an inherent limitation of case study research is the
generalizability of its findings beyond the context
our case studies included teams of medium size. Applicability
of the inferences drawn from this research to large software
development teams may need additional analysis
the cases considered in this research represent in-house
development and client-vendor relationship. For software
application projects where the development is offshored may
require additional analysis
86 October 25, 2018 Copyright 2018 Alan Hevner
Future Research
Design Science research to develop process models
for planning and execution and monitoring phases
Control theory perspective
Portfolio of controls
configuration, dynamics, and enactment, of control modes
Other application context such as cloud and
blockchain
87 October 25, 2018 Copyright 2018 Alan Hevner
Conclusion
Digital Platforms identify new challenges for software
application development teams
Software development teams need entrepreneurial thinking
Effectual approach to software development extends our
thinking to develop novel applications in the context of digital
platforms
Different roles in the team follow different approaches
88 October 25, 2018 Copyright 2018 Alan Hevner
Class 10 Discussion Question
Discuss your experience with software
development in either a cloud computing
environment or an Internet of Thing (IoT)
computing environment. How does this new
environment change the ways you and your
organization develop software systems?
October 25, 2018 Copyright 2018 Alan Hevner 89
Quiz 2 Review
Given on November 1
Closed Book, Closed Notes
90 minutes in Class
5 short answer questions
Classes 6 – 10 material covered
October 25, 2018 Copyright 2018 Alan Hevner 90
Class 6 Outline
Introduction to ICASE
ICASE tools
UML tools
Introduction to ArgoUML
UML Diagrams
Tutorial
October 25, 2018 Copyright 2018 Alan Hevner 91
Class 7 Outline
Reengineering of Systems
Business Reengineering
A Taxonomy of Reengineering
Metrics
Project and Software Measurements
Types of Metrics
Inspections
Types of Analyses
Automated Tools for Software Development
Computer-Aided Software Engineering (CASE) Environments
CASE Architectures
Management Implications of Tools
GreenIT
IT Impacts on Sustainability
Research and Development Directions
Human-Computer Interfaces & Interactions (HCI)
What is HCI?
What is Usability?
User-Centered Systems Development
Designing Interactions
Best Practices
Material from the SPMN website will be discussed.
October 25, 2018 Copyright 2018 Alan Hevner 92
Class 8 Outline
Software Security Basics
SecurityPractices in the Software
Development Life Cycle
Cybersecurity Threats
Software Testing for Security
Social Engineering
Application Security
ReliaQuest Guest Speakers
October 25, 2018 Copyright 2018 Alan Hevner 93
Class 9 Outline
Larry Gioia’s Presentation
Covey’s Management Ideas
Maslow’s Hierarchy of Needs
Pink’s Video of Motivation
Blanchard’s One-Minute Manager
Deming’s Statistical Quality Control
Peopleware – DeMarco and Lister
Larry’s Best and Worst Practices
October 25, 2018 Copyright 2018 Alan Hevner 94
Class 10 Outline
The Cloud
Cloud Computing
Industry Clouds
Research Directions in the Cloud
The Future of the Cloud
Flow-Service-Quality Methods of Specification and Design
Internet of Things Software Development
Intellectual Control of IoT Systems
Semantics (Flow, Quality, Evolution)
Smart City Examples
Platform-based Software Development
Effectual Software Development on Platforms
Research Contributions and Future Directions
October 25, 2018 Copyright 2018 Alan Hevner 95