Автоматизация

здесь собраны все заметки, публикации и статьи опубликованные на Web-странице

И.И.Пилецкий (СП "IBA Intelligent Systems", г. Минск)

 

Roviei (complexity of “2000-year problem”, consisting of global influence on soft-wear for personal computers, work-stations, main-frames, etc. Discussed are difficulties of such problem solution, methods and means to prepare Information-computing systems for the year of 2000 are presented.

1. Суть проблемы

Исторически в области информационных технологий было принято для указания года использовать две последние цифры года после Рождества Христова, например: 1998 - 98, 1999 - 99, 2000 - 00, 2001 - 01. За последние несколько десятков лет человечество привыкло использовать столетнюю линейку (00 — 99) и поэтому 2000 год в очень многих ситуациях будет представляться как 00 год.

Проблема усугубляется тем, что в разных странах применялись различные форматы представления даты (известно около 38), например: DD/MM/YY, DD.MM.YY, MM/DD/YY, MM.DD.YY, YY/MM/DD, DDD/YY. Поэтому возникает проблема правильной интерпретации дат (08/11/98, 11/05/09, 01/11/11). Стандарт ISO 8601 предписывает следующие форматы дат: YY-MM-DD, YYYY-MM-DD и YYYY-month-DD для нетехнических приложений.

"Проблема 2000" состоит в том, что 2000 год в различных областях человеческой деятельности, связанной с информационными технологиями, может интерпретироваться как 1900, 1980 или 1970 год, все зависит от типов микросхем и/или программного обеспечения, а даты третьего тысячелетия будут представляться датами второго тысячелетия.

2. Классификация ошибок

Такая, казалось бы, простая "Проблема 2000" может привести к неправильной интерпретации дат третьего тысячелетия. Для иллюстрации более серьезных последствий "Проблемы 2000" ниже приведены возможные классы ошибок при работе с датами третьего тысячелетия.

Классы ошибок в 2000 году

Явно используется "19" в операциях пересылки данных, в отношениях, в аппаратуре компьютеров и т.д., что приводит к игнорированию текущей даты и неправильной дате в твердой копии.

Дата применяется для специальных целей: указания срока хранения или задания начального значения, например "99", "365/99", "9999" может означать "хранить вечно", а "00" - начальное значение. Но как интерпретировать реальные данные: 09.09.1999 или 2000 год? ^/ Некорректное определение формата полей дат, например допустимы следующие форматы дат: DDMMYY, MMDDYY, YYMMDD, а реальная дата 01.08.01 – как ее интерпретировать, как правильно определить год, месяц, день?  Задание в явном виде полей дат для ввода/вывода ("дд" _______ 19хх, или /_/______ /19_/), приводит к игнорированию текущей даты. Неправильное определение високосного года: 2000-й год високосный, а 1900-й не високосный (алгоритм: делится на 100 или 4, но не делится на 400). Неправильные арифметические вычисления: например, для события произошедшего в 1972 году, какие результаты правильные: 99 - 72 = 27, 2000 -1972 - 28, 00 - 72 - -72?, [00 - 72| = 72? (операция без знака) 72 + 61 = 33?, 72 + 61 = 133?, 72 + 61 - 2133? (возможно переполнение, усечение). Неправильное выполнение операций отношений (>, <, =, О...) приводит к нарушению в логике выполнения программ (97 < 98, 97 < 99, 97 < 00?, 97 < 01? ).  Операции сортировки могут выдавать неверный результат, что приводит к нарушениям в базах данных, например неправильная убывающая последовательность лет -99,98,97, ...,01,00. Операции поиска в диапазоне могут выдавать противоположный результат, что приводит к нарушению в логике выполнения программ и к нарушениям в базах данных. Например, пусть нужно проверить, находится ли 1986 год в диапазоне [1976 - 1999], а затем в диапазоне [1976 — 2000]. Первая операция будет выполняться правильно, а вторая нет.

Различное представление дат в приложениях приводит к ошибкам в интерфейсах приложений, к некорректному обмену данными между приложениями. В каждом приложении применяются свои встроенные функции для работы с датами, которые в критических ситуациях могут выдавать различные результаты.

3. Последствия

Почти все малые и большие информационно-вычислительные системы: системы жизнеобеспечения, системы хранения данных, системное программное обеспечение, системы страховых компаний, банковские системы, банкоматы, системы налоговых служб, системы пенсионных фондов, системы управления транспортом (воздушным/наземным/водным), системы безопасности ядерных станций, различные военные системы содержат код для работы с датой. Включите любой компьютер и посмотрите внимательно на экран — везде в явном или неявном виде присутствует дата.

По данным экспертов Gartner Group и других экспертов до 80% приложений содержат код для работы с датой. Результаты работы этих систем непредсказуемы: отказы и сбои в работе, предоставление неверных результатов при успешной работе.

4. Влияние

Влияние неправильной интерпретации дат второго тысячелетия можно представить с помощью информации, приведенной на рисунке. Каждый уровень информационно - вычислительных систем создает свои ошибки и умножает ошибки предыдущего уровня.

Аппаратуре

Системное ПО

Приобретаемые приложения

Партнеры, заказчики, люди

"Пирамида" влияния "Проблемы 2000" на информационные системы

Влиянию 2000 года подвержены ВСЕ электронные устройства начиная от микросхем в телефонах, видеомагнитофонах и заканчивая сложными системами безопасности. Масштаб можно представить на основании списка устройств и систем, которые комитет по готовности к 2000 г. штата Нью-Йорк считает необходимым протестировать. В том списке системы освещения, вентиляторы пожарной сигнализации, аварийные генераторы, водяные насосы, светофоры, стимуляторы сердечного ритма, электронные замки, кассовые аппараты и т.д. Никто не знает, какие из этих систем и приборов будут правильно работать в 2000 г.

(см. http://www.irm.state.ny.us/yr2000/embedlist.htm).

Дата может присутствовать на любом уровне аппаратуры или программного обеспечения от микрокода до приложений, в файлах и базах данных, на любых платформах IBM и не IBM (таймеры, часы реального времени CMOS, часы BIOS, часы операционной системы; только 15% персональных компьютеров из 250 млн. эта проблема не грозит). Число различных приложений, баз данных, сетей вообще трудно поддается учету. Многие приложения эксплуатируются 15 20 лет, для некоторых приложений отсутствует документация, а разработчики давно заняты другим делом.

Проблема усугубляется тем, что корректно работающие системы не гарантированы от ошибок, так как многие из их активно работают в сетях, и которых могут быть другие системы старого образца.

6. Важность проблемы

Наиболее типичные аргументы в отношении к проблеме "на бытовом уровне , как правило, следующие:

• ничего страшного, переведем часы и все;

у нас нет таких сложных систем, мы все сделаем сами;

• ваши услуги очень дороги; •-”• “^ у нас сейчас другие проблемы;

• но проблема только аппаратуры;

• проблема мэйнфреймов;

• в государстве такой проблемы нет.

О несостоятельности подобной "аргументации" свидетельствуют следующие факты:

• Gartner Group, МЕТА Group, IDC и другие считают, что на решение данной проблемы в мире потребуется от $300 до $600 млрд.;

• только в США будет истрачено - $30 млрд. из госбюджета;

• в 1997 г. образован правительственный подкомитет по "Проблеме 2000";

• в США 1996 г. начаты работы по решению "Проблемы 2000" в IBM, Microsoft и других крупных компаниях;

• Билл Клинтон выступил с открытым письмом к нации;

• в странах Европейского сообщества на государственном уровне приняты специальные программы по решению "Проблемы 2000" и выделены много миллиардные ресурсы;

Правительство РФ издало специальное распоряжение №671-р по "Проблеме 2000";

• В конце 1998 г. ГК РФ по СиИ издал "Методические рекомендации по решению "Проблемы 2000", в которых указывается: ""Проблема 2000" должна быть объектом постоянного внимания со стороны федеральных органов исполнительной власти и органов исполнительной власти субъектов Российской Федерации и требует принятия безотлагательных мер по ее выявлению и решению";

В РФ создана правительственная комиссия по "Проблеме 2000".

Эксперты Gartner Group считают, что Восточная Европа, Россия и СНГ отстают от США минимум на 12 месяцев. За рубежом ни один из ведущих специалистов из области информационных технологий не остался в стороне от данной проблемы. Опубликовано большое количество статей и книг по данной тематике, разработаны различные инструменты, помогающие бороться с данной проблемой. К сожалению, у нас до последнего времени почти единственным источником информации по "Проблеме 2000" является зарубежная информация в Internet.

По данным "Meta Group и Software Productivity Research" оценки требуемых расходов на устранение "Проблемы 2000" приведены в табл. 1.

7. Состояние

Архитектура ЕС ЭВМ (S/360, S/370, ... ) использует часы типа СРС TOD, рассчитанные на 143 года, начиная с 1900 г. Прикладные программы получают дату по команде TIME в виде OCYYDDDD, где YY - две последние цифры года, DDD -день года, С — столетие ('0' 19, 'Г — 20). Но как ведут себя другие сервисные процессоры, влияют ли они на работу системы? На этот вопрос могу ответить только их разработчики. Для системы S/390 — все аппаратные средства к 2000 г. готовы. Архитектура персональных компьютеров использует:

часы реального времени RTC (Real-time Clock) в CMOS

• часы BIOS;

системные часы.

1 Проблема состоит в том, что во многих персональных компьютерах, выпущенных до 1997г., при изменении часов RTC автоматически не изменяется столетие "19" на "20", BIOS не обучен работать с датами третьего тысячелетия, а в некоторых RTC нет регистра "19". Интерпретация даты зависит от оборудования и системы. Некоторые пользовательские программы могут получать время прямо из BIOS, в обход системы.

Таблица 1

Россия

32

7,3

Португалия

5

4,9

США

188

2,5

Австралия

10

2,5

Великобритания

43

3,7

Бразилия

36

4,8

Италия

34

2,8

Китай

4

0,5

Франция

42

2,8

Корея

23

4,7

Германия

6)

2,5

Индия

4

1,2

Япония

106

2,3

В среднем

34

3,3

Нидерланды

10

2,6

государственный и частный сектор |

 

 

Для AMI BIOS начиная с 15.07.1995 переход от дат 1999 т. к датам 2000г. и работа с датами после 2000 г. выполняется корректно. Более ранние реализации BIOS допускают однократную коррекцию после 2000 г.

Для Award BIOS начиная с 31.05.1995 переход от 1999 г. к 2000 г. и работа с датами после 2000 г. выполняется корректно. Более ранние реализации BIOS требуют' переустановки дат при каждой перезагрузке после 2000 г.

Для Phoenix BIOS реализации Phoenix BIOS 4.0 Release 5 и выше к 2000 г. готовы. Более ранние допускают однократную коррекцию после 2000 г.

Но это фирменные BIOS. а реализации этих BIOS другими поставщиками могут отличаться от фирменных. Многие 1 1К выпущенные до 1997 г. не готовы 2000 г. (до 85% см. http://www.symatltec.com, Symantec White Paper Series. Volume XLIV).

Реально с 1996 г. персональные компьютеры могут содержать корректные часы. Однако готовы ли мы уверенно ответить на вопросы: "Какие платы у наших ПК? '. "Кто и где их производил? ', "Как определяют дату Операционные Системы (ОС) на основании двух или четырех цифр?", "Как определяют' время программы пользователя: прямо из BIOS или через ОС?"

Ниже приведен список основных систем, начиная с которых разработчики объявляют о готовности их продукта к 2000 г. Более полную информацию можно получить на WEB страницах фирм - производителей программных продуктов. "•MS-DOS—-с 6.0, 6.22

• PC DOS 7.0

• NetWare 4.x

• OS/2 Warp 4, Warp Connect 3

• Solaris (дата определяется в диапазоне с 01.01.1970 до 2037)

• Windows 95/98 (есть небольшие проблемы, которые можно устранить получив и новый FIX с WEB узла).

• Windows/NT 3.51 (система правильно определяет дату до 2108)

• OS/390

• MVS res. 5.1 и выше

•VM/ESA версия 2.2

• VSE/ESA версия 1.4, 2.1, 2.2

• DFSMS версия 1.2

• IMS версия 5

• CICS версия 4.1

• DB2 версия 3, 4, 5

Некоторые системы даже при не совсем корректной работе аппаратуры правильно устанавливают дату (например, Windows 98), другие системы не могут компенсировать некорректную работу аппаратуры (например, DOS, Windows 95). В старых операционных системах: TKS, MFT, MVT, БОС., ОС РВ, ОС 6.1 ЕС не предусмотрена работа с датами третьего тысячелетия.

Приведем список популярных программных продуктов, у которых "Проблема 2000" решена (более полно см. Internet). Все данные продукты новые и к 2000 г. стоны, но для указания года лучше указывать четыре цифры года. Office 97: импортирует данные из старых продуктов, но для формата года из двух цифр в две будет' интерпретация "1916"в"2016'.

Access 97: интерпретирует временен ряд "00 --- 29" как "2000 — 2029", но Access 95 как "1900 — 1929".

Excel v. 5, 7: интерпретирует ряд "00 --- 19" как "2000 --- 2019", поэтому "20" это "1920", a Office 97 Excel интерпретирует "00 --- 29" как "2000 ---2029"; поэтому "20" это "2020", а "30" это "1930".

Lotus 1-2-3 97: также применяет столетнее окно для интерпретации года, заданного двумя цифрами, но здесь реализация другая [50 — 99, 00-49]. В СУБД тина SQL есть тин данных "dale" и для хранения года применяется четыре цифры, а для интерпретации двух цифр года применяется 100-е окно [50 — 99, 00-49]. Oracle7, Oracle8: для правильной интерпретации двух цифр года нужно воспользоваться специальной маской вводимых данных (в DD-MM-YY вмести года YY указать RR), иначе такая дата будет интерпретироваться как дата первого тысячелетия.

SQL Server 6.5.: имеет небольшие проблемы с планировщиком заданий (в календаре нет даты 29.02.2000) и для дат после 2000 г. система резервного копирования заменит старую копию на новую без предупреждения.

Sybase Adaptive Server Enterprise 11.5.1 и Sybase SQL Server: к 2000 г. готовы.

IBM DB2 v.2.1. - DB2 LJD 5.0 для Unix, Windows NT:

к 2000 г. готовы, а для MVS/ESA v.3.0 — 4.0 нужно применять FIX.

Системы программирования: С, Cobol, PL/I, Assembler и другие не содержат данных типа DATE, а отсюда следует, что для работы с датой используются символьные данные или арифметические данные в десятичной или двоичной системе счисления. В каждом приложении своя реализация и своя интерпретация.

В различных приложениях и версиях применяются различные решения "Проблемы 2000 '. Дополнительно нужно обратить внимание на проблему хранения, передачи и интерпретации даты во внутреннее представление и наоборот, при которой две старшие цифры года могут просто усекаться или дополняться произвольно.

8. Пути решения

Стандарт комитета IEEE Computer Society определяет совместимость с 2000 г. следующим образом:

"Технология (в частности, информационная технология, встроенная система или любая иная система на базе электромеханической конструкции либо процессора), будучи использована согласно соответствующей документации, в состоянии правильно принимать, передавать и/или обрабатывать даты, принадлежащие XX и XXI векам, а также лежащие на рубеже между 1999 и 2000 г., с учетом поправок на високосные годы — при условии, что все прочие технологии надлежащим образом обмениваются датами с данной технологией".

8.1. Начинать решение проблемы необходимо с понимания того, что она существует Реально есть только два пути решения "Проблемы 2000":

• Исправить существующие системы;

• Перейти на новые версии аппаратных средств и программного обеспечения. Технически "Проблема 2000" имеет три аспекта:

• Аппаратные средства;

• Системное программное обеспечение (системное, БД, процессоры транзакций и т.д.);

• Прикладное программное обеспечение (разработанное самим или купленное у третьих лиц).

8.2. Шаги к готовности информационных систем

В табл. 2 в укрупненном виде приведены основные шаги и действия по решению "Проблемы 2000".

Более 50% времени по "Проблеме 2000" уходит на тестирование!

9. Инвентаризация Internet

На следующих WEB — страницах можно найти полные списки программных продуктов готовых к 2000 г.:

www.ibm.com/lBM/ijear2000/facls/position.hlml

www.ibm.com/lBM/year2000/mkt/pcmatnx.hlml

www.microsoft.com/lechnel/topics/year2k/default.htm

www.microsoft.com/year2000

www.ls-2000.com

www.lycos.com/computers/miniguide/year2000.html

www.yr2k.raleigh.ibm.com

и другие.

Оценка готовности

Планирование

Исправление или замена

Интеграция и тестирование

Инвентаризация аппаратуры и программного обеспечения (ПО)

Предварительное тестирование Классификация ПО (что это, группы, готово, не готово)

По каждой системе план

План-график работ, приоритеты Ресурсы (оборудование, люди, деньги, время)

По каждой системе

Модификация, замена или разработка новых приложений

Автономное тестирование Комплексное тестирование Ввод в эксплуатацию

Инструменты инвентаризации

Для выполнения инвентаризации и идентификации ИС можно рекомендовать некоторые полезные инструменты:

Norton2000 Retail Edition, Corporate Edition,

ClickNet Y2K, Professional, VeriDate,

Products, Tools and Services Information (www.ibm.com/year2000),

Эти инструментальные средства помогут выполнить инвентаризацию ИС на основе баз знаний о продуктах.

Поставщики и деловые партнеры

Для уточнения оставшегося ПО нужно обратиться к поставщикам и деловым партнерам.

10. Общая технология тестирования

При организации и проведении тестирования можно выделить следующие важные этапы: создание группы по тестированию ИС, которая должна подготовить среду для тестирования, подобрать и проверить инструменты тестирования, подготовить методики проведения испытаний, идентифицировать все приложения и выполнить тестирование их, подготовить требуемые отчеты.

Среда для тестирования (аппаратура и системное ПО) должна быть проверена на основании инвентаризации и своих данных, и готова к 2000 году.

Инструменты можно получить в центрах компетенции и на WEB — страницах (например, www.survive-2000.com, www.ami.com/amibios/, www.rightime.com, www.firmware.com, а также см. п.13).

Очень тщательно должны быть подготовлены методики тестирования. Здесь должны быть тесты для проверки критических дат и тесты для проверки приложений, например переходы от 31.01.1999 к 01.01.2000, 09.09.1999, 01.01.1999, от 01.01.2000 к 01.01.20xx, от 28.02.2000 к 29.02.2000 и 01.03.2000 и т.д. Приблизительный список тестов можно построить, используя данные из табл. 3. Более полные методы построения тестов можно получить из документов: 'Year 2000 Test Procedures www.aiag.org/testproc.html и "Методические рекомендации по решению "Проблемы 2000"", ГК РФ по СиИ, 1998г. Используя знания о ИС и о приложении, отобрать данные DATE для проверки и протестировать объект на различных наборах тестов.

Отобранные для миграции приложения необходимо тестировать, сканировать, модифицировать и опять тестировать.

Для каждой установки (по аппаратуре и программному обеспечению), для сети, для всего предприятия должны быть подготовлены отчеты об их текущем и окончательном состоянии.

Таблица 3

Критерий

Тест дня анализа

Общая полнота

Язык обеспечивает функции получения/установления системной даты (с хоста, с сервиса времени и т.д

Эти функции возвращают корректное значение системной даты для дат высокого риска: 09-09-1999, 31-12-1999, 01-01-2000, 29-02-2000 Эти функции возвращают корректное значение системной даты для дат высокого риска (при переходе

граничных значений дат):

>01-01-1999, 31-12-1999->01-01-2000, >29-02-2000, 29-02-2000->01 -03-2000

Полнота по датам

Язык поддерживает тип дата в диапазоне дат:

01-01-1950 - 31-12-2049?

Программы языка трактуют 2000 високосный, 1900 не високосный год? Арифметика над датами корректно определяет различные промежуточные даты, сложение дат, вычисления дня недели, дня месяца? Программы корректно преобразуют даты различных форматов? Программы корректно выполняют операции отношения?

В языке есть встроенные средства для работы с датами (есть библиотечные программы)? Проверить для них все приведенное выше.

Система включает средства сортировки/слияния? Проверить корректность сортировки/слияния полей дат в диапазоне: 19хх - 20хх.___________________________________________

Явное задание столетия

Может быть столетие явно введено/выдано в функциях даты? Какой формат используют явные обращения к функциям/системе определенный заказчиком индустриальный (ISO, ANSI)

Не явное задание столетия

Может ли, столетие для кого ни будь значения даты или функции неправильно быть представлено для

дат: 01-01-1950 - 01-12-2049?

Тип данных дата поддерживает формат без явного задания столетия?

Корректно выдается столетие во всех случаях, когда оно явно не указано?

Если значение столетия определяется неявно, какое значение используется при сравнении дат, в

арифметических операция, при постоянном сохранении и других операциях?

Внимание! Перед проведением тестирования, а особенно аппаратуры и баз данных, не забудьте сделать резервное копирование!

Для мэйнфреймов нужно обратить внимание на среду для тестирования и стратегию тестирования. Среда для тестирования может быть создана на другой виртуальной машине. За справками можно обратиться по e-mail: doroshko@iba.com.by или www.iba.com.by.

Для тестирования аппаратуры ПК нужно выполнить следующие тесты:

Rollover Test 2000 (переход от 1999 г. к 2000 г.)

• Тестирование RTC:

1) BIOS Setup

2) 31.12.1999 11:59РМ

3)ВЫК. ЖДАТЬ. ВКЛ.

4)BIOS Setup и проверить переход к 2000 г. ^/ Тестирование BIOS:

1) BIOS Setup

