Преобразования типов данных при сборке систем
Типы данных, описанные выше, являются наиболее общими. При разработке модулей часто приходиться вводить такие типы, множества значений которых являются подмножествами множеств значений для этих типов. Рассмотренный подход может применяться и для их анализа. Однако результаты в этом случае будут другими. Проиллюстрируем это на примере отрезков числовых типов. При сборке сложных систем возникают… Читать ещё >
Преобразования типов данных при сборке систем (реферат, курсовая, диплом, контрольная)
При сборке сложных систем возникают условия преобразования, которые включают в себя допущения, противоречащие условиям формальной сборки изза нарушения свойств модулей с учетом рассмотренного изоморфизма алгебраических систем и т. д. Условия сборки приведены ниже.
1. Типы данных, описанные выше, являются наиболее общими. При разработке модулей часто приходиться вводить такие типы, множества значений которых являются подмножествами множеств значений для этих типов. Рассмотренный подход может применяться и для их анализа. Однако результаты в этом случае будут другими. Проиллюстрируем это на примере отрезков числовых типов.
Предыдущий анализ над множествами значений для числовых типов обязательно включаег 0 и 1. В некоторых случаях отрезки типов могут не содержать этих значений. Поэтому результаты предыдущего анализа для числовых типов не могут использоваться. Однако выполняемые операции для объектов данных типов могут быть корректными за счет неявных дополнительных условий. Например, для отрезка целого пиша вида т…п, где п > т >1, могут не применяться операции вычитания div и mod, а операции сложения и умножения будут давать корректные результаты. Данную особенность можно легко объяснить. Алгебраическая система для целого типа характеризуется множеством Q'. включающим в себя все возможные операции для целого типа. Исключение из этого множества некоторых операций дает нам некоторую другую алгебраическую систему, и преобразование таких типов приводит к другим результатам. Однако в модулях соответствующий тип будет описан как отрезок целого, поэтому для аналогичных случаев анализ преобразования типов должен проводиться в частном порядке. Этот пример иллюстрирует проблему несоответствия в описаниях типов, относящуюся к классу проблем сопряжения, связанных с различиями в описаниях модулей.
- 2. Аспектом практической реализации может служить несоответствие областей значений одинаковых типов фа! стичсского и формального параметров. Пусть фактический параметр имеет вещественный тип с областью значений вида — а, …, а, а формальный — вещественный тип с областью значений — Ь, … а, где а > b > 0. Несмотря на различие в множествах значений, операции над объектами будут корректными, если значения объектов и результатов операций будут принадлежать пересечению рассмотренных отрезков. В этом случае при построении алгебраических систем необходимо в качестве множества значений рассматривать пересечение отрезков, чтобы обеспечить построение изоморфного отображения.
- 3. При анализе преобразований между простыми типами было отмечено, что с вещественными типами возможны только преобразования вида вещественный — в вещественный. Это очень сильное ограничение, так как часто в практике программирования возникает преобразование типов вида целый — в вещественный и наоборот. Строгий анализ таких преобразований не может быть проведен ввиду отсутствия изоморфного соответствия между множествами значений этих типов — одному целому числу будет соответствовать некоторое множество вещественных чисел. Анализ преобразований для этих типов должен производиться следующим образом. Отображения между множествами целых и вещественных чисел являются частичными мультиотображениями. Пусть (р — отображение множества X на X, где X и X — множества вещественных и целых чисел соответственно. Для каждого х’еХ определим прообраз у1(Х)с.Х. Различным У будут соответствовать различные прообразы. Введем фактор-множество ЛУф, элементами которого являются прообразы элементов х. В алгебраической системе I/, описывающей вещественный тип, заменим множество X фактор-множеством Л7<�р. В этом случае отображение между алгебраическими системами сохраняет линейный порядок, но корректность арифметических операций не выполняется. Так, если преобразование вещественного числа в целое состоит в отбрасывании дробной части, то 1,6+ 1,6 = 3,2 и <�р (3,2)=3. В то же время <�р (1,6)+ <�р (1,6) = 1 + 1 =2фЪ. 'Эти особенности необходимо учитывать при практической реализации подобных преобразований. Данный пример относится к преобразованию, данных, при которых отсутствует изоморфное соответствие между основными множествами алгебраических систем, описывающих преобразуемые типы. Анализ подобных преобразований должен проводиться в частном порядке.
- 4. Среди формальных преобразований не рассмотрен случай, когда параметр содержит строку символов из последовательности цифр, и он должен преобразовываться в целый тип с соответствующим значением.
Формальный подход к построению межъязычных интерфейсов, потребовал создания функций преобразования, которые позволяют упорядочить разработку процессов реализации сложных систем из модулей с использованием модулей посредников.