Bran Selic

Bran Selic
Malina Software Corp., Ottawa, Canada

Hon. Doctor of Engineering

About

220
Publications
65,244
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
8,013
Citations
Additional affiliations
August 2017 - present
Monash University (Australia)
Position
  • Professor (Associate)
Description
  • Research collaboration
August 2017 - present
Monash University (Australia)
Position
  • Professor (Associate)
Description
  • Teaching advanced software engineering to Master's students
July 2009 - present
Zeligsoft (2009) Limited
Position
  • Director of Advanced Technology
Education
October 1972 - December 1974
University of Belgrade
Field of study
  • Applied Systems Theory
September 1967 - July 1972
University of Belgrade
Field of study
  • Electrical Engineering
September 1967 - July 1972
University of Belgrade
Field of study
  • Electrical Engineering

Publications

Publications (220)
Presentation
A PDF version of the slides used in my Keynote presentation at the Educators Symposium held in conjunction with the MODELS 2023 conference in Vasteras, Sweden.
Presentation
Full-text available
Bran Selic's keynote presentation given at the CAiSE 2023 Conference held in Zaragoza, Spain (June 2023)
Presentation
Full-text available
Bran Selic's keynote presentation given at the ICSA 2023 conference in L'Aquila, Italy
Article
Robert Williams made the headlines in the United States in 2020 when he was wrongly identified by a facial recognition system and arrested as a wanted criminal.1 The root cause of this appalling violation of Williams’s personal rights was traced to a bias in the underlying machine learning system, which was trained using mostly images with a predom...
Article
Full-text available
Layering and layered system architectures are among the most common architectural styles in software engineering. Despite its near ubiquity, it turns out that there has been very little theoretical work on a more precise definition of what constitutes and what characterizes layering. This has had the unfortunate consequence that the layering style...
Chapter
The concept of classification as realized in most traditional object-oriented computer languages has certain limitations that may inhibit its application to modeling more complex phenomena. This is likely to prove problematic as modern software becomes increasingly more integrated with the highly dynamic physical world. In this paper, we first prov...
Conference Paper
Full-text available
This contribution proposes to apply informal ideas for model development within a formal tool. The basic idea is to relax the requirements expressed with particular modeling language elements and allow developers to dynamically customize the level of formality in a visual and intuitive way. For UML and OCL class models, the requirements for usual o...
Conference Paper
Full-text available
The concept of classification as realized in most traditional object-oriented computer languages has certain limitations that may inhibit its application to modeling more complex phenomena. This is likely to prove problematic as modern software becomes increasingly more integrated with the highly dynamic physical world. In this paper, we first prov...
Article
Full-text available
The inexorable penetration of software into practically every facet of modern society calls for sophisticated architectural styles, including ones that can sup-port architectures with dynamically shifting structures, which are required to cope with the dynamics of their applications. With the advent of modern Inter-net-based systems operating in re...
Article
Full-text available
There is a long-standing challenge to narrow the gap between software engineering research and industrial practice. This gap is reinforced by a number of challenges, including differing timelines, metrics, expectations, and perceptions of these two communities. We believe that these and other related challenges need be analyzed and discussed, to di...
Book
This book constitutes thoroughly revised and selected papers from the 8th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2020, held in Valletta, Malta, in February 2020. The 15 revised and extended papers presented in this volume were carefully reviewed and selected from 66 submissions. They present recen...
Article
The author states that AUDIT was an embarrassing admission of defeat, reflecting a development team resigned to the poor quality of their code. It dawned on him much later that the AUDIT program was simply an example of the very ancient feedback control loop pattern. In his experience, there is little awareness of the importance and complexity of t...
Article
Many theoretical methods for dealing with component-based software design have been proposed. Unfortunately, practically all of them ignore the inconvenient fact that software-based systems need an underlying hardware and software infrastructure to function. Consequently, all software applications are susceptible to idiosyncratic effects stemming f...
Book
This book constitutes thoroughly revised and selected papers from the 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2019, held in Prague, Czech Republic, in February 2019. The 16 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 76 submissions. T...
Article
Full-text available
Several research efforts from different areas have focused on the execution of UML models, resulting in a diverse and complex scientific body of knowledge. With this work, we aim at identifying, classifying, and evaluating existing solutions for the execution of UML models. We conducted a systematic review in which we selected 63 research studies a...
Book
This book constitutes thoroughly revised and selected papers from the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, held in Funchal, Madeira, Portugal, in January 2018. The 22 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 101 submission...
Chapter
With the increased demand for so-called “smart” systems, which are required to interact with the physical world in ever more complex ways, we are witnessing a corresponding growth in the complexity of the software that is at the core of such systems. Keeping pace with this rise in complexity is proving to be a challenge for current mainstream progr...
Conference Paper
In order to achieve effective support for software development, the transition between an informal and provisional mode of tool operation, which is conducive to design exploration, and a formal mechanistic mode required for computer-based design capture is crucial. This contribution proposes a smooth transition for designing class models starting f...
Article
Context: Latent uncertainty in the context of software-intensive systems (e.g., Cyber-Physical Systems (CPSs)) demands explicit attention right from the start of development. Use case modeling—a commonly used method for specifying requirements in practice, should also be extended for explicitly specifying uncertainty. Objective: Since uncertainty i...
Book
This book constitutes thoroughly revised and selected papers from the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2017, held in Porto, Portugal, in February 2017. The 20 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 91 submissions. They con...
Book
This book constitutes thoroughly revised and selected papers from the 4th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2016, held in Rome, Italy, in February 2016. The 17 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 118 submissions. They are or...
Conference Paper
The proven ability of some modeling languages to be used as both design and implementation languages has raised hopes of a seamless blending between design and implementation, a capability that only seems possible in the domain of software engineering. In turn, this has led to methodological questions on how best to take advantage of models and mod...
Conference Paper
Uncertainty is intrinsic in most technical systems, including Cyber-Physical Systems (CPS). Therefore, handling uncertainty in a graceful manner during the real operation of CPS is critical. Since designing, developing, and testing modern and highly sophisticated CPS is an expanding field, a step towards dealing with uncertainty is to identify, def...
Conference Paper
Cyber-Physical Systems (CPSs) are the future generation of highly connected embedded systems having applications in diverse domains including Oil and Gas. Employing Product Line Engineering (PLE) is believed to bring potential benefits with respect to reduced cost, higher productivity, higher quality, and faster time-to-market. However, relatively...
Conference Paper
Many attempts to transfer the results of software research into useful industrial products fail. In this short paper, we identify some of the primary reasons why this happens, based on lessons learned from long-term experience with industrial software development. It is argued here that the primary causes of project failures can often be due to (a)...
Technical Report
Full-text available
Version 2.5 is formally a minor revision to the UML 2.4.1 specification, having been substantially rewritten as solicited by the UML Specification Simplification RFP ad/09-12-10. It supersedes formal/2011-08-05 (Infrastructure) and formal/2011-08-06 (Superstructure).
Chapter
Designers and developers of real-time software systems often find that conventional computer languages lack important features that are crucial to their work. This category of systems is characterized by the fact that it needs to interact tightly with the physical world: real-time software is typically used to observe and control real-world phenome...
Chapter
Some details of the actual metamodel are omitted for clarity.
Chapter
Even the most basic foray into quantum physics reveals that the traditional “laws of physics” used in most engineering work are, in fact, merely high-level approximations of reality.
Chapter
More precisely, MARTE allows multiple clocks to be associated with a timed element (each clock with a value corresponding to its perspective), but a single clock is by far the most common case.
Chapter
Although the MARTE specification includes in its Annex A a definition of a full AADL subprofile, the AADL stereotypes and other constructs described in this chapter are different from those found in the standard. They were chosen for their pedagogical value instead of for accuracy.
Chapter
The details of how the behavior of the Displayer class is specified are of no interest here and are omitted.
Chapter
The Schedulability Analysis Modeling (SAM) subprofile of MARTE is used to determine whether or not a given platform implementing a given task scheduling policy can satisfy all of the hard real-time deadlines of a multitasking application. SAM is a refinement of the generic MARTE GQAM analysis framework and is applicable to an important category of...
Chapter
The two languages were developed by different teams at approximately the same time.
Chapter
This only applies to the way that deployment is modeled, but does not preclude the use of base concepts from the UML deployment model, such as Artifact or even Node (possibly refined using MARTE stereotypes).
Chapter
This is, of course, a simplified representation; for example, many operating systems depend on a more basic software layer that shields them to a certain extent from the hardware.
Chapter
Readers who are curious as to why two different forms of referring to the same stereotype, one starting with uppercase letter (PaStep) and the other with a lowercase letter (paStep), will find the answer in Section 2.3.5.
Conference Paper
In this talk, we review the course of an industrial project involving a product line for a complex cybe-physical system. The project involved an industry partner and a research institute in Norway, Simula Research Laboratory. The product is a subsea oil and gas extraction facility. Each instance of the product must be adapted to fit a specific phys...
Book
From the publisher's summary: Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE explains how to apply the complex MARTE standard in practical situations. This approachable reference provides a handy user guide, illustrating with numerous examples how you can use MARTE to design and develop real-time and embedded systems an...
Article
Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE explains how to apply the complex MARTE standard in practical situations. This approachable reference provides a handy user guide, illustrating with numerous examples how you can use MARTE to design and develop real-time and embedded systems and software. Expert co-authors B...
Article
Full-text available
In recent years, High Performance Computing (HPC) systems have been shifting from expensive massively parallel architectures to clusters of commodity PCs to take advantage of cost and performance benefits. Fault tolerance in such systems is a growing concern for long-running applications. In this paper, we briefly review the failure rates of HPC sy...
Data
Full-text available
With cloud computing, a large number of Virtual Machines (VMs) can be provisioned to form high performance computing (HPC) to run computation-intensive applications using the Hardware as a Service (HaaS) model. Fault Tolerance (FT) for HPC in the cloud is increasingly a challenging issue, because any fault during the execution would result in re-ru...
Article
Using model-based approaches for designing embedded systems helps remove unnecessary details in a manner that reduces production costs, increases the potential for easy validation and verification, and facilitates reuse and evolution. In this context, a common practice is to use UML as the base language, possibly specialized by the so-called profil...
Article
ContextIntegrated control systems (ICSs) are heterogeneous systems where software and hardware components are integrated to control and monitor physical devices and processes. A family of ICSs share the same software code base, which is configured differently for each product to form a unique installation. Due to the complexity of ICSs and inadequa...
Technical Report
Requirements play a critical role in the development of large-scale integrated control systems. The quality of these requirements has a significant impact on almost every single activity of the development lifecycle. The inherent complexity of such systems, which typically spans entire product lines, requires a systematic and comprehensive approach...
Article
Model-based engineering (MBE) has been touted as a new and substantively different approach to software development, characterized by higher levels of abstraction and automation compared to traditional methods. Despite the availability of published verifiable evidence that it can significantly boost both developer productivity and product quality i...
Conference Paper
UML profiling is pragmatic choice that lets language designers define a Domain-Specific Modeling Language (DSML) by tuning UML to meet specific domain. An alternative approach is to define a pure-DSML. Each approach has its own benefits and drawbacks. We propose an approach and a tool that helps get the best from both approaches; maximizing reuse w...
Article
Full-text available
We investigate three approaches describing models of business processes: the OMG standard BPMN in its recent version 2.0, the workflow patterns of the Workflow Pattern Initiative and their reference implementation YAWL. We show how the three approaches ...
Conference Paper
The general perception and opinion of the Unified Modeling Language in the minds of many software professionals is colored by its early versions. However, the language has evolved into a qualitatively different tool: one that not only supports informal lightweight sketching in early phases of development, but also full implementation capability, if...
Technical Report
Integrated Control Systems (ICSs) are often large-scale and highly configurable software-intensive systems-of-systems, with software and hardware components integrated to control and monitor physical devices and processes (e.g., oil and gas production platforms). Employing Product Line Engineering (PLE) is believed to bring potential benefits with...
Article
In recent years, High Performance Computing (HPC) systems have been shifting from expensive massively parallel custom architectures to clusters of commodity personal computers to take advantage of cost and performance benefits. To avoid having to restart an application in case of sudden failure, checkpointing/restart fault tolerance mechanisms are...
Conference Paper
Full-text available
Recent years have seen a proliferation of languages for describing embedded systems. Some of these languages have emerged from domain-specific frameworks, and some are adaptions or extensions of more general-purpose languages. In this paper, we focus on two widely-used standard languages: the Architecture Analysis and Design Language (AADL) and the...
Article
form only given. Abstraction is the very essence of architectural specification and modeling. Consequently, as we develop a proper theoretical underpinning for model-based engineering methods, it is crucial for us to understand more precisely what is involved in moving from a concrete specification of some system to a more abstract one (or vice ver...
Technical Report
This specification of a UML™ profile adds capabilities to UML for model-driven development of Real Time and Embedded Systems (RTES). This extension, called the UML profile for MARTE (in short MARTE for Modeling and Analysis of Real-Time and Embedded systems), provides support for specification, design, and verification/validation stages. This new p...
Article
One pillar of Model-Driven Development for real-time embedded software is the separation of concerns between application model and target platform. This requires definition of model transformations realizing the mapping of the application model onto the target platform. Real-Time and Embedded Systems design means coping with different target platfo...
Conference Paper
Full-text available
This is a half-day tutorial dealing with the relatively new field of modeling language design.
Technical Report
Full-text available
Recent years have seen a proliferation of languages for describing embedded control systems. Some of these languages have emerged from domain-specific frameworks, and some are adaptions or extensions of more general-purpose languages. In this paper, we focus on two widely-used standard languages: the Architecture Analysis and Design Language (AADL)...
Article
Full-text available
The authors of this issue's "Point/Counterpoint" department debate the merits of UML as a useful tool. Eoin Woods and David Emery, in "Is UML Sufficient for Describing Architectures?", posit that although widely used, UML has some serious limitations as an architecture description language, while Bran Selic, in "UML 2: Designed for Architects," sta...
Chapter
Development of increasingly more sophisticated dependable real-time and embedded systems requires new paradigms since contemporary code-centric approaches are reaching their limits. Experience has shown that model-based engineering using domain-specific modeling languages is an approach that can overcome many of these limitations. This chapter firs...
Chapter
Full-text available
This chapter outlines Papyrus, a tool for graphical modeling of UML2 applications. It is an open-source project, designed as an Eclipse component, and based on the existing EMF-based realization of the UML2 meta-model. The goal of this open-source project is twofold. First, it is a complete, efficient, robust, and methodologically agnostic implemen...
Conference Paper
The design of complex technical system invariably involves multiple domain-specific languages to cover the many different facets of such systems. However, unless the languages are designed to be used in combination, this typically leads to conflicting specifications that are difficult to reconcile due to the ontological and other differences betwee...
Article
Full-text available
The authors of this issue's" Point/Counterpoint" department debate the merits of UML as a useful tool. Eoin Woods and David Emery, in "Is UML Sufficient for Describing Architectures?", posit that although widely used, UML has some serious limitations as an architecture description language, while Bran Selic, in "UML 2: Designed for Architects," sta...
Article
Software developers are notorious for skimping on design documentation, often eschewing it altogether. This trend has led to claims that it is merely an impediment in the fast-paced and highly pliable world of software development-a useless vestige of old-style engineering that should be eliminated altogether. While recognizing the unique nature of...
Conference Paper
The design of modeling languages is still much more of an art than a science. There is as yet no systematic consolidated body of knowledge that a practitioner can refer to when designing a computer-based modeling language. This overview article provides a personal perspective, comprising a selective summary of some important lessons learned and exp...
Conference Paper
Full-text available
Using model-based approaches for designing embedded systems helps abstract away unnecessary details in a manner that increases the potential for easy validation and verification, and facilitates reuse and evolution. A common practice is to use UML as the base language, possibly specialized by the so-called profiles. Despite the ever increasing numb...
Conference Paper
This short panel position paper outlines the vision of modern development methods and supporting technologies for the development of modern and future real-time and embedded software applications. It is argued that these should be based on so-called model-based software engineering techniques and service-oriented principles.
Book
This book constitutes the refereed proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2009, held in Denver, CO, USA, during October 4-9, 2009. The 45 revised full papers and 13 short papers presented were carefully reviewed and selected from 248 submissions. The book also contains three keynot...
Article
Model-based software engineering (MBSE) is an approach to software development characterized in part by significantly greater levels of automation when compared to more traditional development methods. Computer-based tools play a fundamental role in a number of key aspects of development, including authoring support (many MBSE languages are predomi...
Chapter
The Unified Modeling Language is a language used for analysis and design of software-based systems. This is an entry for the Software Engineering Encyclopedia that gives an overview of UML.
Article
The UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (also called the UML profile for MARTE, or simply, MARTE) adds capabilities to UML for model-driven development of real-time and embedded systems (RTES). It provides support for specification, design, and verification/validation stages. This new profile replaces the existin...
Conference Paper
With society's increasing dependence on software, the issue of software quality is becoming more prominent. The term quality of service (QoS) has been used in conjunction with software to cover a broad range of characteristics, such as dependability, responsiveness, security, etc. Historically, the technical challenge of achieving a desired QoS in...
Article
Full-text available
Dynamic system reconfiguration techniques are presented that can enable the systematic evolution of software systems due to unanticipated changes in specification or requirements. The methodological approach is based upon a domain analysis, which identifies a set of concepts that reflect the types of reconfigurations possible and the system integri...

Network

Cited By