330 likes | 554 Views
Доповідач зав. відд. ІПС НАНУ д. ф.- м. наук, професор Лавріщева К.М. ТЕОРЕТИЧНІ І ПРИКЛАДНІ ПІДХОДИ ДО ІНДУСТРІЇ ПРОГРАМНОЇ ПРОДУКЦІЇ Андон П.І., Лавріщева К.М.
E N D
Доповідач зав. відд. ІПС НАНУ д. ф.- м. наук, професор Лавріщева К.М. ТЕОРЕТИЧНІ І ПРИКЛАДНІ ПІДХОДИ ДО ІНДУСТРІЇ ПРОГРАМНОЇ ПРОДУКЦІЇ Андон П.І., Лавріщева К.М. Доповідь на міжнародному науковому конгресі з розвитку інформаційно-комунікаційних технологій та розбудови інформаційного суспільства в Україні 17-18 листопада 2011 р.
Історичні дані про індустрію ІНДУСТРІЯ – ВИРОБНИЦТВО РІЗНИХ ВИДІВ ПРОДУКТІВ ДЛЯ МАСОВОГО ВИКОРИСТАННЯ Ідея В.М.Глушкова – Фабрики програм за принципом зборочного конвейера (1975). Постанова ДКНТ СМ СРСР – «Создание ГосФАП и РФАП» (1966-1996) та «Программные средства как продукция производственно-технического назначения» (1970). Програмна інженерія – якість, продуктивність, індустрія (1968). Системи автоматизації виробництва програм (ПРИЗ, РТК, ПРОЕКТ, АПРОП, ДИСУППП, ДЕЛЬТАСТАТ, БЕТА…) Програмобудівний інститут - І.З.Карасьов (1982-1984). Зборочне програмування (1988). Чернецки К, Айзенекер У. – “Порождающее программирование. От ручного труда к конвейрной сборки программ” (2005). Гринфильд Дж. – “Фабрики программ Потоковая сборка программ” (2007). Фабрики програм у інформаційному світі (більш ніж 15) 2005-2011.
Основні напрями розвитку індустрії Протягом багатьох років Інститут програмних систем НАНУ проводить наукові і прикладні дослідження за фундаментальними проектами НАНУ за напрямами розвитку індустрії програмних продуктів. Це такі головні напрями: 1. ІНДУСТРІЯ ПРОГРАМ І СИСТЕМ 2. ІНДУСТРІЯ ОБЧИСЛЕНЬ 3. ІНДУСТРІЯ ДАНИХ
ІНДУСТРІЯ ПРОГРАМ –промислове виготовлення готового програмного продукту (компонентів повторного використання – КПВ, reuses, assets, servises, systems…) для масового використання користувачами.Технологія – це методи програмування, інструменти регламентноїпобудови ПП на основіЖЦ та засоби (транслятори, редактори, прувери, тестери, компоновщики, конфігуратори тощо) сучасних середовищ побудови програм. Фабрика програм- інтегрована інфраструктура з простих ліній для: - збору теоретичних знань (артефактів) з дисциплін - прикладна математика, інформатика, комп’ютерні науки тошо; -опису і накопичення артефактів і КПВ у репозиторіях або бібліотеках знань; - сертифікації артефактів, КПВ і програм у стандартної формі (WSDL), прийнятої в системі Grid; -автоматизованої розробки програмв МП за лініями; - зборки програм, КПВ в складні ПС, що взаємодіють між собою; - виконання побудованих програм і ПС на контрольних даних; - здачі замовнику ПС для застосування.
Інтерфейси програм, систем, КПВ ІНДУСТРІАЛЬНА ТЕХНОЛОГІЯ програм і систем базується на інтерфейсах Інтерфейс - модульний, програмний, науковий, системний (IDL, API, SIDL- Scientifically IDL, OSI тощо), Міжмовний інтерфейс (Мови програмування -Fundamental Data Types, GDT-General Data Types), Сервісний інтерфейс (Icontract), Проміжний інтерфейс (міжсистемний, OSI, між середовищами, між клієнтом і сервером тощо).
Розподілена розробка програм з використанням Інтернет
Різновиди середовищ, зв’язків, систем ТИПОВІ ІНДУСТРІАЛЬНІ ЗАХОДИ Середовища Інтерфейси Продукти IBM Sphere RPC Модуль, Програма MS.Net MSIL Програма, Програмна система - ПС CОRBA ORB (stub, Об’єкт, метод, ОМ Skeleton) розподілена ПС JAVA RMI Програма, компонент, КПС COM API Компонент, КП WCFIcontract Сервісний клієнт -сервер розподілена система, Web-APP Services Веб -застосування Grid Transport Компонент, модуль Connectivity система, пакет, Сімейство ПС - СПС
Засади для індустрії розробки програм і систем Розроблено ТЕХНОЛОГІЧНІ ІНДУСТРІАЛЬНІ ЗАСАДИ Моделі - моделі розробки (MDD, MDA, SOA, PIM, PSM, GDM тощо); - нові моделі побудовані у фундаментальному проекті ІІІ-1-07 ІПС НАНУ взаємодії програм, систем і середовищ (інтероперабельність), варіабельності (варіантність, змінюваність), живучості (надійність, адаптивність); - моделі життєвого циклу (спіральна, ТЛ, Product Line) для виробництва ПП; - моделі конфігураційні (зборочні), інтеграційні, трансформаційні, генераційні тощо. Методи розробки ПП - компонентний, складальний (зборочний), сервісний, аспектний, композиційний, генераційний. Методи тестування й оцінювання ПП - тестування програм, систем, веб-застосувань за тестами тощо; - методи верифікації і доказу, - оцінка якості, вартості, витрат, рівня процесів. Стандарти SE, IT - ISO/IEC 12207 - ЖЦ, ISO/IEC 11404 –GDT, ДСТД 9126-якість…
ПОБУДОВАНО ІТК з технологій індустріального напряму Технологія розробки КПВ і ПС за підходами: об’єктно-компонентний метод, компонентний, генерувальний підходи, сервісно-орієнтований підхід. Технологія розробки ПП за регламентними формами: ЖЦ, лінії, ТЛ. DSL, WorkFlow, Use case, UML2. Процеси якісного конструювання СПСіз КПВ, assets, reuses. Технологія взаємодії програм, систем і середовищ. Технологія виробництва якісних програму СПС. Технологія навчання прийомам виробництва ПС. Інструментально-технологічний комплекс (ІТК)
Рис. 7.3. Основні методологічні матеріали проекту
Механізми взаємодії сучасних середовищ через Eclipse
Організація зборки готових програм у файл конфігурації - ФК
В ІПС розроблені стандарти з SE, IT 1.Андон Ф.И., Бабко Л.Д.Стандартизация инженерии систем и программных средств в Украине // Кибернетика и системный анализ – 2009 - №6, c.144-148 2. ДСТУ 2851-94 Програмні засоби ЕОМ. Документування результатів випробувань. 3. ДСТУ 3918-99 (ISO/IEC 12207-95) Інформаційні технології. Процеси життєвого циклу програмного забезпечення 4. ДСТУ 4302:2004 Інформаційні технології. Настанови щодо документування комп’ютерних програм (ISO/IEC 6592:2000 МОД) 5. ДСТУ ISO/IEC 9126-1:2010 Програмна інженерія. Якість продукту.Ч.1 Модель якості (ISO/IEC 9126-1:2001,IDT) 6. ДСТУ ISO/IEC 12119:2003 Інформаційні технології. Пакети програм. Тестування і вимоги до якості 7. ДСТУ ISO/IEC 14598-6: 2005 Інформаційні технології. Оцінювання програмного продукту. Частина 6. Документація модулів оцінювання (ISO/IEC 14598-6: 2001, IDT). 8. ДСТУ ISO/IEC 15910:2011 Інформаційні технології. Процес розробки документації користувачів програмного забезпечення (ISO/IEC 15910:1999, IDT ) 9. ДСТУ ISO/IEC 14756:2008 Інформаційні технології. Вимірювання та рейтингове оцінювання продуктивності комп‘ютерних програмних систем (ISO/IEC 14756:1999, IDT) 10. ДСТУ ISO/IEC TR 15271:2010 Інформаційні технології Настанови щодо застосування ISO/IEC 12207 (Процеси життєвого циклу програмного забезпечення) (ISO/IEC TR 15271:1998, IDT) 11. ДСТУ ISO/IEC 15910:2011 Інформаційні технології. Процес розробки документації користувачів програмного забезпечення (ISO/IEC 15910:1999, IDT ). 12.ДСТУ ISO/ІЕС 15939:2008 Інженерія систем і програмних засобів. Процес вимірювання (ISO/ІЕС 15939:2007, ІDТ)
Друковані праці з індустріального напряму
Система Grid – інфраструктура обчислень ІНДУСТРІЯ ОБЧИСЛЕНЬ Досліджено і реалізується В ІПС Grid - інфраструктура для організації глобальних обчислень складних наукових задач в області e–science за готовими КПВ, програмами, ПС та накопичення готових сертифікованих ресурсів у репозиторіях для використання в обчисленнях. Підсистема Etics в Grid підтримує репозиторії програм і даних, виконує збирання готових КПВ, програм, модулів, систем у конфігураціний файл для виконання обчислень. В ІПС проводяться розробки КПВ за специфікацією Etics в ІТК і на фабриці КНУ для подальшого їх подання у глобальному репозиторії Grid. Розроблено загальну модель обчислень, як розвиток моделі взаємодії програм для середовища Grid для забезпечення інтероперабельності об’єднаних в КФ різнорідних і різноплатформених програм і використання даних з оn-line Cloudдля обчислення глобальних задач.
ХМАРНІ ОБЧИСЛЕННЯ Cloud Computing — технологія розподіленої обробки даних, в якій комп’ютерні ресурсийпотужності подаються якІнтернет-сервіс. “Хмара”- образ складноїінфраструктури, за якою приховуються всі технічні деталі. “Хмарна обробка даних” — це парадигма (IEEE, 2008), в рамках якоїінформація постійнозберігається на серверах Інтернет, тимчасово кешується набоці клієнта (ПЕОМ,приставки, ноутбуки тощо).
НОВІ ТИПИ СЕРЕДОВИЩ ДЛЯ ОБЧИСЛЕНЬ І ВЗАЄМОДІЙ Середовища виконання Взаємодія Cloud ComputingHTMP5 GRID Protoсol’s SkyDrivenHTTP Azure Web-serviceAtomPub WCFContract’s VSphere TCP
СХЕМА ОБЧИСЛЕНЬ ПРОГРАМ У ВІРТУАЛЬНОМУ СЕРЕДОВИЩІ VSPHERE
ІНДУСТРІЯ ДАНИХ Сервіс даних он-лайн сховищ включає: - величезну кількість накопичених даних з новим видом доступу до них (Amazon, Flash, HTML5) з деякого місця планети; - синхронізацію даних (Windows Live Mech, SkyDriven ), - передачу даних на віддаленні сервери (MS Mech SkyDriven); - резервування різних копій даних (Office WebApps), - нові веб-технології (Flash, Silverlight, Amazon); - композер задач, робота з БД (Windows Azure, My SQL, Services, Live Services); - бібліотеки примітивів з перетворення типів даних GDT<=>FDT (ІПС НАНУ).
Набір бібліотек функцій перебудови типів данихGDT -FDTБібліотека функцій для перетворення типів даних GDT (примітивних, агрегатних і генерованих) до FDT типів даних (простих, структурних і складних) МП, які використовуються при передачі даних між різномовними компонентами, підсистемами і проектами;Бібліотека складних типів даних GDT (контракт, портфель тощо) згенерованих до простих типів даних FDT і накопичених у базі даних репозитарію; Бібліотека функцій для перебудови форматів нерелевантних даних посередників (stub, skeleton), що передаються на інші платформи взаємодіючим компонентам і зворотно;Бібліотека перетворення даних з оn-line сховищ.
В ІПС НАНУ проводяться дослідження інструментальних засобів підтримки віртуальних і on-line даних для використання вCloud Computing та розробкавідповідних технологічних індустріальних засобів у майбутньому.
Google Appsзабезпечує бізнесзастосування в режимі онлайн за допомогоюІнтернет-браузеразвеликими обсягами даних на серверах Google. Google App Engine виконує веб-застосування зісховищами даних через інтерфейс API та з аутентифікацієюкористувачів; - відстажуються події в заданийчасабо через регулярніінтервали; - забезпечується взаємодіяз середовищами виконання: Java та Pythonза допомогою стандартних протоколівта технологій розробки веб-застосувань. GoogleApps
Windows Azure - платформа для створення розподілених «хмарних»)веб-застосувань, раніше Windows Cloud (2008), спрощує побудовуінтернет-сервісівзвикористанням технології .Net. Сервіс: час обчислення12 центов, гігабайт даних на сервері- 15 центів, кожні 10 тисяч транзакцій - 10 центів. Amazon Web Services — інфраструктура Web Services для наданняпослуг: зберігання даних (файловий хостінг, розподіленісховища даних), аренда віртуальних серверів, надання обчислювальних потужностей тощо.
Amazon Machine Image (AMI) підтримуватимезастосування, бібліотеки, даніта конфігураційні параметри. • завантаження AMI в Amazon S3. Amazon EC2 танаданняінструментів для зберігання AMI ташвидкезбереження образівусховище; • Вибір ОС для запускута контролюдекількох AMIз використанням API Веб-сервісу, інструментів управління; • сплачувати за ресурси, якінеобхідноспоживати, такі як часта передача даних. Amazon Elastic ComputerCloud