KTH Royal Institute of Technology, SE
Designing a new programming or modeling language is a challenging enterprise that requires both large amount of time and effort, as well as significant knowledge in programming language theory and compilers. As a consequence, during the past decades, significant amount of research has been done in the area of embedding languages into other host languages, and to construct various platforms for compiler construction. However, although significant progress in the area, fundamental challenges remain, including i) the ability to easily compose different language fragments in a sound manner to generate new languages, ii) to enable good error messages and to not leak abstractions from host languages, and iii) to automatically generate as good compilers and execution environments as if the language environments were constructed from scratch. In this talk, I will give an overview of our ongoing project of designing an new framework for creating domain-specific languages. In particular, I will describe and discuss the key design objectives and key components of this project, including i) heterogeneous composition of language fragments for designing domain-specific modeling languages, ii) the effort of creating a self-learning model compiler infrastructure that can learn from examples, and iii) efficient target compilation strategies, both for online real-time computation and offline batch processing. The work will be discussed from the context of different domain-specific languages, including a core language for probabilistic programming, and a domain-specific modeling language for equation-based modeling and simulation of complex physical systems.
David Broman is an Associate Professor at the KTH Royal Institute of Technology in Sweden, where he is leading the Model-based Computing Systems (MCS) research group. Between 2012 and 2014, he was a visiting scholar at the University of California, Berkeley, where he also was employed as a part time researcher until 2016. David received his Ph.D. in Computer Science in 2010 from Linköping University, Sweden, and was appointed Assistant Professor there in 2011. He earned a Docent degree in Computer Science in 2015. His research focuses on model-based design of time-aware systems, including cyber-physical systems, embedded systems, and real-time systems. In particular, he is interested in programming and modeling language theory, formal semantics, compilers, and machine learning. David has received an outstanding paper award at RTAS (co-authored 2018), a best paper award in the journal Software & Systems Modeling (SoSyM award 2018), the award as teacher of the year, selected by the student union at the KTH Royal Institute of Technology (2017), the best paper award at IoTDI (co-authored 2017), awarded the Swedish Foundation for Strategic Research's individual grant for future research leaders (2016), and the best paper presentation award at CSSE&T (2010). He has worked several years within the software industry, co-founded four companies, co-founded the EOOLT workshop series, and is a member of IFIP WG 2.4, Modelica Association, and a senior member of IEEE.
- Web page: David Broman
Stephen A. Edwards
Columbia University, USA
Designing an effective language requires you to strike a delicate balance between what is possible, consistent, implementable, and understandable. Like LEGOs, all the pieces need to fit together seamlessly, but unlike LEGOs, a crucial goal is to enable the user to make new, even more powerful blocks. And all of this needs to be done while considering whether everything has a clear, unambiguous meaning and implemented efficiently with available resources. In this talk, I'll describe a variety of successful languages and how they managed (or failed) at this delicate balancing act.
Stephen A. Edwards received the B.S. degree in Electrical Engineering from the California Institute of Technology in 1992, and the M.S. and Ph.D degrees, also in Electrical Engineering, from the University of California, Berkeley in 1994 and 1997 respectively. He is currently an associate professor in the Computer Science Department of Columbia University in New York, which he joined in 2001 after a three-year stint with Synopsys, Inc., in Mountain View, California. His research interests include embedded system design, domain-specific languages,compilers, and high-level synthesis.
École normale supérieure, FR
SCADE is a high-level language and environment for developing safety-critical embedded control software. It has been used for more than twenty years in various application domains like avionics, nuclear plants, transportation, and automotive. SCADE was founded on the synchronous data-flow language Lustre invented by Caspi and Halbwachs. In the early years, it was mainly seen as a graphical notation for Lustre but with the unique and key addition of a code generator qualified to the highest standards for safety-critical applications. In 2008, a major revision based on the new language `Scade 6' was released. This language is an original combination of the Lustre data-flow style with control structures borrowed from Esterel and SyncCharts, with compilation and static analyses from Lucid Synchrone to ensure safety properties. This increase in expressiveness together with the qualified code generator have dramatically widened the scope of applications developed with SCADE. Scade 6 is now used for almost ten years. In this talk, we shall present the main design decision on the language. We illustrate the novel programming language constructs, the different static checks performed by the compiler and defined as dedicated type systems and the properties it ensures, how sequential code is generated and the overall compiler organisation to satisfy the qualification process. We also discuss several possible extensions of the language and its compilation for the future. One of these extensions is hybrid system modeling, as explored in the language Zelus; another extension is the generation of code for multi-core architectures.
Marc Pouzet is professor in computer science at Ecole normale superieure in Paris, leader of the INRIA team PARKAS and Director of Studies at the CS department. His research topic is the design, semantics and implementation of programming languages for reactive system with compile-time guaranties of safety properties like determinacy and execution in bounded time and space. He has particular interest for synchronous languages, their extensions and their embedding into functional typed languages. He developed or was involved in several languages (e.g., Lucid Synchrone, ReactiveML), compilation techniques and analyses that are integrated in commercial tools, notably the language Scade 6 and its compiler, developed by ANSYS/Esterel-Technologies. His current activity focuses on the semantics and implementation of hybrid systems modelers (e.g., Simulink, Modelica), the design and implementation of Zelus, a synchronous language that mixes discrete and continuous time, and the formal certification of a Lustre compiler with Coq. He collaborated with several research and production team (Philips Natlas, NXP, Dassault-Systemes, Esterel-Technologies) and served as scientific advisor. His work received best paper awards in conferences on embedded software (EMSOFT, LCTES) and received with Louis Mandel, the award for the most influential PPDP'05 paper for the language ReactiveML. He have been junior member of Institut Universitaire de France from 2007 to 2012. In 2016, he received the innovation award by INRIA - French Academy of Sciences - Dassault-Systèmes.
Universidad Politécnica de Madrid, ES
Alba Fernandez Izquierdo
Universidad Politécnica de Madrid, ES
Ontologies are defined in Computer Science as formal, explicit specifications of shared conceptualisations. The discipline of Ontology Engineering can be understood as the one that works on methods, tools and techniques to facilitate the development of ontologies. This discipline has been active for over more than two decades, and has witnessed an important evolution during its lifetime. As ontologies are being increasingly adopted in information systems, the ontological engineering methodologies are moving from heavy-weight and traditional life-cycles to embrace agile and software development practices. In this context, some ontological engineering supporting tools are being developed to integrate and orchestrate activities that are usually carried out repeatedly during ontological engineering projects. This is the case for OnToology, an on-line application that exploits GitHub capabilities to ease collaborative ontology development focusing on ontology documentation, evaluation and publication. This tutorial will cover both methodological and technical aspects of collaborative ontology development. It will include practical activities that will be supported by OnToology in combination with other systems. At the end of the tutorial attendees would be able to carry out and adapt common ontology development activities by incorporating OnToology into their workflows. The examples used in the tutorial will be taken from the VICINITY ontology network. However, the participants can follow the tutorial activities applying the acquired knowledge to their own use cases.
Dr. María Poveda-Villalón is a lecturer in the Artificial Intelligence Department of the Universidad Politécnica de Madrid and is also part of the Ontology Engineering Group research lab. Her research activities focus on Ontological Engineering, Ontology Evaluation, Knowledge Representation and the Semantic Web. Previously she finished her studies in Computer Science (2009) by Universidad Politécnica de Madrid, and then she moved to study the Artificial Intelligence Research Master finished in 2010 in the same university. She has worked in the context of Spanish research projects as well as in European projects such as ETSI STF for SAREF extensions, VICINITY (H2020-688467), READY4SmartCities (FP7-608711), and NeOn (FP6-027595). She has contributed to the organization of the "Linked Data in Architecture and Construction Workshop" since 2015 edition, the "13th OWL: Experiences and Directions Workshop and 5th OWL reasoner evaluation workshop" in 2016, the "Linked Energy Data Vocamp" in 2015 and the "Catching up with ontological engineering: To git-commit and beyond" tutorial at EKAW2018. Finally, she is part of the W3C Web of Things Working Group.
Alba Fernández Izquierdo is a Ph.D. Candidate in the Ontology Engineering Group (Universidad Politécnica de Madrid, Spain). She received her Bachelor Degree in Computer Engineering from Universidad de Santiago de Compostela (Spain) in 2015 and her MSc Degree in Artificial Intelligence from Universidad Politécnica de Madrid (Spain) in 2016. She is currently working on ontology testing through ontological requirements. She is focused on ontology quality and ontological collaborative engineering.
- Web page: Maria Poveda
- Web page: Alba Fernandez Izquierdo
Sorbonne Université - LIP6, FR
Embedded systems are commonly built upon heterogeneous digital and analog integrated circuits, including sensors and actuators. Model-driven approaches for designing software and hardware have been proposed, yet they are generally limited to the digital parts of systems. This tutorial for the verification and virtual prototyping of embedded systems. These systems are described at different abstraction levels, starting from a SysML-like high-level model down to software design and mapping, from which a cycle-bit accurate prototype is generated. This prototype is based on the SoCLib library of virtual components written in SystemC. In the second part of the tutorial we will show how TTool has been extended to model and simulate analog/mixed-signal systems, and how the simulation handles the resulting synchronization issues. Last but not least, demonstration will be performed on a rover, as a case study, which will first be modeled by a purely digital design, then the sensors’ models will be added and the SystemC-AMS part of the prototype for co-simulation with SoCLib will be generated.
Daniela Genius is an assistant professor at Paris Sorbonne University and member of the "Embedded Systems" team at LIP6 laboratory in Paris, France.
She obtained her PhD in Karlsuhe, Germany in 2000, then spent six months as a PostDoctoral researcher at the University of Chapel Hill, North Carolina, before joining Philips Research France as a
PostDoctoral researcher during two years, in a project with INRIA, dealing with compilation issues for high resolution video processors.
Since 2002, she is assistant professor in the System on Chip department of LIP6. Her research interests are virtual prototyping for heterogeneous
MP-SoC, hardware/software co-design, and design space exploration for NoC-based multi-processor systems on chip.
- Web page: Daniela Genius