Russian | English |
в определении временного автомата мы допускали использование временных ограничений в качестве инвариантов позиций и предохранителей переходов, содержащих произвольные рациональные константы | in the definition of timed automaton, we allowed the clock constraints that serve as the invariants of locations and the guards of transitions to contain arbitrary rational constants (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999) |
в предыдущей главе мы предполагали, что время дискретно. в этом случае возможные показания часов задаются неотрицательными целыми числами и события могут происходить только в целочисленные моменты времени | in the previous chapter, we assumed that time is discrete. When time is modeled in this manner, possible clock values are nonnegative integers, and events can only occur at integer time values (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999) |
в программировании мы имеем дело с двумя типами объектов: процедурами и данными | in programming, we deal with two kinds of elements: procedures and data (см. Harold Abelson and Gerald Jay Sussman with Julie Sussman 1999, Structure and Interpretation of Computer Programs) |
в этом разделе мы покажем, как сети Петри могут моделировать различные системы параллельных взаимодействующих процессов | in this section we show how Petri nets can faithfully model many systems of concurrently executing cooperating processes (см. Petri Net Theory And The Modeling Of Systems / James L. Peterson 1981) |
Важно понимать, что UML не предлагает нам какой-либо методологии моделирования | it is important to realize that UML does not give us any kind of modeling methodology (см. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, Second Edition by Jim Arlow and Ila Neustadt 2005 ssn) |
если мы достигнем этой цели, то разработка отдельных модулей может осуществляться различными людьми независимо друг от друга, без необходимости общения друг с другом, при этом все эти объединённые вместе модули будут функционировать правильно | if we achieve this goal, different people will be able to work on different modules independently, without needing much communication among themselves, and yet the modules will work together (см. "Abstraction and Specification in Program Development" by Barbara Liskov & John Guttag 1986 ssn) |
"Жизнь, какой мы её знаем" | Live-As-We-know-it (см. artificial life ssn) |
Задав представление позиций, соответствующих символам входа и выхода, мы можем завершить построение модели системы конечных состояний | Given the place representation of input and output symbols, we can complete the modeling of finite state systems (ssn) |
Изучение параллельных методов поиска мы начнём с наивной попытки, в которой число процессоров равно числу элементов списка | in investigating a parallel method for searching, we will begin with a naive attempt with as many processors as elements of the list we are searching (см. "Analysis of Algorithms: An Active Learning Approach" by Jeffrey J. McConnell 2001) |
Использование этой и аналогичной формул для вычитания даёт нам приведённый ниже код для сложения / вычитания двух полуслов по модулю 2 | Using this and similar observations about subtraction gives the following code for adding/subtracting two halfwords modulo 2 (в шестнадцатой степени; см. Hacker's delight / Henry S. Warren, Jr. – 2nd ed. (2013)) |
как мы увидим далее в этой книге | as we shall see throughout the book |
как мы увидим далее в этой книге, многие алгоритмы основаны на принципе рекурсивного разбиения большой задачи на меньшие, когда решения подзадач используются для решения исходной задачи | as we shall see throughout the book, a great many algorithms are based on the principle of recursively decomposing a large problem into one or more smaller ones, using solutions to the subproblems to solve the original problem (см. Algorithms in C++, Parts 1–4: Fundamentals, Data Structure, Sorting, Searching Third Edition by Robert Sedgewick 1998) |
как мы увидим позже, это – очень удобное значение для многих простых задач, опирающихся на синхронизацию, в которых используются программные циклы временной задержки и счётчики / таймеры | as we will see, this unsurprisingly is a convenient value for a range of simple timing applications, using software delay loops and the counter/timer |
как мы уже отмечали | as we noted (ssn) |
Конечно, мы не можем считать, что однажды установленная схема управления задачами будет идеальной для всех возможных режимов использования | of course, we cannot expect a single fixed tasking metaphor to be the ideal solution for all possible modes of use (см. Project Oberon: The Design of an Operating System and Compiler Edition 2005 by N. Wirth, J. Gutknecht перевод Е.В. Борисова, Л.Н. Чернышова, 2012) |
Моделирование обоих типов планировщиков позволяет нам сравнить поведение системы в различных условиях | Modeling both types of schedulers allows us to compare the behavior of the system under different conditions (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999 ssn) |
мы берём два элемента и переставляем их | we pick two elements and swap them (ssn) |
мы выявили хорошую теоретическую основу объектно-ориентированного подхода – абстрактные типы данных | you have discovered the theory behind the object-oriented approach: abstract data types (см. Object-Oriented Software Construction second edition by Bertrand Meyer) |
мы выявили хорошую теоретическую основу объектно-ориентированного подхода абстрактные типы данных | you have discovered the theory behind the object-oriented approach: abstract data types (см. Object-Oriented Software Construction second edition by Bertrand Meyer) |
мы допускаем, что из внешнего мира помещается фишка в позицию, соответствующую входному символу, а затем фишка, появившаяся в позиции, соответствующей выходному символу, удаляется оттуда | we assume that the outside world will deposit a token in the place corresponding to an input symbol and then wait for a token to appear in a place corresponding to an output symbol which will then be removed |
мы знаем, что современные компьютеры работают очень быстро и обладают почти невероятными способностями в области решения задач | we know that today's computers are extremely fast and often seem to have magical solution properties |
мы ограничены самой природой нашего интеллекта | the limit is set by the nature of our own intellect |
мы поддерживаем упорядочение представления, записывая все меньшие, чем значение узла, элементы в левое поддерево этого узла ... | we keep the representation sorted by storing all elements less than a node's value in the node's left subtree (см. "Abstraction and Specification in Program Development" by Barbara Liskov & John Guttag 1986) |
мы предполагаем, что темп времени одинаков для всех часов | we assume that time passes at the same rate for all clocks (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999) |
мы рассматриваем две стратегии планирования: планирование с приоритетами и планирование без приоритетов | we consider two scheduling policies, preemptive scheduling and nonpreemptive scheduling (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999) |
мы рассмотрели функции Neutrino, ответственные за манипулирование временем, включая таймеры и их применение, а также тайм-ауты ядра | We've looked at Neutrino's time-based functions, including timers and how they can be used, as well as kernel timeouts (см. "Getting Started with QNX Neutrino. A Guide for Realtime Programmers" by Rob Krten 2009) |
мы увидим, как с помощью абстракции данных программы становится легче проектировать, поддерживать и изменять | we will see how data abstraction makes programs much easier to design, maintain, and modify |
мы уже видели, что | we have already seen that |
Нам не удалось получить хорошие результаты, и нашим коллегам тоже | we failed to get good results, nor did our colleagues get (ssn) |
Нам нужна была лишь базовая функциональность: инициализация экрана, поддержка растровых шрифтов, поддержка спрайтовой графики, обеспечение прозрачности и полупрозрачности, а также создание временных рабочих буферных областей для поддержки более сложных графических процедур | we needed only basic functionality: a screen setup, bitmapped font support, sprite support, transparency and translucency, and some temporary working buffers for compositing some of the more complex graphics (источник Game Architecture and Design / Andrew Rollings, David Morris (2004) ssn) |
Никто не ожидает, что мост будет перемещён на десять метров после того, как он был построен. Точно так же не следует ожидать, что программный продукт успешно выполнит различные задачи после того, как будет создан. Если это то, что нам нужно, тогда программное обеспечение создано удачно | nobody expects a bridge to be moved by ten meters after it has been built. Similarly, nobody should expect a software product to happily perform different tasks after it has been built. If this is what is expected then the software has not failed (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering) |
но для простоты в данном обсуждении мы будем и далее, если это не приведёт к путанице, опускать слово "образец" | for simplicity, this discussion will continue omitting the word "pattern" when there is no risk of confusion (см. Object-Oriented Software Construction second edition by Bertrand Meyer) |
но что, если нам потребуется выполнить рекурсивную фильтрацию по нескольким каталогам? | but what if you need to recursively filter across multiple directories? (см. "The Well-Grounded Java Developer" by Benjamin J. Evans, Martijn Verburg 2013) |
Основная идея гл. 12 состоит в том, что если нас интересует реакция только в моменты квантования, эти квантованные величины могут быть описаны дискретными моделями или с помощью дельта-оператора, или с помощью оператора сдвига | A key idea from Chapter 12 is that if one is only interested in the at-sample response, these samples can be described by discrete time models in either the shift or delta operator (см. Control system design by Graham C. Goodwin et al. 2000 ssn) |
Особенность этой системы в том, что мы выделили в отдельные компоненты каждый из драйверов устройств | The point is that we're componentizing every device driver in this system as well (Bill Veghte) |
перед началом разработки программного проекта мы имеем задачу, более или менее точно определённую и понимаемую в терминах некоторых проблемно-ориентированных понятий, и язык программирования, возможно универсальный, который обеспечивает нас некоторыми машинно-ориентированными основными понятиями, точно определёнными и понимаемыми | at the outset of a programming project there is a problem, more or less precisely defined and understood in terms of certain problem oriented concepts, and a programming language, perhaps a general purpose one, providing some machine oriented basic concepts, hopefully precisely defined and completely understood |
Поскольку у нас нет ни математического аппарата, ни интеллектуальных возможностей для полноценного моделирования поведения больших дискретных систем, мы должны удовлетвориться приемлемым уровнем уверенности в их правильной работе | Since we have neither the mathematical tools nor the intellectual capacity to model the complete behavior of large discrete systems, we must be content with acceptable level of confidence regarding their correctness (см. Object-Oriented Analysis and Design with Applications 3rd Edition by Grady Booch ssn) |
после выполнения поиска рабочего решения мы оцениваем решение, как было описано ранее | once the working solution has been tweaked, we assess the solution as defined in the previous step (см. AI Application Programming / M. Tim Jones 2003) |
Практика разработки программного обеспечения, которую мы намерены предложить для достижения более высокого уровня модульности кода, легко введена и обоснована через ряд примеров возрастающей сложности | the software engineering practice we intend to propose for achieving a higher level of code modularity is easily introduced and justified through a number of examples of increasing complexity (см. Bonfatti F., Monari P.D., Sampieri U. IEC 61131-3 Programming Methodology) |
Прежде чем мы приступим к подробному обсуждению различных вариантов разработки, напомним существенные метрики проектирования и классификацию последовательностных элементов | before embarking on a detailed discussion on the various design options, a revision of the design metrics, and a classification of the sequential elements is necessary (см. Digital Integrated Circuits – A Design Perspective 2/e by Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolić 2003) |
Прежде чем мы приступим к подробному обсуждению различных вариантов разработки, напомним существенные метрики проектирования и классификацию последовательностных элементов | before embarking on a detailed discussion on the various design options, a revision of the design metrics, and a classification of the sequential elements is necessary (см. Digital Integrated Circuits A Design Perspective 2/e by Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolić 2003) |
так как детали доступа к объектам приложения в значительной мере зависят от самого приложения и его реализации, мы не станем останавливаться на этом вопросе | Because the details of accessing application objects depend heavily on the application and its implementation, we shall not pursue them here (см. Introduction to Algorithms Second Edition by Thomas H. Cormen et al. 2001) |
что мы выяснили | lessons learned (ssn) |
чтобы выполнить поиск по рабочему решению, мы берём два элемента и переставляем их | Totweak this working solution, we pick two elements and swap them (см. AI Application Programming / M. Tim Jones 2003) |
чтобы учесть затраты энергии на выработку управляющего сигнала, мы будем использовать оценку качества | To account for the expenditure of the energy of the control signal, we will use the performance index (уравнение; см. Modern Control Systems by Richard C. Dorf & Robert H. Bishop (2008)) |