Workshop


Software Engineering for an Uncertain World


Software systems have traditionally been used to achieve mechanical advantage through automation. In essence, software system can be viewed as an input-output transfer function operating in an environment to achieve the desired objectives. Focus of SE community has been on issues like: What are the requirements? What are the characteristics of operating environment? How can the requirements be refined all the way to an efficient implementation while honouring the constraints imposed by the operating environment? In other words, the community has assumed a static situation characterized by completeness of information at total certainty.

This assumption is being increasingly questioned for a variety of reasons. For instance, increased connectedness is resulting in emergence of complex systems of systems which can be understood only in localized contexts and even this understanding is likely to be incomplete or uncertain or both. In other words, localized system behaviour is non-deterministic due to incompleteness of available information and inherent uncertainty. This raises questions about the core assumptions underlying present software engineering – requirements are complete, and information is devoid of any uncertainty. Clearly, neither current software engineering nor current software system architectures seem adequate.

What then should the characteristics of software systems of future be and how can they be engineered effectively? The “Software Engineering for an Uncertain World (SE4UW)” workshop aims to debate these and other related critical issues. We believe ideas from multiple fields such as programming languages, models of computation, non-determinism, learning techniques, AI, dynamic adaptation, and knowledge modelling need to come together for addressing this challenge.

SE4UW workshop program comprises of invited talks (45 mins each) by leading researchers from the relevant fields followed by open discussion towards the end.

...
Dr Jon Whittle, Director, CSIRO’s Data61, Australia

Talk Title: Making Software Human - the inherent uncertainty of software that reflects our humanity

Dr Jon Whittle, Director, CSIRO’s Data61, Australia

Bio: Dr. Jon Whittle is Director of CSIRO's Data61, Australia's national centre for R&R in data science and digital technologies. He is also an Adjunct Professor at Monash University in Melbourne, where he leads the OVIS research group on human values in software (ovislab.net). Jon is a world-leading authority on software engineering and human-computer interaction research, having recently won two awards for software engineering impact over the last 10 years. He is also an accomplished executive leader, having won CEO Magazine's Education Executive of the Year in 2019. Jon has held a number of leadership and academic roles across the world, including at NASA, IIT Kanpur, IISc Bangalore, and Monash University, Australia.

Talk Title: Making Software Human - the inherent uncertainty of software that reflects our humanity

Talk Abstract: Our values - such as inclusiveness, diversity, respect, tradition, equality etc. - are what define us as humans. Yet, in a recent survey of software engineering research, we found that only 16% of software focuses on human values. This means that we risk developing software systems that don't reflect what it means to be human. As the adoption of AI and automation software increases, we may end up with a society we don't want to live in. How then can we ensure that we build software that embeds our human values? And how can normally well-specified and technical fields such as software engineering incorporate the more uncertain and nuanced world of human values? In this talk, I will reflect on three years research trying to answer exactly these questions.

...
Prof Tony Clark, Aston University, Birmingham, UK

Talk Title: A Method for Engineering Software for an Uncertain World

Prof Tony Clark, Aston University, Birmingham, UK

Bio: Tony Clark is a Professor and Deputy Dean in the College of Engineering and Physical Science at Aston University. He has experience of working in both Academia and Industry on a range of software projects and consultancies. While at Marconi Research Ltd (1985-1994) he worked in both Software Engineering and Knowledge Based Systems and was responsible for designing applications for recognising aircraft behaviour, fusing sonar data, and for designing and implementing an AI Toolkit, the first of its kind in the UK. He has worked on languages for Object-Oriented specification and design including contributing to a range of Industry standards (UML 2.0, MDA, QVT, MOF). He co-founded a spin-out company selling UML-based meta-tools and consultancy to a number of blue-chip companies including BT, BAES, BSkyB and Citibank. His recent work addresses the issue of supporting decision making and uncertainty in enterprise systems. Tony is an editorial board member of the Journal of Software and System Modelling, the Journal of Enterprise Modelling and Information Systems Architectures and the Journal of Object Technology. He has edited several special issues including IEEE Software and SoSyM, and was co-chair of the MODELS conference in 2011. He is PC Chair of the Innovations in Software Engineering Conference for 2021.

Talk title: A Method for Engineering Software for an Uncertain World

Talk Abstract: Software must dynamically adapt to survive. It is no longer the case that software is constructed to perform a single well understood task that remains constant throughout the lifecycle of the system. New software must be deployed into dynamically evolving ecosystems where the goals supplied to the original software developers cannot be relied upon.

Uncertainty and adaptation must be taken into account in the design of new software systems. However, most existing methods for system design and implementation work hard to remove uncertainty so that the designed that are used as implementation blueprints are completely deterministic.
This talk will present the motivation for retaining uncertainty in software designs and will outline a method that can be used to capture the key features that will make software systems adapt within their environments. The approach is based on a collection of key concepts that can be used to model a system and then turned into an executable design based on non-deterministic and stochastic features that can be controlled via Machine learning to achieve the desired adaptation.

...
Dr Sriram Rajamani, Chief Scientist & Managing Director, Microsoft Research India

Talk Title: Models and Programs: Better Together

Dr Sriram Rajamani, Chief Scientist & Managing Director, Microsoft Research India

