Cтраница 3
Это может потребоваться, когда при ее проектировании вскрываются неопределенности, противоречия или другие недостатки внешних спецификаций. После того как программа в соответствии с внешней спецификацией будет спроектирована как набор связанных модулей, каждый модуль и все его связи с другими модулями должны быть описаны с помощью внутренних спецификаций. Затем проектируется каждый модуль в отдельности. [31]
Введем следующее определение, применяемое только в этом упражнении. Назовем модуль М сверхспециальным, если он обладает представлением 0 - р-р - М-0, где Р - конечно порожденный проективный модуль. Показать, что при двойственности из предложения 2.1 сверхспециальным связанным модулям соответствуют сверхспециальные связанные модули. [32]
Выполнение постановки задачи с применением типовых проектных решений ( ТПР) класса Задача имеет ряд особенностей. Отсюда каждая задача представляется как совокупность независимых, но информационно связанных модулей, представляющих в целом законченный вычислительный комплекс. Модуль алгоритма как часть алгоритма, законченная и устойчивая к изменениям, обладает возможностью многократного самостоятельного использования в соединении с оригинальными модулями ( модулями пользователя) при создании АСУП. [33]
Возвращаясь к теореме 2.1, применим ее к наследственным кольцам. Заметим прежде всего, что любой конечно определенный модуль над наследственным кольцом является специальным. Применяя предыдущую двойственность, мы получаем, что любой конечно определенный связанный модуль удовлетворяет также условию DCC для связанных подмодулей. [34]
Модули из полупростого класса, ассоциированного с классом связанных модулей, называются несвязанными. Последние можно определить также как модули, не содержащие ненулевых связанных подмодулей. Действительно, если модуль N удовлетворяет этому условию и М - связанный модуль, то связанным будет и любой гомоморфный образ модуля М, и поэтому Нот ( М, N) 0, так что N - несвязанный модуль. [35]
Введем следующее определение, применяемое только в этом упражнении. Назовем модуль М сверхспециальным, если он обладает представлением 0 - р-р - М-0, где Р - конечно порожденный проективный модуль. Показать, что при двойственности из предложения 2.1 сверхспециальным связанным модулям соответствуют сверхспециальные связанные модули. [36]
Связанные модули удовлетворяют условиям обрыва цепей подмодулей при сравнительно слабых дополнительных условиях. Для того чтобы сформулировать эти условия, напомним, что наследственное справа кольцо - это кольцо, все правые идеалы которого являются проективными модулями. Такие кольца являются, конечно, слабо полунаследственными, и поэтому к ним можно применить теорему 0.2.9, из которой следует, что любой проективный модуль над наследственным справа кольцом является прямой суммой конечно порожденных модулей. Применим этот результат к связанным модулям. [37]
Над областью главных идеалов ( не обязательно коммутативной) любой связанный модуль является строго связанным, и поэтому мы можем применить предложение 2.2 для описания двойственности из предложения 2.1 с помощью функтора Нот. Далее, в этом случае инъективная оболочка / совпадает с телом частных кольца R. Поскольку / является бимодулем, то и К-бимодуль; отсюда следует ( для любого правого jR - модуля Af), что изоморфизм ( 3) является также изоморфизмом левых / - модулей. Если кольцо R - не область главных идеалов, а FI-кольцо, то над ним существуют, вообще говоря, связанные модули, не являющиеся строго связанными. Более детальный анализ инъективной оболочки показывает, что она обладает бимодульной структурой. [38]
Если программа, в которой редактируются связи, еще не размещена, редактор связей не может назначить абсолютные адреса памяти для вызовов или для команд обращения к памяти. Он назначает новые перемещаемые адреса и настраивает все адреса в процедурах вызова и командах обращения к памяти относительно нового начального адреса. При этом создается новый перемещаемый модуль на машинном языке из отдельных процедур и модулей, которые были связаны вместе. Связанные таким образом модули могут снова связываться вместе до тех пор, пока, наконец, все вызовы не будут привязаны к соответствующим процедурам. После этого перемещающий загрузчик назначает конкретные ячейки памяти каждой команде в связанном модуле и настраивает адреса каждой команды обращения к памяти, завершая при этом генерацию готового к выполнению модуля. [39]