2) 31.12.1999 11:59РМ

3)ЖДАТЬ до 01.01.2000? ПРОВЕРИТЬ И ВЫЙТИ. Set Test 2000 (проверяется возможность работы с датами после 2000 г.)

•' Тестирование RTC:

1) BIOS Setup

2) 01.01.2000 чч:мм РМ

3)ВЫК. ЖДАТЬ. ВКЛ.

4)BIOS Setup должен быть 2000 год. OS< --- >BIOS (проверяется взаимодействие системные часов и BIOS на работающем ПК, без сети)

Тест 1

1) date=31.12.1999, time=23:59:00

2) СТОП time-display, таймер не ВКЛ. ЖДАТЬ, СТАРТ time-display, ПРОВЕРИТЬ

• Тест 2

1) date-31.12.1999, time-23:59:00

2) СТОП time-display, таймер ВКЛ., установить таймер после 2000 г.

3) ЖДАТЬ, ПРОВЕРИТЬ В обоих тестах должна быть дата после 2000 г. Аналогично выполняется тестирование и для других дат (например, 29.02.2000).

НЕ ЗАБЫТЬ ВСЕ УСТАНОВКИ ВЕРНУТЬ ОБРАТНО!

11. Возможные решения

·         Для мэйнфреймов типа IBM/360/370 есть варианты не дорогой миграции в OS/390 на платформе серверов Р/390, R/390. Миграция выполняется на основе плат Р/390 для IBM PC или R/390 для IBM RS/6000, которые обеспечивают функционирование современных систем типа: VM/F.S.V VSE/ESA, MVS/ESA, OS/390. Более полную информацию можно получить по e-mail satsuta@iba.com.by и www.@iba.com.by.

