4.05M

Организация вычислительного процесса

1.

Организация вычислительного процесса
Горбачев Ярослав Георгиевич
[email protected]
vk.com/id2667007
2021

2.

Ссылки, пособия, материалы
• Группа в ВК: https://vk.com/cp_org
• Электронный журнал:
https://docs.google.com/spreadsheets/d/1HKfe7Rt8qAsbtY9jOZrCNmVHwQd2i
V1kn8pk-oKIxZk/edit?usp=sharing
• Capella/Arcadia: https://www.polarsys.org/capella/arcadia.html
https://esd.sutd.edu.sg/40014-capella-tutorial/index.html
• Информация по стенду SDK-1.1M: http://cs-blog.ru/
• А.Е. Платунов, Н.П. Постников. Высокоуровневое проектирование
встраиваемых систем.
• Левенчук А.И. Системное мышление.
• Брукс Ф. Мифический человеко-месяц, или как создаются программные
системы.
2

3.

Лабораторные работы
В рамках выполнения лабораторных работ требуется:
• Провести архитектурное (системное) проектирование с исследованием
пространства проектных решений для сложной и комплексной задачи.
• Произвести сравнение реализаций части системы на разных вычислительных
платформах/с использованием разных моделей вычислений/с принципиально
отличной структурной организацией.
Лабораторные имеют одну сквозную тему, которая выбирается на первых
занятиях.
Каждая отдельная лабораторная является этапом одной большой работы.
Отчёты лучше в электронном виде, но можно в бумажном.
Для направления «встраиваемые системы» задания индивидуальны, остальные
могут выполнять в группах по 2-3 человека.
Этапы работы (примерные):
• Составление технического задания;
• Operational analysis в Capella
• System Need analysis в Capella;
• Описание Logical Architecture в Capella;
• Исследование пространства проектных решений (Physical Architecture в Capella);
• Сравнение двух альтернативных реализаций части системы и обоснованный выбор
оптимальной архитектуры.
3

4.

Требования к выбору темы лабораторных
В качестве задания должна быть выбрана реально существующая прикладная задача
или продукт, требующие разработки программно-аппаратного решения.
Проектируемая система должна быть достаточно сложной.
Желательно, чтобы присутствовали элементы с трудоёмкими выключениями и задачи
управления с соответствующими ограничениями (требования реального времени,
пониженного энергопотребления, надёжности и т.д.).
Примеры:
1. Система управления «умным домом» с видеонаблюдением и распознаванием
изображений/речи (выполнение определённых действий при распознавании лица
хозяина/автомобильного номера, или по голосовой команде хозяина).
2. Система распределённых вычислений на базе управляющих устройств, каждое из
которых выполняет некую функцию управления в реальном времени.
3. Прикладная вычислительная система, реализованная с использованием своего
компилятора/транслятора.
4. Прикладная вычислительная система, реализующая высокопроизводительные
вычисления средствами GPU, DSP-сопроцессоров или эффективно использующая
параллельное программирование.
5. Виртуальная машина, построенная поверх системы управления, позволяющая в
некоторых рамках «программировать» её, которая реализует некоторый
прикладной функционал, но скрывает ненужные подробности.
4

5.

Лабораторная 1. Техническое задание
Требуется выполнить обзор (не менее трёх, лучше больше) существующих
технических решений (системы аналогичного назначения, альтернативные
подходы, если нет прямых аналогов – хотя бы частично подходящие) по
выбранной теме курсовой работы. Привести и сравнить основные типы
применяемых решений, выделить их преимущества и недостатки.
Требования должны содержать:
• подробное описание функциональности и режимов работы;
• подробный список нефункциональных требований (энергопотребление,
требования реального времени, безопасность, надёжность, эргономика и т.д.).
При желании, требования можно фиксировать с применением подходящих
выразительных средств: таблицы, диаграммы языка UML, блок-схемы, структурные
схемы и т.п.
5

6.

