Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE
eBook - ePub

Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE

Developing Cyber-Physical Systems

Bran Selic, Sebastien Gerard

Share book
  1. 314 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE

Developing Cyber-Physical Systems

Bran Selic, Sebastien Gerard

Book details
Book preview
Table of contents
Citations

About This Book

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 Bran Selic and SĂŠbastien GĂŠrard lead the team that drafted and maintain the standard and give you the tools you need apply MARTE to overcome the limitations of cyber-physical systems. The functional sophistication required of modern cyber-physical systems has reached a point where traditional code-centric development methods are proving less and less capable of delivering a reliable product in a timely manner. In Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE, you will learn how to take advantage of modern model-based engineering methods and corresponding industry standards to overcome these limitations. These methods take full advantage of computer-supported automation allowing timely detection of design flaws to reduce engineering risk, leading thereby to better overall product quality and greater productivity.

  • Understand the design rationale behind the MARTE standard needed to take full advantage of its many powerful modeling capabilities
  • Best apply the various MARTE features for the most common use cases encountered in the design of real-time and embedded software
  • Learn how MARTE can be used together with the SysML language for the design of complex cyber-physical systems
  • Discover how MARTE can be used for different kinds of computer-supported engineering analyses to predict key system characteristics early in development
  • Customize MARTE for a specific domain or project

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE an online PDF/ePUB?
Yes, you can access Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE by Bran Selic, Sebastien Gerard in PDF and/or ePUB format, as well as other popular books in Business & Business intelligence. We have over one million books available in our catalogue for you to explore.

Information

Year
2013
ISBN
9780124166561
Part I
Introduction to MARTE
Outline
Chapter 1 An Overview of MARTE
Chapter 1

An Overview of MARTE

This chapter provides a high-level view of the rationale behind MARTE and illustrates its use using a simple yet comprehensive example. It is intended as a practical introduction to MARTE and to the rest of the book. For readers who are only interested in gaining a basic understanding of MARTE and its purpose, but who do not anticipate using it directly in their work, the material in this chapter may prove sufficient. Following the example, the text explains the basic architectural principles and core concepts that were used in the design of MARTE. This information will help guide readers as they navigate through the text. The chapter concludes with a list of standard use cases for MARTE. Since the book is primarily intended as a user guide for practitioners, the rest of the book is structured to reflect these use cases.

Keywords

application-aware adaptation; computer-aided analysis; cyber-physical systems; design languages; extensible languages; integrated environments; MARTE; modeling and prediction; modeling technologies; quality analysis and evaluation; real-time and embedded systems; specialized application languages; software standards; tools; UML; UML profiles; very high-level languages
Chapter Contents
1.1 Introduction
1.2 Why model?
1.3 A simple example
1.4 What does MARTE add to UML?
1.5 Conceptual foundations and design principles
1.5.1 Foundational concepts: Applications, platforms, and deployment
1.5.2 Foundational concepts (1): Resources, brokers, services, usages
1.5.3 Foundational concepts (2): Physical data types and values
1.5.4 Foundational concepts (3): Time and timed behavior
1.5.5 Foundational concepts (4): Class/instance unification [Advanced]
1.5.6 Core design principle (1): Support for concern-specific representations [Advanced]
1.5.7 Core design principle (2): Composite stereotypes [Advanced]
1.5.8 Core design principle (3): Modularity for scalability [Advanced]
1.6 Standard use cases for MARTE
1.6.1 Use case (1): Application modeling
1.6.2 Use case (2): Modeling platforms
1.6.3 Use case (3): Specifying deployment
1.6.4 Use case (4): Analyze model
1.6.5 Use case (5): Create a new analysis profile
1.6.6 Use case (6): Configure product variant
1.6.7 Use case (7): Extend MARTE
1.7 Tool support for MARTE
1.8 Summary
References

1.1 Introduction

MARTE is a domain-specific modeling language intended for model-based design and analysis of real-time and embedded software of cyber-physical systems. It is designed as a supplement to UML, providing capabilities that are either inadequate or missing in UML. Since MARTE is defined as a profile of UML, the integration of the two languages is seamless. To better illustrate how MARTE complements UML and how it can be used, we include in this chapter a simple example demonstrating where and how it is used. However, we will first provide an answer to a question that is frequently asked when model-based engineering is proposed as an approach to software development.

1.2 Why model?

