13th European Conference on Software Architecture (ECSA) - 9-13 September 2019, Paris France
ECSA/SPLC Joint Keynote: Daniel Le Berre
SAT Oracles, for NP-Complete Problems and Beyond
SAT solvers have been used in many areas, including software product line, as generic engine to solve NP-complete problems since the 2000’s. While the raw performances of the solvers to tackle NP-complete problems have been increasing steadily in the past, most impressive recent results rely on sophisticated encodings and better interaction with the solver, allowing to solve NP-hard – and even PSPACE-complete – problems. This is the case for core-based MAXSAT solvers for instance, and more recently SAT-based QBF solvers. In this talk, I will review the current features found in modern SAT solvers, and how they are used to solve NP-hard problems. I will present a generic approach called RECAR (Recursive Explore and Check Abstraction Refinement) which allows to take advantage of the feedback of the SAT solver to drive the search on a subproblem to prevent when possible memory blowup.
Daniel Le Berre is professor of computer science at The University of Artois, France. He is interested in the practical aspects of Boolean reasoning, namely SAT, pseudo-Boolean and MAXSAT solvers. He created and maintains Sat4j, an open source java library dedicated to the resolution of Boolean satisfaction and optimization problems. He co-organized the SAT competition from 2002 to 2011 and the Pragmatics of SAT series of workshops since 2010. He is currently the editor-in-chief of the Journal on Satisfiability, Boolean Modeling and Computation (JSAT).
ECSA/SPLC Joint Keynote: Christian Kästner
Performance Analysis for Highly-Configurable Systems
Almost every modern software system is highly configurable with dozens or more options to customize behavior for different use cases. Beyond enabling or disabling optional functionality, configuration options often adjust tradeoffs among accuracy, performance, security, and other qualities. However with possible interactions among options and an exponentially exploding configuration space, reasoning about the the impact of configurations is challenging. Which options affect performance or accuracy? Which options interact? What’s the optimal configuration for a given workload? In this talk, I will given an overview of different strategies and challenges to learn performance models from highly-configurable systems by observing their behavior in different configurations, looking at sampling and learning strategies, transfer learning strategies, and strategies that analyze the internals or architecture of the system.
Christian Kästner is an associate professor in the School of Computer Science at Carnegie Mellon University. He received his PhD in 2010 from the University of Magdeburg, Germany, for his work on virtual separation of concerns. For his dissertation he received the prestigious GI Dissertation Award. Kästner develops mechanisms, languages, and tools to implement variability in a disciplined way despite imperfect modularity, to understand feature interactions and interoperability issues, to detect errors, to help with nonmodular changes, and to improve program comprehension in software systems, typically systems with a high amount of variability. Among others, Kästner has developed approaches to parse and type check all compile-time configurations of the Linux kernel in the TypeChef project.
ECSA Academic Keynote: Awais Rashid
Secure software architectures for a hyperconnected world: Game changer or pipe dream?
The world is experiencing a massive growth in connected cyber-physical systems. Innovations such as smart cities, Internet of Things (IoT), body-area networks, smart grids and wearable sensors mean that future environments will be hyper-connected, highly open and regularly collect, process or disseminate massive amounts of data. It is not difficult to envisage large-scale deployments with hundreds of thousands of nodes that are, in turn, used by a large number of stakeholders to provide a multitude of services. Such shared cyber-physical infrastructures will remain in operation for a long time (potentially decades) and the physical composition, the services provided and the stakeholders involved will change with time. Software is at the heart of these critical systems that will underpin our society for the foreseeable future. What is the role of software architecture in these emerging hyperconnected environments? In this talk, I will discuss this very question and the challenges of architecting secure software systems when faced with this scale, longevity and dynamicity.
Awais Rashid is Professor of Cyber Security at the University of Bristol, a Fellow of the Alan Turing Institute and Director of the EPSRC Centre for Doctoral Training in Trust, Identity, Privacy and Security in Large-scale Infrastructures. His research spans software engineering and cyber security - in particular novel techniques to improve the security and resilience of infrastructures underpinning society. He leads projects as part of the UK Research Institute on Trustworthy, Interconnected, Cyber-Physical Systems (RITICS) and the UK Research Institute on Science of Cyber Security (RISCS). He co-leads the Security and Safety theme within the UK Hub on Cyber Security of Internet of Things (PETRAS) and heads a major international effort on developing a Cyber Security Body of Knowledge (CyBOK) to provide interdisciplinary foundations for education and training programmes.
ECSA Industrial Keynote: Rainer Grau
Good practices to identify bounded context to build agile organizations in sync with a smart system architecture
Classical methods still deliver value in agile ecosystems
The term bounded context describes an (ideal world) technical AND organizational autonomous area of the business model of a company. A bounded context combines three orthogonal aspects: the technology of microservices and DevOps; a functional context with its very specific terminology; an as autonomous as possible organizational unit (a team or a set of teams). The challenge of a company transforming towards the idea of bounded context is the smart design of the orthogonal aspect into a well-balanced overall system. The goal of the well-balanced system to minimize the management overhead required to govern the given complexity of the system.
This talk presents a set of good practices for companies to design a well-balanced overall system addressing the three orthogonal aspects of bounded context. Influencing factors in these good practices are size of the company; complexity and number of different business models; level of organizational complexity such as an international business group with different legal entities; ratio of inhouse development versus X-shoring; or existing IT infrastructure dependencies.
Although bounded context are very popular especially in agile environments, this talk will silently communicate that classical methods such as business process modeling or business analysis still are first class citizens in the method toolbox of modern companies.
Since over twenty years Rainer Grau engages with or within companies around the topics agility, lean, leadership, enterprise architecture, lean organization - or to say it different: he engages in continuous improvement to integrate modern ideas and new approaches in technology, architecture and organizational design with the goal to succeed in the market as company and to work with fun as human being.
Steps in his professional life are distinguished consultant and partner at Zühlke Engineering; head business development at Digitec Galaxus; founder of the Suisse Agile Leader Circle SALC; lecturer at Universities in topics around innovation, agility, digital readiness; founding member and reviewer of the International Requirements Engineering Board IREB e.V.; speaker in many conferences and venues. Rainer is engaged in the agile community in Switzerland with a long-time passion. Discover more information about Rainer Grau on www.juropera.com.
ECSA/SPLC Keynote: Professor Lidia Fuentes
Variability variations in Cyber-Physical systems
With the increasing size and heterogeneity of systems (e.g., IoT, Cyber-Physical Systems) and enhanced power and versatility of IoT devices (e.g., smart watches, home intelligence sensors), the complexity of managing different kinds of variability for a given vertical domain becomes more difficult to handle. The structural variability of cyber-physical systems becomes more complex, comprising not only the inherent hardware variability of IoT devices and their network access protocols, but also the infrastructure variability derived from modern virtualization technologies, such as microcontainers or unikernels. Variability of software frameworks used to develop domain specific applications and/or services for Cloud/Edge computing environments should not be intermingled with hardware, and infrastructure variability modelling. In addition, to exploit the full potential of flexibility in processing, data storage and networking resource management, experts should define dynamic configuration processes that optimise QoS such as energy efficiency or latency respecting application-specific requirements. In this keynote talk, I will present how QoS assurance in cyber-physical systems implies modelling and configuring different kinds of variability during design, but also at runtime (e.g., user demands, usage context variability), enabling the late binding of dynamic variation points, distributed in IoT/Edge/Cloud devices, and how this can be materialized using current SPL artefacts.
Lidia Fuentes is a professor at the School of Informatics at the University of Málaga, Spain since 2011, with more than twenty-five years of experience teaching, leading research projects and supervising thesis. She leads a cross-disciplinary research group CAOSD, focused on applying advanced Software Engineering Technologies to Network and Distributed systems. Her current research interests include modelling different kinds of variability of Internet of Things (IoT), and Cypher physical systems to support dynamic reconfiguration and green computing. Her scientific production has been very prolific so far, with more than two hundred scientific publications in international forums. Her work has received several best-paper awards at conferences such as ICSR or SPLC-Tools track. She chaired several conferences as general chair (Modularity 2016), program chair (SPLC industry track, VaMoS, …), served on numerous program committees, and also participated as a panellist at ICSR 2017. She is member of the steering committee of AOSA (Aspect-Oriented Software Association) and VaMoS. She is currently concerned in promoting the STEM careers in girls, participating as a mentor of the Technovation Challenge initiative
ECSA/SPLC Doctoral Symposium Keynote: Professor Carlo Ghezzi
Becoming and being a researcher--what I wish someone would have told me when I started doing research
Why should one wish to become a researcher? What is the role of research and researchers in society? What does one need to do to become a researcher as a PhD student (but also before and after)? What can be the progress of a researcher in his or her career? How to survive and be successful? These are some of the questions I will try to answer in my presentation, based on what I learnt from others and on my own experience.
Very often, young researchers are too busy doing their own research and don’t care about the global picture and ignore these questions. Often, their academic supervisors only focus on the technical side of their supervision and don’t open the eyes of their young research collaborators. But then, sooner or later, these questions emerge and an answer must be given.
In particular, I will focus on three issues:
- Diffusion of research, through publications and other means. What does a beginning researcher need to know and what is a good personal strategy?
- Evaluation of research and researcher. Researchers need to understand that they will be subject to continuous evaluation. Why? How? And, most important, how should they prepare to live through continuous evaluations?
- Ethics. Researchers need to be aware of the ethical issues involved in doing research. On the one side, integrity is needed in the every-day practice of research. On the other, research is changing the world in which we live. The products of research lead to innovations that can have a profound influence on society, and because of the increasingly fast transition from research to practice, they affect the world even before we understand the potential risks. What researchers might see as purely technical problems may have ethical implications, and this requires ethics awareness while doing research.
Carlo Ghezzi is an ACM Fellow (1999), an IEEE Fellow (2005), a member of the European Academy of Sciences and of the Italian Academy of Sciences. He received the ACM SIGSOFT Outstanding Research Award (2015, the Distinguished Service Award (2006), and the 2018 TCSE Distinguished Education Award from IEEE Computer Society Technical Council on Software Engineering (TCSE). He has been President of Informatics Europe. He has been a member of the program committee of flagship conferences in the software engineering field, such as the ICSE and ESEC/FSE, for which he also served as Program and General Chair. He has done research in programming languages and software engineering for over 40 years and has been a recipient of an ERC Advanced Grant on self-adaptive software systems. He has published over 200 papers in international journals and conferences and co-authored 6 books.