Нефункциональные требования
безопасность, защита от атак и «от дурака»;
надёжность, отказоустойчивость, ремонтопригодность;
повторное использование решений в других проектах;
переносимость (например, программных решений на другие платформы);
инструментальный аспект;
экономический аспект;
верифицируемость и пригодность к тестированию;
трассируемость, возможность выявлять ошибки в ходе выполнения;
возможность лёгкой доработки и обновления функционала, включая удалённое
обновление ПО;
проблемы интеграции готовых блоков и ведения существующих проектов;
ограничения по энергопотреблению;
выполнение в реальном времени;
физические кондиции, вес, размеры;
устойчивость к климатическим факторам;
устойчивость к электромагнитным помехам;
устойчивость к радиации;
простота использования конечным пользователем;
факторы, создающие комфорт конечному пользователю.
Кроме этого, требования могут содержать такие разделы, как:
• описание режимов работы,
• ограничения на применение,
• ограничения на реализацию,
• перспективные возможности с учетом ограничений.
6

7.

Capella
7

8.

Capella
Ссылка для скачивания: https://www.eclipse.org/capella/download.html
Ссылки на различные полезные ресурсы:
1. Предустановленный пример;
2. Встроенная справка (Help→Help Contents→Capella Guide), она же доступна по
https://wiki.eclipse.org/Capella
3. Хороший, понятный tutorial на примере игрушечной катапульты:
https://esd.sutd.edu.sg/40014-capella-tutorial/index.html
4. Канал на youtube (для начального знакомства смотреть плейлист Getting Started
With Arcadia and Capella): https://www.youtube.com/c/EclipseCapella
5. Пример с радиочасами (он же есть и во встроенной справке):
https://wiki.eclipse.org/Capella/Samples/ClockRadio
6. «Даташит» (относительно бесполезный):
https://www.eclipse.org/capella/resources/Datasheet_Arcadia.pdf
7. Ссылки на кучу всего: https://www.eclipse.org/capella/resources.html
8

9.

Capella
9

10.

Capella
10

11.

Capella
11

12.

Capella
12

13.

Capella
13

14.

Capella
14

15.

Capella
15

16.

Capella
16

17.

Capella
17

18.

Capella: Operational Analysis
Operational Analysis stage focuses on defining stakeholder needs and the system
context.
The explanation given in the Workflow window is as follows:
Capture and consolidate operational needs from stakeholders
Define what the users of the system have to accomplish
Identify entities, actors, roles, activities, concepts
After completing the steps in this section, we will have an Operational Architecture that
defines high-level interactions among actors/entities and the system capabilities they
require. We will be using the word "model" to refer to all of the entities and
relationships, diagrams and architectures created in this project.
An Operational Entity is a real world entity (other System, device, group or
organization...), interacting with the System (or software, equipment, hardware...)
under study, or with its users.
An Operational Actor is a usually human Operational Entity, associated to a human
resource.
An Operational Activity is a Process step or function performed by an Operational Entity
on order to achieve some objective.
A Capability is the ability of the System to provide a service that supports the
achievement of high-level operational goals. A Capability is described by scenarios and
functional chains, all illustrating possible use cases. Capabilities can be used to structure
the Functional Analysis. In Logical and Physical Architectures, Capabilities are called
"Capability Realizations".
18

19.

Capella: Operational Analysis
Operational Analysis is made of a succession of Operational Activities and Interactions
(Exchanges) across an Operational Dataflow. Operational Processes are the equivalent
of Functional Chain in System Analysis / Logical Architecture / Physical Architecture.
A System/Logical/Physical Function is an action, an operation or a service fulfilled by
one Component or Actor. It has input and output Ports, respectively targets and sources
of Functional Exchanges (information, data, material, fluid, etc.). The behavior of a
Function itself can be defined in a recursive manner using Sub-Functions and internal
Functional Exchanges. These Sub-Functions are represented "inside" the Function itself.
When splitting a Function into Sub-Functions, Input and output Ports shall be moved /
allocated to the Sub-Functions.
Основные шаги при работе над системой/необходимые диаграммы:
Operational Entity Breakdown
Operational Capabilities
Operational Architecture and Entity Scenario
Operational Activity Interaction
Operational Process
Operational Architecture
19
English     Русский Rules