Beyond Mere Logic - A Vision of Modeling Languages for the 21st Century
Bran Selić, Malina Software Corp., Canada
Once upon a Time, There Was Papyrus...
Sébastien Gérard, CEA, France
Modeling and Execution of Software User Interfaces
Marco Brambilla, Politecnico di Milano, Italy
Model Driven Engineering and Functional Safety
Mark van den Brand, Eindhoven University of Technology, Netherlands
Beyond Mere Logic - A Vision of Modeling Languages for the 21st Century
Bran Selić
Malina Software Corp.
Canada
Brief Bio
Bran Selic is President of Malina Software Corp., a Canadian company that provides consulting services to corporate clients and government institutions worldwide. He is also Director of Advanced Technology at Zeligsoft Limited in Canada, and a Visiting Scientist at Simula Research Laboratories in Norway. In 2007, Bran retired from IBM Canada, where he was an IBM Distinguished Engineer responsible for setting the strategic direction for software development tools. Currently, he is also an adjunct professor at Monash University and the University of Sydney in Australia. With over 40 years of practical experience in designing and implementing large-scale industrial software systems, Bran has pioneered the application of model-based engineering methods and has led the definition of several international standards in that domain, including the widely used Unified Modeling Language (UML). In 2016, he was presented with a lifetime Career Award by the steering committee of the IEEE/ACM MoDELS conference in recognition of his contributions to model-driven technologies and practice.
Abstract
Traditional computer languages are all ultimately based on mathematical logic, which, after all, is the foundation of practically all of modern mathematics. This is a natural outcome of the initial algorithmically-oriented applications of electronic computing machines and is even revealed in how we've chosen to name these devices (i.e., "computers"). One obvious aspect of this is reflected in the fact that values in programs are typically represented by "logical" data types, such as integers, reals, or strings, which are quite intentionally shorn of any physical connotations. Consequently, in cases where such data is intended to represent relevant physical quantities, such as length or communication bandwidth, the association with the corresponding physical dimensions is typically informal, through convention. This has led to some catastrophic and expensive failures, such as the case of the unfortunate Mars Lander spacecraft, which was attributed to an undetected mismatch between metric and imperial systems measures. The informal nature of the association between values expressed in programs and their corresponding physical dimensions can also greatly complicate proper verification of such software. Whereas a great deal of effort has been expended in evolving various type theories for computer languages in order to avoid mismatches between "pure" data types, very little has been done to help us with problems with "physical" data types.
In the past, this was perceived as a concern primarily for the relatively specialized field of real-time computing. However, as more and more software involves interactions with the physical world, this deficiency is becoming more obvious, more pervasisve, and more critical. Thus, with the growth of the Internet, many modern software systems are physically distributed and, consequently, highly sensitive to physical phenomena, such as communication delays, equipment failures, out-of-sequence events, and the like. In other words, more and more software is becoming "real-time". In this talk, we focus on the issues involved in the somewhat contradictory relationship between the orderly logical world of traditional software and the complex and sometimes unpredictable physical world with which it interacts. Specifically, we look at how computer languages should be constructed to deal more effectively with this complex combination.
Once upon a Time, There Was Papyrus...
Sébastien Gérard
CEA
France
Brief Bio
Sébastien Gérard is director of research at CEA and he is the research program leader around the knowledge co-engineering platform of the CEA LIST software and sytem engineering department. Working on research issues related to complex and critical system and software design for more than 20 years, his research interests include correct-by-construction specification and design of complex systems, model-based engineering of complex systems and visual modeling language engineering. He is the CEA representative at OMG for more than 15 years. In particular, he is the chair of the MARTE standardization task force. He is also leading the open-source project, Papyrus (www.eclipse.org/papyrus), the UML modeling tools of Eclipse. In 1995, he has a diploma in mechanics and aeronautics from the ENSMA high-school, in 2000 he obtained a PhD diploma in Computer Science from the Evry university and in 2013 he got his “habilitation à diriger des recherches” diploma in the domain of computer science from the Orsay univiersity. Sébastien is co-leading the Modelia initiative (www.modelia.eu) with Jordi Cabot where they investigate the usage of AI to empower MDE and reversely how MDE can benefit to AI design.
Abstract
Abstraction is no doubt the most universal principle to manage complexity of systems under design. In this context, model-driven engineering happen to be an efficient solution and UML - "Unified Modeling Language" standardized by the OMG in January 1997 - is certainly the undisputed champions. Abstraction is considered as the first principle of MDE, while automation is the second one. It consists in enabling/easing the usage of models, as for example generating documentation, code or even "automating" complex processes involving analysis technique (e.g., performance and schedulability analysis). Whatever their strength, both principles share a common concern: their potency relies directly on tools! They have to be performant, robust, usable, modular, scalable, customizable, etc.
This keynote will be on the need to have powerful tools for MDE to be a cutting-edge solution and the needs to have a strong open-source community to have good tools. Both statements will be illustrated through our Papyrus experience.
Modeling and Execution of Software User Interfaces
Marco Brambilla
Politecnico di Milano
Italy
http://dbgroup.como.polimi.it/brambilla/
Brief Bio
Marco Brambilla is associate professor at Politecnico di Milano. He is active in research and innovation, both at industrial and academic level. His research interests include data science, software modeling languages and design patterns, crowdsourcing, social media monitoring, and big data analysis. He has been visiting researcher at CISCO, San Josè, and University of California, San Diego. He has been visiting professor at Dauphine University, Paris.
He is founder of the startup Fluxedo, focusing on social media analysis and Social engagement, and of the company WebRatio, devoted to software modeling tools for Web, Mobile and Business Process based software applications. He is author of various international books and research articles in journals and conferences, with over 200 papers. He was awarded various best paper prizes and gave keynotes and speeches at many conferences and organisations. He is the main author of the OMG standard IFML. He participated in several European and international research projects. He has been reviewer of FP7 projects and evaluator of EU FP7 proposals, as well as of national and local government funding programmes throughout Europe. He has been PC chair of ICWE 2008, Berlin. He is PC member of several conferences and workshops, he organized several workshops and conference tracks so far, and he has been reviewer for many scientific journals. He is associate editor of SIGMOD Records.
Abstract
Software front-end development is a costly and inefficient process, where manual coding is the predominant development approach, reuse of design artifacts is low, and cross-platform portability remains difficult, despite some trends towards HTML-based templating. In this sense, the availability of a platform-independent modeling language for describing the user interaction can bring several benefits to the development process of user interfaces.
This speech focuses on the modeling of software UIs through graphical domain-specific languages and in particular shows the new standard adopted by OMG called IFML (Interaction Flow Modeling Language) at work. The speech illustrates the basic concepts of IFML, presents the design best practices and integration with other modelling languages, and discusses some large-scale industrial experiences (also featuring quantitative measures of productivity) achieved through IFML and associated full code generation techniques.
Model Driven Engineering and Functional Safety
Mark van den Brand
Eindhoven University of Technology
Netherlands
http://www.win.tue.nl/~mvdbrand
Brief Bio
Mark van den Brand started his study computer science in 1982 at the Radboud University Nijmegen (The Netherlands). In 1987 he became a PhD student at the Radboud University Nijmegen. In 1992 he started as assistent professor in the Programming Research Group at the University of Amsterdam. In 1997 he switched from University of Amsterdam to CWI (Centrum voor Wiskunde en Informatica) and became senior researcher and project leader on the ASF+SDF project. The ASF+SDF project is one of the main research topics of the Interactive Software Development and Renovation group. Since 2006 Mark van den Brand is a full professor of Software Engineering and Technology at TU/e in the Department of Mathematics and Computer Science. Since May 2009 he is visiting professor at Royal Holloway, University of London. His current research activities are on generic language technology, and model driven engineering. A number of his research topics are to investigate the correctness and quality aspects of model transformations, and the use of meta-modeling techniques in the area of functional safety. The SET group participates/participated a number of (industrial) projects related to model driven engineering and software evolution. The goal of his research is to investigate the correctness and quality aspects of model transformations. He is president of the European Association of Programming Languages and Systems (EAPLS) and chair of the steering committee of Software Language Engineering. He was six times guest editor of special issues of Science of Computer Programming on academic software development (Experimental Software and Toolkits (EST)). He is member of the editorial board of the journal of Science of Computer Programming, Central European Journal for Computer Science, and Journal of Computer Languages, Systems and Structures.
Abstract
The development of software for domains such as avionics, automotive and healthcare is heavily regulated via safety standards. The effort to interpret the underlying standards is cumbersome and time consuming. The certification of components is expensive. Changing the components or applying the components in another domain involves in many cases re-certification. The representation of relevant information from standards in an electronic form enables, for instance, a faster and more robust safety argumentation. In the OPENCOSS project, www.opencoss.eu, a generic meta-model is developed to support the re-use of safety assurance data. Based on this generic meta-model, conceptual models in the form of meta-models to represent standards, e.g. the ISO 26262 standard, are derived. Model transformations are used to express the mapping between the conceptual models of the safety standards. Furthermore, the safety standard conceptual models can facilitate the construction of safety cases via (derived) vocabularies. This reduces inconsistencies and improves the clearness of the safety cases. Safety argumentation editors, based on EMF and Xtext, have been developed.