Models and modeling have been essential tools of engineering since pre-history. In fact, as pointed out by Joshua Epstein, anyone “who ventures a projection or imagines how some system or event would unfold is doing modeling”[2]. This clearly includes any design work, including the design of software. Of course, much modeling is implicit, done inside our heads. But, in the stringent world of formal engineering, it is generally necessary to validate our models, in order to explain and justify our design choices both to ourselves and to others. This requires that the models be rendered explicit, so that they can be reviewed, analyzed, validated, transformed, and manipulated in various other ways. Clearly, such models should be in a form that is understood by all stakeholders. The latter requirement is helped if the model is specified using some agreed-on standards, such as UML and MARTE.
We define an engineering model as: a reduced representation of some system that captures accurately and concisely all of the essential properties of interest for a given set of concerns. That is, a model is a selective representation that emphasizes the essential features of the modeled system while either omitting or hiding from view inessential information. Selective representation of information so that only the essentials are visible is a fundamental feature of any useful model, since it helps us cope with what might otherwise be overwhelming complexity. Of course, what is considered essential depends on the stakeholder, which means that different categories of stakeholders will require different models or views of a given system.
In engineering, models and modeling serve a number of related purposes:
ent
To reason about the problem and potential solutions
ent
To support communication and consensus between stakeholders (especially if they have conflicting requirements)
ent
To enable prediction of important properties of the modeled system
ent
To specify what is to be implemented; i.e., the use of models as blueprints for implementation, including computer-based models that may be used as “complete” system specifications that, in case of models of software, can be automatically translated into equivalent program code or executed directly on a computer.
Depending on which of these is the primary purpose of a model, the form and degree of detail provided in an application model will vary. The most detailed models are ones that are used as specifications, with the extreme case where the model is used to automatically generate an implementation requiring the most detail and precision. These types of models are known as prescriptive models. In contrast, descriptive models primarily serve the other three purposes and tend to be less detailed. A model used for prediction (e.g., by formal analysis methods) tends to be quite detailed for those aspects of the system used in the analysis, but has much less detail about other aspects and may even omit them completely. Models used for analysis and communication are typically the least detailed, since an excess of detail tends to impede understanding.

1.3 A simple example

To illustrate where MARTE can prove useful, consider a very simple PreciseClock software application. The purpose of this software system is to display the current time on a specialized LED display device with a high degree of precision. Specifically, we want the value displayed to be precise within 100 microseconds of the actual time as maintained by an internal hardware clock.
For the design of this system, we have chosen a straightforward design represented by the class diagram shown in Figure 1.1. Note that, as shown, this is just a straightforward UML model—we have yet to apply MARTE to it.
image
Figure 1.1 Class diagram of the elements of the PreciseClock application.
To avoid wasteful busy-wait loops, this system is designed as a concurrent application that is activated every 100 microseconds. To ensure adequate response time, it is required to complete all of its computations within that time interval. At first glance, this may not seem like much of a design challenge given the speed of modern computers, until we consider the possibility that other real-time applications may be running simultaneously on the same computing platform.
The application-specific part of this program is contained in the Displayer class. Since we have decided to make it a concurrent application, Displayer is an active UML class (indicated by the vertical bars on the side of the class box). Although UML does not associate the active class concept with any particular implementation technology, in practice this usually means that each instance of this class will be executing within its own dedicated operating system thread (e.g., a Linux thread or process). Instances of the Displayer class interact with two other entities: an instance of another active class, Timer, and an instance of the special hardware device, LEDDisplay. A Timer instance is created by the Displayer as part of its initialization and set to send a timeout signal every 100 microseconds back to the Displayer.1 Upon the arrival of the signal, the Displayer instance computes the new value that is to be displayed, converts it to a string representing that value, and then synchronously invokes the display operation on the LEDDisplay device. The full life cycle of this application is described by the UML sequence diagram shown in Figure 1.2. Note the inclusion of the constraint TOT, which only partially captures our timing requirement. It states that the interval from the instant when the Timer instance is activated to the instant that the display operation is invoked must not exceed 100 time units.
image
Figure 1.2 The required behavior of the PreciseClock application.
Note, however, that this model is merely a convenient high-level UML-based representation of what actually happens in the real system. For one, the Displayer task does not actually create a timer as the diagram in Figure 1.2 indicates. Instead, if we examined the technical details, we would see that the task merely invokes an underlying operating system function that actually creates the timer. However, although this is not a fully accurate representation, it may be both adequate and convenient for analysis and communic...

Table of contents