·         Для ПО системного и среднего уровня, если оно к 2000 г. не готово, требуется замена приложений или готовый FIX с WEB—страницы производителя.

·         Для персональных компьютеров:

a) если BIOS не работает с датами третьего тысячелетия, необходима замена BIOS: физически, перезапись его или установка дополнительной платы в ПК..

b) если BIOS работает с датами третьего тысячелетия, но тест Rollover Test 2000 не проходит, необходима процедура ручной однократной корректировки даты в 2000 г. Допускается применение резидентных программ корректировки даты или установка дополнительной платы если OS автоматически не изменяет часы в BIOS или наоборот, то решение может быть, как и в 2) или более простое - установка современной OS (например,\Уш95--> Win98).

12. Общая технология модификаций

·         Расширение поля года для указания века (BBIT). Хорошее решение, но нужно изменять программы и данные за короткое время.

·         Представление века (ВВ -- 19, 20) с помощью 100 летнего окна и года (ГГ).

·         При данном решении требуется модификация программ и для некоторых приложений диапазон может быть мал.

·         Сжатие 4 цифр года в двухбайтовые поля. Такие данные хорошо хранить, но как показать год, определить формат даты?

15. Полезные инструменты

Системы аппаратуры и программного обеспечения

• ClickNet Y2k - тестирование аппаратуры ПК, тестирование и инвентаризация ПО ПК и сети.

