MARTE: A Domain-Specific Language for Model-Based Development of Cyber-Physical Systems
In 2011, the Object Management Group (OMG) adopted the UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE), as a standard modeling language for use in the design and analysis of software and supporting hardware in modern cyber-physical systems. It was designed to be used in conjunction with two other OMG modeling language standards: UML and SysML. MARTE enables direct and easy expression of phenomena and design patterns that are common in the intersection between the logical world of software and the physical world of hardware. A fundamental precept underlying it is that software for cyber-physical systems can and should be designed and evaluated by means of a systematic engineering-based approach.
The tutorial is divided into three parts: Part 1 beings with a simple example, which illustrates the basic principles of the language, followed by a description of its structure and foundational principles. In Part 2, facilities and methods for precise modeling of real-time and embedded software systems are described. Finally, Part 3 covers the support for formal computer-based analyses of key quality of service characteristics such as schedulability and performance of MARTE models. Practical examples are used throughout to illustrate the various modeling techniques.
Sebastien Gerard is leading the LISE laboratory (Laboratory of Model Driven Engineering for Embedded Systems) at CEA LIST (http://www-list.cea.fr/en). Working on research issue related complex and critical system and software design for more than 15 years, his research interests include correct-by-construction specification and design of complex systems, model-based engineering of RT/E systems and modeling language engineering. He is the CEA representative at OMG for more than 10 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, and in 2000 he obtained a PhD diploma in Computer Science.
Bran Selic is the President and Founder of Malina Software Corp., a Canadian software consultancy. He has over 40 years of industrial experience in numerous software projects spanning a broad range of application domains including robotics, telecom, aerospace, industrial control, and software development tools. Bran is recognized as a pioneer and authority on the use of modern model-based technologies and methods in industrial software development. He is the primary author of one of the earliest and most frequently referenced textbooks on this topic. In addition, he has authored or co-authored over 100 scientific papers for various technical journals and conferences, contributed to several technical textbooks and, and served as an editor and associate editor for a number of conference proceedings and technical journals. Bran was directly involved in the definition of several widely-adopted industry standards including leading the standardization teams that developed the Unified Modeling Language (UML) and the MARTE standards. Bran graduated from the University of Belgrade in Serbia in 1972.
Multicore Programming using Divide-and-Conquer and Work Stealing
This tutorial will introduce attendees to the various paradigms for creating algorithms that take advantage of the growing number of multicore processors, while avoiding the overhead of excessive synchronization overhead. Many of these approaches build upon the basic divide-and-conquer approach, while others might be said to use a multiply-and-conquer paradigm. Attendees will also learn the theory and practice of "work stealing," a multicore scheduling approach which is being adopted in numerous multicore languages and frameworks, and how classic work-list algorithms can be restructured to take best advantage of the load balancing inherent in work stealing. Finally, the tutorial will investigate some of the tradeoffs associated with different multicore storage management approaches, including task-local garbage collection and region-based storage management.
Prerequisite: Intermediate to advanced knowledge of programming, with some understanding of multi-threaded/multi-tasking issues, including race conditions and synchronization.
S. Tucker Taft is VP and Director of Language Research at AdaCore, a company focused on open-source tools to support the development of high-integrity software. Tucker joined AdaCore in 2011 as part of a merger with SofCheck, a company he had founded in 2002 to develop advanced static analysis technology. Prior to that Tucker was a Chief Scientist at Intermetrics, Inc. and its follow-ons for 22 years, where in 1990-1995 he led the design of Ada 95. Tucker received an A.B. Summa Cum Laude degree from Harvard University, where he has more recently taught compiler construction and programming language design.