DictionaryForumContacts

   English
Terms for subject Programming containing as is, where is | all forms
EnglishRussian
A time-varying control system is a system in which one or more of the parameters of the system may vary as a function of timeНестационарная система управления – это система, в которой один или более параметров являются функциями времени (см. Modern Control Systems by Richard C. Dorf & Robert H. Bishop 2008 ssn)
A time-varying control system is a system in which one or more of the parameters of the system may vary as a function of timeНестационарная система управления — это система, в которой один или более параметров являются функциями времени (см. Modern Control Systems by Richard C. Dorf & Robert H. Bishop 2008 ssn)
an enterprise information system offers a well-defined set of services that are exposed as local or remote interfaces or bothИнформационная система предприятия предоставляет конкретный набор служб в качестве локальных или удалённых интерфейсов (ssn)
an IO-driver that implements an interface is realized as function block alwaysIO-драйвер, реализующий интерфейс, всегда выполняется в виде функционального блока (ssn)
as always, be aware that overclocking will push components further that they're designed to operateкак всегда, надо учитывать, что разгон процессора заставит компоненты работать в режиме с большей нагрузкой, чем та, на которую они спроектированы (Gordon Laing)
as is quite commonкак это обычно бывает (ssn)
as observed in the seminal work of Brooks 1987, software is immaterial in natureкак выявлено в оригинальной работе Брукса 1987, программное обеспечение нематериально по природе (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
as stated before, packages can be grouped and structured into hierarchical layers supportive of the chosen software architecture. Since a package may contain other packages, a layer is a package itself. In the UML a layer package can be stereotyped as "layer"как было сказано выше, пакеты могут быть сгруппированы и структурированы в иерархические уровни, подходящие для выбранной структуры ПО. Так как пакет может содержать другие пакеты, уровень сам является пакетом. В UML пакет уровня может быть обозначен как "layer" (уровень; см. Maciaszek L.A. and Liong B.L. (2005): Practical Software Engineering)
as such, the OS/360 scheduler is good. But it is almost totally uninfluenced by the OS/360 needs of remote job entry, multiprogramming, and permanently resident interactive subsystemsв этом качестве планировщик OS / 360 хорош. Но на него почти никакого влияния не оказали потребности OS / 360 в удалённом вводе заданий, многопрограммности и резидентном размещении интерактивных подсистем (см. Frederic P. Brooks, Jr. THE MYTHICAL MAN-MONTH Essays on Software Engineering)
as we will see, this unsurprisingly isкак мы увидим позже, это – (ssn)
as we will see, this unsurprisingly isкак мы увидим позже, это – (ssn)
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как мы увидим позже, это – очень удобное значение для многих простых задач, опирающихся на синхронизацию, в которых используются программные циклы временной задержки и счётчики / таймеры
aspect is applied as an attributeаспект применяется как атрибут (англ. термин взят из кн.: Groves M.D. AOP in .NET: Practical Aspect-Oriented Programming Alex_Odeychuk)
at the book's core is a comprehensive catalog of refactorings. Each refactoring describes the motivation and mechanics of a proven code transformation. Some of the refactorings, such as Extract Method or Move Field, may seem obvious. But don't be fooledОснову книги составляет подробный перечень методов рефакторинга. Каждый метод описывает мотивацию и технику испытанного на практике преобразования кода. Некоторые виды рефакторинга, такие как "Выделение метода" или "Перемещение поля", могут показаться очевидными, но пусть это не вводит вас в заблуждение (см. Refactoring: Improving the Design of Existing Code by Martin Fowler et al. 1999)
Cellular automata are discrete dynamical systems whose behavior is completely specified in terms of a local relation, much as is the case for a large class of continuous dynamical systems defined by partial differential equationsКлеточные автоматы являются дискретными динамическими системами, поведение которых полностью определяется в терминах локальных зависимостей, в значительной степени так же обстоит дело для большого класса непрерывных динамических систем, определённых уравнениями в частных производных (ssn)
enterprise information system is a component of the enterprise as the wholeинформационная система предприятия является компонентом предприятия как целого (ssn)
Enterprise resource planning systems provide firms with transaction processing models that are integrated with other activities of the firm, such as production planning and human resourcesСистемы планирования ресурсов предприятий предоставляют фирмам модели обработки деловых операций, которые интегрированы с другими видами их деятельности, такими как производственное планирование и управление человеческими ресурсами (ssn)
Finite-state systems as a control technique that can be used to drive the behaviors of NPCsСистемы с конечным числом состояний как метод управления, который может использоваться для ввода в действие форм поведения несобственных персонажей (ssn)
for an allocator with a subtype indication, the initial value of the created object is the same as the default initial value for an explicitly declared variable of the designated subtypeдля генератора, в котором используется указание подтипа, начальным значением создаваемого объекта является то же значение, которое задаётся неявно в объявлении переменной неявное начальное значение указанного подтипа (см. IEЕЕ Std. 1076-87. IEЕЕ Standard VHDL. Language Reference Manual)
for example, the manufacturer of a VF drive unit must provide CE marking for the LV directive, but not for the EMC directive as this is the responsibility of the panel builder or machine manufacturer who must follow correct installation methods for the drive, cabling and motorНапример, производитель двигателя с переменной скоростью обязан снабдить его маркировкой СЕ в соответствии с директивой LV, но не пользоваться директивой EMC, поскольку ответственность за правильную установку привода, монтажные соединения и двигатель несёт конструктор пульта или производитель машины (см. Programmable Controllers – An Engineer's Guide by E.A. Parr 2003)
for these reasons, good code design is at least as important for mobile device software as it is for desktopsв силу описанных причин при разработке ПО для мобильных устройств удачная структура кода играет, по крайней мере, не меньшую роль, чем в случае настольных компьютеров (см. "Writing Mobile Code Essential Software Engineering for Building Mobile Applications" by Ivo Salmre 2005)
global variable which will trigger the start of the task as soon as a rising edge is detectedглобальная переменная, инициирующая запуск задачи передним фронтом (ssn)
Hard-coding the size of the data set as in Listing 4.10 is not appropriateЗаранее задавать размер набора данных, как в листинге 4.10, в таком случае не следует (ssn)
Haskell is not just a good 'teaching language'. It is a practical programming language, supported by having extensions such as interfaces to C functions and component-based programmingHaskell – не просто хороший "учебный язык". это настоящий язык программирования, имеющий, в частности, такие средства поддержки и расширения, как интерфейс с функциями, написанными на Си, и возможности компонентно-ориентированного программирования
If, as is quite common, there are ten interlock signals which allow a motor to start, the maintenance staff will need to be able to check these quickly in the event of a faultЕсли, как это обычно бывает, имеется порядка десяти блокирующих друг друга сигналов, позволяющих запустить электродвигатель, обслуживающий персонал в случае неисправности должен быть способен быстро проверить все эти сигналы (см. E.A. Parr Programmable Controllers – An Engineer's Guide ssn)
Imagine there is an observer with a notebook who watches the process and writes down the name of each event as it occursПредставьте себе наблюдателя с блокнотом, который следит за процессом и записывает имя каждого происходящего события (см. Communicating Sequential Processes by C.A.R. Hoare 1985 ssn)
in a traditional RTOS, a user interface is often implemented as a background taskв традиционных ОС Рв пользовательский интерфейс часто реализуется в виде фоновой задачи
in object-oriented programming, a class is a fixed data type that must be implemented exactly as specifiedв объектно-ориентированном программировании класс – это фиксированный тип данных, который должен быть реализован в точном соответствии со своим определением (см. "JavaScript: The Definitive Guide, 5th Edition" by David Flanagan 2006)
in object-oriented programming, a class is a fixed data type that must be implemented exactly as specifiedв объектно-ориентированном программировании класс – это фиксированный тип данных, который должен быть реализован в точном соответствии со своим определением (см. "JavaScript: The Definitive Guide, 5th Edition" by David Flanagan 2006)
it is this feature that permits an ALGOL 60 implementation to take advantage of a stack as a method of dynamic storage allocation and relinquishmentв реализации ALGOL 60 эта особенность позволяет использовать стек для динамического распределения и освобождения памяти (ssn)
lack of visibility as to what activity is taking place inside the deviceотсутствие возможности увидеть воочию, что же происходит внутри устройства (ssn)
Like all software production, architectural design is a continuing, iterative and incremental, effort. Early architectural decisions take a broad view on the software architecture. One of the first decisions to be taken relates to structuring the system into layers of modules and establishing principles of inter-module communication. This is the concern of this chapter. More detailed architectural solutions, such as intra-module communication, are discussed in relevant places later in the bookкак и всё производство ПО, структурное проектирование – непрерывная, итерационная и пошаговая работа. Первоначально структурные решения принимаются на основе широкого взгляда на структуру ПО. Одно из первых принятых решений касается структурирования системы на уровни модулей и установления принципов связи между модулями. это тема данной главы. Более детальные структурные решения, типа связи внутри модуля, рассматриваются позже в соответствующих местах книги (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
next internal state predicted by the transition table is the same as the current internal stateследующее внутреннее состояние, предсказываемое таблицей переходов, является точно таким же, как и текущее внутреннее состояние (ssn)
one common rule of thumb is to plan to specify about 80 percent of the requirements up front, allocate time for additional requirements to be specified later, and then practice systematic change control to accept only the most valuable new requirements as the project progressesОдно популярное практическое правило состоит в том, чтобы заблаговременно определить около 80% требований, предусмотреть время для более позднего определения дополнительных требований и выполнять по мере работы систематичный контроль изменений, принимая только самые важные требования (см. Code Complete / Steve McConnell.-2nd ed. 2004)
One solution, which we won't use, is to create a large array of pointers and assign values to the pointers, one by one, as new structures are allocatedОдно из возможных решений, которое, однако, мы применять не будем, предполагает создание большого массива указателей и присваивание значений указателям друг за другом по мере выделения памяти под новые структуры (C Primer Plus by Stephen Prata (2013) ssn)
pair of properties that are linked together as inversesпара свойств, связанных в противоположных направлениях (ssn)
Petri net execution and the system behavior which it models is viewed here as a sequence of discrete eventsВыполнение сети Петри или поведение моделируемой системы рассматривается здесь как последовательность дискретных событий (ssn)
Programming for network access is based on an abstraction known as a socketПрограммирование сетевого доступа основано на абстрактном понятии, называемом сокетом (см. Auslander D.M., Ridgely J.R., Ringgenberg J.D. Control Software for Mechanical Systems. Object-Oriented Design in a Real-Time World ssn)
separate subprogram whose name is passed as a parameter to the called unitотдельная подпрограмма, передаваемая в качестве параметра в вызываемый модуль (ssn)
small integer that acts as an index into the kernel's timer tablesнебольшое целое число, которое является номером таймера в таблице таймеров ядра (ssn)
Special consideration is given to designing distributed subsystems as configurable components that communicate with each other using messagesОсобое внимание уделяется проектированию распределённых подсистем в виде конфигурируемых компонентов, которые взаимодействуют путём обмена сообщениями (см. Software Modeling and Design by Hassan Gomaa 2011 ssn)
start of the task as soon as a rising edge is detectedзапуск задачи передним фронтом (ssn)
State data is held in properties such as the Visible, Enabled, Size, or Position properties of controlsДанные о состоянии хранятся в таких свойствах элементов управления, как Visible, Enabled, Size или Position (см. "Writing Mobile Code Essential Software Engineering for Building Mobile Applications" by Ivo Salmre 2005 ssn)
subsystems being modeled, as well as their major timing requirementsмоделируемые подсистемы вместе с их основными временными ограничениями (ssn)
Taking advantage of the concatenation technique, it is possible to design classes which are intended solely or primarily to act as prefixes to other classes or to blocksИспользуя преимущества механизма сочленения, можно разработать ряд классов, предназначенных исключительно для использования в качестве префиксов к другим классам или блокам (ssn)
that said, there is a wealth of academic information on the subject, originating from classical AI in mid-twentieth century as well as recent researchНесмотря на сказанное, следует отметить, что этой теме посвящено большое количество теоретических работ, начиная от исследований по искусственному интеллекту, проводимых в середине двадцатого столетия, и заканчивая современными исследованиями (см. AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors / Alex J. Champandard 2003 ssn)
the discipline associated with following a formal design paradigm is extended to the "low level" as well as high level software tasksДисциплина, связанная с нижеследующей парадигмой формального проекта, расширена как на "низкий уровень", так и на высокий уровень задач программного обеспечения (см. Auslander D.M., Ridgely J.R., Ringgenberg J.D. Control Software for Mechanical Systems. Object-Oriented Design in a Real-Time World)
the duration between successive clock ticks is chosen as the basic unit for measuring timeв качестве единицы измерения времени выбирается продолжительность времени между двумя последовательными тиками часов (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999)
the equivalent sequence is in the same order as the identifier listПорядок в эквивалентной последовательности соответствует порядку в списке идентификаторов
the Extract Class refactoring is defined as "Create a new class and move the relevant fields and methods from the old class into the new class"Рефакторинг Класс извлечения определяется так: "Создайте новый класс и переместите соответствующие поля и методы из старого класса в новый" (Фаулер, 1999, с.149). Главная трудность заключается в определении, как разбить большой класс на ряд меньших классов. Идея заключается в том, чтобы извлечь непротиворечивые и объединённые части функциональных возможностей в отдельный класс (классы; Fowler, 1999, p.149). The main difficulty is in deciding how to split a large class into a number of smaller classes. The idea is to extract consistent and integrated piece of functionality into a separate class (classes; см. Maciaszek L.A. and Liong B.L. (2005): Practical Software Engineering; все рефакторинги начинаются с глаголов, т. е. Extract Class — "Извлечь класс", а не бессмысленный "Класс извлечения". SirReal)
the great strength of the state machine approach is that it enables you to come up with an explicit definition of valid states for some aspect of your application and enforce proper behaviors as an application moves from one state to anotherМощь подхода, использующего конечный автомат, обусловлена тем, что он позволяет в явном виде определить действительные состояния для некоторого аспекта вашего приложения и задать соответствующие варианты поведения при переходах приложения из одного состояния в другое (см. "Writing Mobile Code Essential Software Engineering for Building Mobile Applications" by Ivo Salmre 2005)
the horizontal structures of packages as in Figure 9-3 are called partitions. When circular dependencies between partition packages are broken, by adding new packages as explained in Section 9.1.2, the dependency structure within a partition becomes a hierarchyГоризонтальные структуры пакетов типа изображённых на рис. 9.3 называются сегментами. Когда циклические зависимости между пакетами сегмента устраняются путём добавления новых пакетов, как объяснено в разделе 9.1.2, структура зависимостей сегмента становится иерархической (а не линейной горизонтальной структурой; rather than a linear horizontal structure; см. Maciaszek L.A. and Liong B.L. (2005): Practical Software Engineering)
the instance of the IO driver is created automatically as soon as a corresponding device is added to the device treeЭкземпляр IO-драйвера создаётся автоматически при добавлении соответствующего устройства в дерево устройств
the key step towards data abstraction is to reverse the viewpoint: forget for the moment about the representation, take the operations themselves as defining the data structureчтобы сделать главный шаг в направлении абстракции данных, нужно стать на противоположную точку зрения: забыть на некоторое время о конкретном представлении и взять в качестве определения структуры данных операции сами по себе (см. Object-Oriented Software Construction second edition by Bertrand Meyer)
the operational level processes business operational data and documents, such as orders and invoices. This is the realm of OLTP systems assisted by conventional database technologyОперативный уровень обрабатывает оперативные бизнес-данные и документы, типа заказов и счетов. это – область действия OLTP-систем, сопровождаемых обычной технологией баз данных (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
the operational level processes business operational data and documents, such as orders and invoices. This is the realm of OLTP systems assisted by conventional database technologyОперативный уровень обрабатывает оперативные бизнес-данные и документы, типа заказов и счетов. это – область действия OLTP-систем, сопровождаемых обычной технологией баз данных (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
the path a visitor takes to reach a goal is known as the funnelПуть, который проходит посетитель для достижения цели, называется последовательностью (см. Advanced Web metrics with Google Analytics / Brian Clifton 2008)
The point is that we're componentizing every device driver in this system as wellОсобенность этой системы в том, что мы выделили в отдельные компоненты каждый из драйверов устройств (Bill Veghte)
the refactoring target of Extract Interface is twofold and defined as "Several clients use the same subset of a class's interface, or two classes have part of their interfaces in common"Цель рефакторинга Интерфейс извлечения двойная и определяется так: "Несколько клиентов используют то же самое подмножество интерфейса класса или два класса содержат общую часть своих интерфейсов" (Фаулер, 1999, с.341). Метод рефакторинга Интерфейс извлечения используется, чтобы "выделить подмножество в интерфейс" (там же). Идея относительно этого рефакторинга связана с самой природой интерфейсов (раздел 9.1.6; Fowler, 1999, p.341). The Extract Interface refactoring method is to "extract the subset into an interface" (Fowler, 1999, p.341). The idea of this refactoring is related to the very nature of interfaces (Section 9.1.6; см. Maciaszek L.A. and Liong B.L. (2005): Practical Software Engineering)
the refactoring target of Extract Interface is twofold and defined as “Several clients use the same subset of a class's interface, or two classes have part of their interfaces in common”Цель рефакторинга Интерфейс извлечения двойная и определяется так: "Несколько клиентов используют то же самое подмножество интерфейса класса или два класса содержат общую часть своих интерфейсов" Фаулер, 1999, с.341. Метод рефакторинга Интерфейс извлечения используется, чтобы "выделить подмножество в интерфейс" там же. Идея относительно этого рефакторинга связана с самой природой интерфейсов (Fowler, 1999, p.341). The Extract Interface refactoring method is to “extract the subset into an interface” (Fowler, 1999, p.341). The idea of this refactoring is related to the very nature of interfaces (Section 9.1.6; см. Maciaszek L.A. and Liong B.L. (2005): Practical Software Engineering; раздел 9.1.6)
the same message passing source code can be executed on a variety of machines as long as the MPI library is availableодин и тот же исходный код утилиты обмена сообщениями может работать на разных машинах, если на них имеется библиотека MPI
the strategic level processes the organizational knowledge, such as rules and facts behind a highly profitable product selling. This is a realm of knowledge systems assisted by knowledge base technologyСтратегический уровень обрабатывает организационные знания, типа правил и фактов, обусловливающих высокий уровень выгодной продажи изделий. это – область действия систем знаний, которые сопровождает технология баз знаний (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
the strategic level processes the organizational knowledge, such as rules and facts behind a highly profitable product selling. This is a realm of knowledge systems assisted by knowledge base technologyСтратегический уровень обрабатывает организационные знания, типа правил и фактов, обусловливающих высокий уровень выгодной продажи изделий. это – область действия систем знаний, которые сопровождает технология баз знаний (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
the sum procedure is only the simplest of a vast number of similar abstractions that can be captured as higher-order proceduresПроцедура sum – всего лишь простейшая из обширного множества подобных абстракций, которые можно выразить через процедуры высших порядков (см. Harold Abelson and Gerald Jay Sussman with Julie Sussman 1999, Structure and Interpretation of Computer Programs)
the sum procedure is only the simplest of a vast number of similar abstractions that can be captured as higher-order proceduresПроцедура sum — всего лишь простейшая из обширного множества подобных абстракций, которые можно выразить через процедуры высших порядков (см. Harold Abelson and Gerald Jay Sussman with Julie Sussman 1999, Structure and Interpretation of Computer Programs)
the system sensitivity is defined as the ratio of the percentage change in the system transfer function to the percentage change of the process transfer functionЧувствительность системы определяется как отношение процентного изменения передаточной функции системы к процентному изменению передаточной функции объекта (см. Modern Control Systems by Richard C. Dorf & Robert H. Bishop 2008)
the tactical level processes information obtained from the analysis of data, such as monthly trends in product orders. This is the realm of OLAP systems assisted by data warehouse technologyТактический уровень обрабатывает информацию, полученную от анализа данных, типа ежемесячных тенденций в заказах продуктов. это – область действия OLAP-систем, которые сопровождает технология хранилищ данных (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
the tactical level processes information obtained from the analysis of data, such as monthly trends in product orders. This is the realm of OLAP systems assisted by data warehouse technologyТактический уровень обрабатывает информацию, полученную от анализа данных, типа ежемесячных тенденций в заказах продуктов. это – область действия OLAP-систем, которые сопровождает технология хранилищ данных (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
there are two kinds of execution-based testing: testing to specs black-box testing and testing to code whitebox testing. Both kinds use the same strategy of feeding the program with input data and observing if the output is as expectedИмеются два вида тестирования, основанного на выполнении программы: тестирование на основе технических требований тестирование методом чёрного ящика и тестирование по исходным текстам тестирование методом белого ящика. Оба вида используют ту же самую стратегию задания программе входных данных и наблюдения, тот ли выходной результат получается, который ожидался (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
there is a long history of using systems engineering in traditional engineering disciplines, such as mechanical or electrical engineeringСуществует длинная история инженерии систем в традиционных технических дисциплинах, типа проектирования механических или электрических систем (см. Maciaszek L.A. and Liong B.L. 2005: Practical Software Engineering)
this compliance is specified in terms of the management commands to which each type of device can respond, as given in tableэта совместимость определёна в терминах команд административного управления, на которые каждый тип устройства может ответить, как это указано в таблице 5.2 (см. IEC 61499-1)
this compliance is specified in terms of the management commands to which each type of device can respond, as given in table 5.2.эта совместимость определена в терминах команд административного управления, на которые каждый тип устройства может ответить, как это указано в таблице 5.2 (см. IEC 61499-1)
this message is as old as the software field itselfИдея эта стара, как сама компьютерная индустрия (ssn)
this timer object is just a small integer that acts as an index into the kernel's timer tablesэтот объект таймера представляет собой небольшое целое число, которое является номером таймера в таблице таймеров ядра (см. "Getting Started with QNX Neutrino. A Guide for Realtime Programmers" by Rob Krten 2009)
thread of control in a program is the sequence of program points reached as control flows through the programпоток управления в программе – это последовательность точек, которые достигаются при выполнении программы (ssn)
thread of control in a program is the sequence of program points reached as control flows through the programпоток управления в программе – это последовательность точек, которые достигаются при выполнении программы (ssn)
Time can elapse in the location only as long as the invariant of the location is trueТечение времени в позиции происходит, пока инвариант этой позиции истинен (см. Model Checking / Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled 1999 ssn)
Time-dependent and other nonfunctional requirements are generally expressed as quality of service requirementsВременные зависимости и другие нефункциональные требования обычно выражаются в виде требований к качеству обслуживания (см. Distributed systems: principles and paradigms / Andrew S. Tanenbaum, Maarten Van Steen 2002 ssn)
unit test framework: A tool that provides an environment for unit or component testing in which a component can be tested in isolation or with suitable stubs and drivers. It also provides other support for the developer, such as debugging capabilitiesинтегрированная среда модульного тестирования: инструмент, предоставляющий окружение для модульного тестирования или компонентного тестирования, в котором компонент может быть протестирован как в изоляции, так и с соответствующими заглушками и драйверами. этот инструмент также предоставляет разработчику возможности отладки (Standard glossary of terms used in Software Testing)
Using Simpson's Rule, the integral of a function f between a and b is approximated asс помощью правила Симпсона интеграл функции f между a и b приближённо вычисляется в виде (см. Harold Abelson and Gerald Jay Sussman with Julie Sussman 1999, Structure and Interpretation of Computer Programs ssn)
when registers are used in computational structures that are constantly clocked such as pipelined datapath, the requirement that the memory should hold state for extended periods of time can be significantly relaxedкогда регистры используются в постоянно переключающихся вычислительных структурах например, в конвейерном информационном канале, требование хранения состояния на протяжении длительного периода времени можно сильно ослабить (см. Digital Integrated Circuits – A Design Perspective 2/e by Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolić 2003 ssn)