Bio: Sriram Rajamani is Distinguished Scientist and Managing Director of Microsoft Research India. His research interests are in designing, building and analyzing computer systems in a principled manner. Over the years he has worked on various topics including Hardware and Software Verification, Type Systems, Language Design, Distributed Systems, Security and Privacy. His current research interest is in combining Program Synthesis and Machine Learning. Together with Tom Ball, he was awarded the CAV 2011 Award for “contributions to software model checking, specifically the development of the SLAM/SDV software model checker that successfully demonstrated computer-aided verification techniques on real programs.” Sriram was elected ACM Fellow in 2015, and Fellow of Indian National Academy of Engineering in 2016. Sriram was general chair for POPL 2015 in India, and was program Co-Chair for CAV 2005 in Edinburgh. He co-founded the Mysore Park Series and the ISEC conference series in India. He serves on the CACM editorial board as co-chair for special regional sections, to bring computing innovations from around the world to CACM.

Talk title: Models and Programs: Better Together

Talk Abstract. There are two broad ways to construct computer systems: (1) Programming and (2) Learning. Programming makes sense when there is a clear mathematical specification, and a provably correct program to realize the specification, even though we might never write these down formally. Examples of these class of systems include databases, operating systems and tax processing systems. Learning makes sense when it is hard to write a mathematical specification, or provable implementations, even if we were to spend time and energy to write these down formally. Examples of these class of systems include image classification, NLP sentiment understanding, and language translation. In these cases, it is natural to specify intent using examples and learn a model that inductively generalizes from the examples. In this talk we consider situations where the two approaches can be combined, producing better results than using either approach in isolation. We conclude with opportunities in using programming language techniques to make ML models efficient, robust, interpretable, and verifiable.

...
“Shanky” Viswanathan, Chief Technology Officer, Tata Consultancy Services

Talk title: Towards Autonomous enterprises – leveraging Enterprise Digital Twin and SE4UW Approach

“Shanky” Viswanathan, Chief Technology Officer, Communication, Media and Information Services Business Unit, Tata Consultancy Services

Bio: Shanky Viswanathan brings strong Industry knowhow, Domain expertise and Technology Innovation a to help CXOs and Industry Executives drive and sustain Business Leadership in this hyper-competitive landscape. As CTO, Shanky explores how myriad technology disruptions can be harnessed to power Enterprises into the future. As Head of Industry Advisory, Shanky helps the C-Suite embrace the organisational learnings and navigate the implications of cross – Industry disruption and transformation in the age of Ecosystems, Platforms and “Experience Economy”. He has headed various Architecture boards to spearhead transformation journeys and massive system integration programs across multiple service providers across the globe. Shanky is part of the review committee for all Telecom related initiatives out of US-India Business Council (USIBC). He has also presented multiple papers and chaired panel sessions across leading industry forums including TMFORUM, Billing & OSS, NGN forums etc. across the globe. He holds multiple patents in real-world business solutions exploiting Digital Technologies.

Talk title: Towards Autonomous enterprises – leveraging Enterprise Digital Twin and SE4UW Approach

Talk abstract: Decision makers in Modern enterprises formulate business strategies and execute them in a less than certain environment. Uncertainties can be caused by a plethora of factors - internal and external to the enterprises. The decision makers have to navigate such uncertainties and take actions in order to maximize business benefits. However, most of these decisions rely a lot on intuition on the part of decision makers, placing a premium on their expertise and experience. As uncertainties compound (e.g. Covid-19, macro-economic slowdown, political instability etc.), the decision maker’s ability to steer decisions purely on intuition and experience is not adequate enough. In recent times, to help decision makers develop better intuition of the complex real world and to help them understand the full import of their decisions without having to execute each one of them in the real world, we are using our product offerings such as TCS TwinXTM to assist industry players with digital twin-based simulation aids to experiment and evaluate business strategies at scale prior to real world executions. Key to the real-world simulations are the enterprise digital twins - digital twins of entire value chain of the enterprise and broadly categorized as customers, products, processes and resources. The interrelationships between the digital twins are also captured. Once the digital twin of the entire enterprise value chain is constructed, then we can simulate the impact of their behavioural changes in response to any internal and external disturbances. This methodology offers significant empowerment of business decision-makers to experiment & evaluate decisions. More importantly, it helps them test multiple hypothesis through digital twin simulations before zeroing in on the right one. Some of the hypothesis that decision makers can simulate include strategic areas such as Customer Lifetime Value Maximization, Value Chain Optimization, Business Growth & Transformation, Merger & Acquisition, Risk Analysis & Mitigation etc.
The case in example was the telecom industry’s response to the Covid-19 pandemic. As telecom services became an essential service for the world that was forced into lockdowns, social distancing and online; Telcos had to focus on network capacity addition, product offering modification, and process transformation to adapt to the new normal. In doing so, they leveraged digital twin-based simulations towards validating multiple business options and formulating precise and simulation-validated strategies. However, most enterprises struggled to formulate and execute such decisions flawlessly due to inherent structural (organizational) limitations. For example, simulation results for a major Telco indicated a possible improvement to lead conversion rates subject to channel augmentation to the existing mix. However, the corresponding system and process changes were deemed infeasible within campaign execution timelines by the Channel Ownership team. The systems, which were meant to execute enterprise business decisions with speed, have instead become a key binding constraint on the enterprises ability to take decisions outside the well-trodden path.
This can largely be attributed to rigidity of current enterprise systems and process designs that offer limited adaptability to execute strategies formulated in the digital twin environment. In this talk, we would address the need for Adaptive Enterprise Systems & Processes and how it needs to co-exist seamlessly with Digital based decision-making approach towards realizing the building blocks of an Autonomous Enterprise.