• Norton 2000 - тоже, только набор функций проще. Системы сканирования исходных текстов, баз данных. выполнимого кода

•' TRACER 2000 - инвентаризация, анализ исходного кода, модификация и тестирование.

• Datcfind-db - поиск на ПК в сети баз данных их анализ (полей дат, функций, формул, макро).

• Bypass 2000 - анализ исходного кода.

• McAfee 2000 Toolbox DateSpy - анализ таблиц EXCEL . ClickNet Y2k - успешно справляется с анализом баз данных и некоторых файлов.

• Norton 2000 - успешно справляется с анализом популярных баз данных.

Комплексные системы

• IBM Visual Age 2000 - большой набор различных инструментов

• Интеллектуальные системы сканирования и корректировки программ

• IBM Visual Age Millennium Language Extension

• IBM Visual Age COBOL, IBM Visual arc PL/1

14. Традиционные языки программирования и

Для разработки многоплатформенных приложений (на рабочих станциях (OS/2, Windows/ 95 /NT, AIX) и/или в среде MVS, VM, VSE) фирма IBM в 1995-97 годах разработало среду Visual Age для языков программирования PL/I и Cobol (Cobol ANSI 85, PL/I ANSI X3.74-87, X3.77 -80). Среда Visual Age — это набор мощных современных инструментов, объединенных в единую технологическую среду разработки приложений. Данная среда может быть полезна в двух аспектах:

это почти автоматический перенос старых программ в новую современную среду;

решение "Проблемы 2000" с помощью MLE технологий

Mial как эволюционный метод решения многих проблем

MLE - патентованная технология, разработанная фирмой IBM, автоматического изменения исходных программ с целью корректного представления дат с помощью 100 летнего окна. Применяется, как правило, в последних версиях трансляторов, на пример PL/I, Cobol.

Для применения MLE, необходимо:

• дополнить объявления переменных, связанных с представлением дат в программе (тех для которых будет применяться 100-е окно) атрибутом date;

определить тип окна с помощь режимов.

Транслятор автоматически выполнит изменения в программе и в большинстве случаев без изменения логики программы. Во всех случаях, когда можно применить технику MLE: простые операции отношения (if, select, while, ...), оператор присваивания, передача аргументов, return и т.д., транслятор выполняет действия без изменения логики программы и правильно преобразует различные формы дат (применяется 38 форматов). В других случаях, для переменных с атрибутом date транслятор выдает предупреждающие сообщения, но не модифицирует код, что можно эффективно использовать для поиска всех мест в программе для ее модификации.

Заметим, что данная технология не решает всех проблем. присущих этапам оценки, планирования, анализа и тестирования. Нельзя ее успешно применить при работе с другими приложениями, в которых важно двоичное представление даты:

ключи VSAM файлов, поиск нолей в базах данных (IMS, DB2, ...), ключ поля в команде CICS.

 

 

Назад | | Об авторе | | Периодика| | Гостевая книга