Judith Bishop: Software Product Lines – Predicting the Success of Software Reuse in Industry
Software consumers are now used to having new versions or updates of products or apps installed on their computers and devices. As software producers, we know that this continuous improvement is most profitable if it relies on predictive software reuse resulting in a software product line. The elements of reuse are software components which are themselves an object of study. In this keynote, I’ll talk about experiences working in Microsoft in the past decade, looking at three types of software development. Smaller, rapid development projects generally used opportunistic reuse, if at all, until they got too big and faltered. There is much to learn from the characteristics of such projects, some of which are still very successful. Naturally the large revenue spinners like Windows, Office and Azure are the epitome of product line development. From the research angle, it is interesting to observe how improvements have been made to these process in recent times. The third development environment cross-cuts everything, and that is open source. Results from a thorough study I conducted on 20 projects at Microsoft reveal a wide variety of benefits and challenges of using open source in industry, especially when it comes to reuse. From this we’ll look ahead to the future of software product line research.
About Judith Bishop
Judith Bishop is a computer scientist and author whose career spans industry and academia. At Microsoft Research, she led and coordinated cross group projects, empowering people in teams to produce high quality products that have lasting impact. As a professor, she was recognized as an innovator, who increased the perception and adoption of strategic new technologies globally. After studying in South Africa, Judith received her PhD from the University of Southampton, UK. She then served as a professor in South Africa, most recently at Stellenbosch University. Judith’s 17 books written over a period of 30 years have highlighted the evolution of programming languages. Judith is an ACM Distinguished Member, and has received the IFIP Silver Core Award, among other awards. She is a Fellow of the British Computer Society and the Royal Society of South Africa.
Markus Völter: Domain-Specific Languages in SPLE: Why and How?
Traditionally, software product lines rely on a configurative approach, where feature models or other variability modeling formalisms determine the presence or absence of parts of a product, as well as some (usually limited) aspects of the parts’ behaviors. However, for many systems, the expressiveness of a configurative approach is too limited. For example, while one can use configuration to tailor an existing life insurance product for a particular customer, it is not expressive enough to design new, innovative insurance products from scratch; you can’t sensibly pre-design all possible product ideas and put them into a feature model. However, programming these products “manually” is too expensive and error-prone. A middle ground between programming and configuration is needed.
Domain-specific languages are that middle-ground: they are more expressive than pure configuration languages, yet can be tailored to the core abstractions of a particular domain to improve productivity. They can be designed to be usable by non-programmers, allowing product definition by those who really know about the domain. In this keynote, I will briefly motivate the idea of DSLs, put them into the context of product line engineering and variability and then show a number of recent examples of real-world DSLs, some of them combining DSLs with configurative approaches.
I will conclude the talk with a look at the meta level: modern language development tools support modularity of the language definition itself, supporting the construction of product lines of DSLs for related domains.
About Markus Völter
Markus works as a language engineer, bridging the gap from industry and business domains to software systems. He analyses domains, designs user-friendly languages and supporting analyses, and implements language tools and IDEs, architects efficient and reliable backends based on interpreters and generators. He also works on formalisms and meta-tools for language engineering.
Markus helps organisations uncover and understand the unique knowledge at the core of their business, building a common foundation between business and IT. As a language engineer, he designs and implements languages to capture and validate this knowledge, and to makes it executable on modern IT platforms. Markus also works with organisations to successfully introduce this approach.
For 20 years, Markus has consulted, coached and developed in a wide range of industries, including finance, automotive, health, science and IT. He has published numerous papers in peer-reviewed conferences and journals, has written several books on the subject and spoken at many industry conferences world-wide. Markus has a diploma in technical physics from FH Ravensburg-Weingarten and a PhD in computer science from TU Delft.
Martin Hiller: How do we avoid getting devoured when software is eating the automotive world?
The automotive industry is now at the brink of a profound transformation, a paradigm shift. The car evolved over the past few decades from a purely mechanical structure to a computerized mechanical structure containing upwards of 150 different more or less cooperating electronic modules, is now facing the final step: becoming a powerful computing platform with electro-mechanical peripherals situated in a mechanical housing – basically, a computer on wheels. In addition to the changes internal to the vehicle, the product as such is transforming from consisting only of the physical vehicle to being the vehicle combined with surrounding services and features, provided by cloud enabled functionality, all provided in a seamless package.
A term that is sometimes used is “the software defined car” – that is, it is the software that defines the product and the customer/driver experience, and it is the software that differentiates us from our competitors. Future customer expectations will be more akin to the experience they have with their smartphone – well-working software providing functionality that with regular over-the-air updates evolves and improves over time. Software will be a car manufacturers main asset.
This transformation will affect not only the product and the technology, but also organization, the way of working, the way different players in the industry relate to each other, including commercial and contract related aspects. We will essentially have to become computer and software companies – a car manufacturer that cannot make this transition in time will not survive.
This presentation will describe some of the challenges ahead Volvo Cars sees going towards this exciting new future, and provide a glimpse of how we aim to address those challenges.
About Martin Hiller
Martin Hiller is Technical Leader in Logical Design Elements and Software Architecture at Volvo Cars, Gothenburg, Sweden. Before joining Volvo Cars in 2015, he worked at ESA’s technological heart, ESTEC, in Noordwijk, The Netherlands, coordinating ESA’s efforts to introduce IMA (Integrated Modular Avionics) principles from the aeronautical domain to the space domain. Prior to ESA, he was with the Volvo Group, focusing on dependable embedded systems, AUTOSAR, and automotive electronic architectures.
Martin has worked in the area of embedded distributed systems & software for over 20 years and received a MSc in Computer Science & Engineering in 1996, and a PhD in Computer Engineering in 2002, both from Chalmers University of Technology.
Martin is currently working with future generations of the automotive electronic architecture at Volvo Cars. The future of the automobile and the automotive industry is moving towards more integrated computerisation, autonomy, and interconnection across vehicles, infrastructure and cloud. Martin does what he can to ensure that Volvo Cars is prepared for this transformation.