ПЕРЕЧЕНЬ ССЫЛОК
1. GRUMMP - Generation and Refinement of Unstructured, Mixed-Element Meshes in Parallel [Электронный ресурс] -Режим доступа : http://tetra.mech.ubc.ca/GRUMMP/.
2. Останин А. Н. Применение математических методов и ЭВМ. Вычислительные методы проектирования оптимальных конструкций: Учеб. пособие для вузов / Под общ. ред. А. Н. Останина. - Мн.: Выш. шк., 1989. - 279 с.
3. Куприков М. Ю. Твердотельное моделирование - новый подход к вопросам проектирования и подготовки технической документации [Электронный ресурс] / М. Ю. Куприков. - Режим доступа : http://nit.mi-em.edu.ru/cgi-bin/article?id=76.
4. Голованов Н. Н. Геометрическое моделирование / Н. Н. Голованов. - М.: Издательство физико-математической литературы, 2002. - 472 с.
5. Рвачев В. Л. Теория R-функций и некоторые ее приложения / В. Л. Рвачев. - К. : Наук. думка, 1982. - 552 с.
6. Толок В. А. Метод конечных элементов: теория, алгоритмы, реализация / В. А. Толок, В. В. Киричевский, С. И. Гоменюк, С. Н. Гребенюк, Д. П. Бувайло. - К. : Наук. думка, 2003. - 316 с.
7. Скворцов А. В. Эффективные алгоритмы построения триангуляции Делоне / А. В. Скворцов, Ю. Л. Костюк // Геоинформатика. Теория и практика. - Томск : Изд-во Томского ун-та, 1998. - Вып. 1. - С. 22-47.
Надшшла 4.08.2008
В cmammi розглянуто задачу побудови геометричних моделей iH-женерних конструкци нестандартноЧ форми. Виконано огляд основних меmодiв представлення геометричних моделей у сучасних САПР. Описано засто-сування апарату функцш В. Л. Рвaчевi для формального опису та наступноЧ дискретизацп плоских геометричних об'eкmiв складноЧ форми.
The problem of plotting geometrical models for engineering structures of non-standard form is considered in the paper. The review of the basic methods to describe geometrical models in modern CAD is done. Application of V. I. Rvachev's function apparatus for formal description and subsequent discretization of plane geometrical objects of complex form is discussed.
УДК 004.4'24
M. Ю.Терновой
П1ДХ1Д ДО ПРЕДСТАВЛЕНИЯ 1НФ0РМАЦИ В TEPMIHAX
ПРЕДМЕТНО! ОБЛАСТ!
Запропоновано пiдхiд до отримання тформацп з ба-зи даних та ïï представлення в mермiнaх предметноЧ облacmi. До складу цього пiдходу входять метод при-в'язки до предмеmноï облacmi та метод побудови запи-ту до бази даних в термтах предмеmноï облacmi.
ВСТУП
Для ефективного управлшня будь-якою оргаш-зацшною структурою кер1внику необхщна р1знома-штна шформащя, причому сутшсть ще' шформацп та форма ïï подання будуть змшюватися в залежносп в1д задачу що виршуеться. В1д оперативност отримання та зручност подання необхщно!' шформацп за-лежить своечасшсть управлшських ршень [1]. На сьогодшшнш день шформацшш технологи склада-ють основу шформацшно-анал1тично'' д1яльност1 будь-яко!' оргашзацп. В сучасних шформацшних системах (1С), що функцюнують в оргашзащях, дат збе-р1гаються в базах даних (БД), яю найчастше е ре-ляцшними [2]. Тому описана вище задача подання шформацп зводиться до отримання даних з бази даних та !'х представленш у форм1, що вимагаеться.
Як правило, у впроваджених в оргашзащях 1С закладена можлив1сть отримання звтв на основ1 по-точних даних, але юльюсть р1зних за формою зв1т1в обмежена. Створення нових зв1т1в вимагае вдоскона-лення або переробки 1С за участ1 розробник1в.
© Терновой М. Ю., 2009
3 шшого боку на ринку програмного забезпечен-ня icHye багато систем, як1 надають можлив1сть фор-мувати рiзноманiтнi звiти, так зваш генератори 3BiTiB (Г3). Генератори звтв шнують як у виглядi само-cтiйниx програм, так i у виглядi генераторiв звiтiв, що вбудоваш в системи керування базами даних (СКБД) або середовища розробки. Серед останшх можна видiлити [3-6]: MS SQL Server, MS Access, 1С. Аналопчш шструменти e в Delphi та шших сере-довищах розробки. Однак, користуватися вбудовани-ми Г3 можна лише за умови, що i вся система по-будована на цiй СКБД, або за допомогою цього сере-довища розробки.
Серед Г3, яю е cамоcтiйними програмами, можна видшити [7-10]: MS SQL Server Reporting Services, Seagate Crystal Reports, VSREPORT, Report SharpShooter та шшь
До загальних недолтав використання icнyючиx Г3 можна вщнести те, що для 1х використання необхщш cпецiальнi знання в обласи iнформацiйниx техно-логiй та теори баз даних. I хоча людина, що при-ймае рiшення, е достатньо високо квалiфiкованою в свош предметнiй облаcтi, в облаcтi роботи з базами даних вона може не мати потрiбниx знань. Необхщ-шсть таких знань пов'язана з тим, що для отримання шформацп з бази даних необхщно побудувати SQL-запит на вибiркy для чого потрiбно знати не тшьки
саму мову SQL, а також необхщно знати структуру бази даних. Тому за вщсутносп таких знань очевидною стае необхщшсть звертатися до 1Т-спещал1ст1в, що шдвищуе варпсть та знижуе оператившсть.
Виходячи з вищенаведеного актуальною е задача розробки ГЗ, який би дозволив працювати з даними з БД в термшах предметно!' область Для цього, перш за все, необхщно розробити теоретичш основи такого ГЗ. Тому для виршення ще' задач1 нижче запропо-новано тдхщ до отримання шформаци з бази даних та ïï представлення, використовуючи лише термши предметно'! область Шд термшом предметно!' област розум1еться словесний опис riei' шформаци, яка збе-р1гаеться в баз1 даних та може бути отримана як результат виконання SQL-запиту.
1 ПРОБЛЕМА ПОБУДОВИ SQL-ЗАПИТУ НА ВИБ1РКУ
В мов1 SQL запит на виб1рку визначаеться оператором SELECT. Тод1 можна сказати, що проблема полягае в автоматичнш побудов1 SQL-запитiв SELECT, при умовi що користувач задае лише термiни предметно'' об ласт та вiдповiднi обмеження на них. Ршення цieï проблеми полягае в розробщ пiдходу до формування тако' службово' iнформацiï, та способу побудови запиту на основi ще!' iнформацiï, використовуючи якi ГЗ зможе автоматично будувати запити на вибiрку.
Запишемо загальний формат SQL-запиту на ви-бiрку [2], дещо спростивши його та отримаемо SQL-запит наступного виг ляду (1):
SELECT column_expression
FROM table_name
[WHERE condition [AND column_condition]] (1)
При побудовi багатотабличного запиту необхщно в операторi FROM вказати ва таблицi, що використо-вуються в запитi, а також промiжнi таблицi, через як проходить зв'язок мiж таблицями, що не пов'я-занi напряму, а в операторi WHERE необхiдно вказати як саме зв'язаш таблищ condition, а також умо-ви на значення полiв column_condition, як входять в column_expression. При виникненш помилок в побу-довi запиту можуть бути отриманi помилковi дань Наприклад, у випадку необхщноси виведення даних з т^в двох незв'язаних таблиць буде отримано де-картовий добуток вих значень поля з одше!' таблицi на всi значення поля друго' таблицi.
2 ПРИВ'ЯЗКА ДО БАЗИ ДАНИХ
Для надання можливост використання термШв предметно'' област при проведеннi обробки даних
пропонуеться робити одноразову прив'язку ГЗ до ба-зи даних. Для цього заповнюються таблиця прив'яз-ки (ТПр) термШв предметно'' област (ПО) до БД (табл. 1) та таблиця зв'язюв (ТЗв).
Таблиця 1 - Таблиця прив'язки mepMinie ПО до бази даних
Термш предметно' област1 Таблиця, в якш збер1гаються дан1 Назва поля в таблищ, яке вщповщае критерш
В таблищ ТЗв перший стовпчик та перший рядок - це назви таблиць, що е в базi даних та будуть використовуватися в запитах, а на перетиш стовпчи-ка з рядком, у випадку, коли е прямий зв'язок мiж таблицями, записуються поля таблищ, що знаходить-ся у верхньому рядку, та як пов'язаш з вщповщни-ми полями таблищ, що знаходиться в першому стовпчику. Поля таблиць оргашзуються у виглядi ма-сивiв. У випадку коли зв'язку немае, поле залиша-еться порожнiм. На дiагоналi знаходяться порожш поля.
Пiд прив'язкою ГЗ до БД буде розумиись запов-нення ТПр та ТЗв. Повною прив'язкою назвемо таке заповнення таблищ ТПр та ТЗв, виходячи з якого можна побудувати вiрний SQL-запит на вибiрку.
Множиною iмен таблиць буде називатись впоряд-кована множина потужшстю N, елементами яко'' е назви таблиць в базi даних TN = {TableName1, TableName2, ..., TableNameN}.
Шд вщображенням зв'язноси буде розумiтись C:TN х х TN ^ {0, 1}, де C(TableNamei, TableNamej) = 1 у випадку коли таблиця i зв'язана з таблицею j, та C(TableNamei, TableNamej) = 0 у протилежному випадку.
Матрицею зв'язносп C буде називатись N х N розмiрна матриця, яка в^тждае в^ображенню C, та кожен елемент яко'' вказуе на те, чи шнуе прямий зв'язок мiж таблицями. Ця матриця будуеться на ос-новi таблицi зв'язкiв замшою непустого поля на оди-ницю, а пустого на нуль.
Головною вимогою до прив'язки е ïï повнота, тоб-то прив'язка повинна гарантувати, що буде отримано вiрний запит.
Схему даних БД можна представити у виглядi зваженого графу G = ( V, E), де заметь таблиць слщ поставити вершини, а зашсть зв'язкiв мiж таблицями -ребра з одиничною вагою. Множина вершин V графу G буде дорiвнювати множит назв таблиць TN, а матриця сумiжностi A графу G буде вщповщати мат-рицi зв'язюв C (2).
V = TN, A = C. (2)
Тод1 пошук зв'язку Miœ таблицями БД можна ш-терпретувати як знаходження мШмального тдграфу H графу G, який буде мштити Bei вершини, що вщ-повщають таблицям, якi входять до запиту. Така задача ноеить назву зaдaчi про мiнiмaльне зв'язування [11].
Для отримання вipнoгo та однозначного запиту не-oбхiднo ieнyвaння однозначного зв'язку мiж таблицями. Адже, як було опиеано вище результатом вико-нання SQL-запиту, який побудовано по таблицях, що не зв'язаш напряму, та мiж якими не вказано зв'язок через terni таблищ, буде декартовий добуток зна-чень одного поля на значення другого. До того ж, якщо зв'язок е неоднозначним, тобто може pеaлiзoвy-ватиеь через piзнi таблищ, то з теорп побудови реля-цшних баз даних та реляцшно! алгебри буде елщу-вати мoжливieть побудови piзних зaпитiв, викорието-вуючи як будуть oтpимaнi piзнi pезyльтyючi дaнi з БД. Якщо розглядати вщповщний граф G, то це буде означати ieнyвaння веього одного ланцюгу мiж кожними двома вершинами та, як наелщок, одинич-нieть пiдгpaфy H.
3 теорп гpaфiв вiдoмo, що неoбхiднoю та доетат-ньою умовою для ieнyвaння мiж кожними двома вершинами тшьки одного ланцюгу е зв'язшеть вщповщ-ного графу, а також вщеутшеть циклiв, тобто вщпо-вщний граф повинен бути деревом [11, 12].
Виходячи з вищееказаного, елщ вщмиити, що для доведення повноти прив'язки ел^ визначити, чи е граф G, який вiдпoвiдae eтpyктypi БД та визнача-етьея матрицею eyмiжнoeтi A = C, деревом. Пере-вipкa цього факту проводитьея опиеаним нижче методом.
Метод пеpевipки того, що прив'язка е повною, можна poздiлити на три чаетини.
По-перше, виходячи з ТПр (табл. 1) та Т3в, елщ побудувати матрицю зв'язнoeтi C, метод побудови яко! опиеано вище, та визначити граф G, який буде вщповщати eтpyктypi даних БД предметно!' облаеть Як було показано рашше, матриця eyмiжнoeтi A буде дopiвнювaти мaтpицi зв'язнoeтi A = C.
По-друге, пеpевipити, чи е граф G зв'язним. Пе-pевipкa зв'язнoeтi графу G проводитьея виходячи з теореми [12], яка говорить, що граф G, який визна-чаетьея матрицею eyмiжнoeтi A, зв'язний тoдi i тшь-ки тoдi, коли Aij = 1 для вeiх його вершин i i j. Де A = I v A, I - мультиплжативна одинична матриця.
A = A v A ®2 v...v A ® n , A e k = A e k -1 ® A, A ®1 = A, k = TT«.
B = C v D означае Bif = Cij v Dif, де B, C, D -
ij ij ij
мaтpицi poзмipнieтю m x 5.
F = C ® E означае Fij = (Ci1 л E1j)v(Ci2 л E2j)v v ... v (Ci5 л Ej), i = 1, m, j = 1, p, де F, C, E - мат-рищ, яю мають poзмipнieть m x p, m x s, s x p вщпо-вщно.
Toдi, пеpевipкa зв'язнoeтi буде здiйeнювaтиeь таким чином:
1. Знайти матрицю A, викориетавши алгоритм Уоршолла [12];
2. Визначити матрицю A1 = I v A ;
3. ПегPевipити необхщну та доетатню умову зв'яз-ноеп A j = 1, i = 1, n, j = 1, n.
По-трете, y випадку зв'язноеп графу пеpевipити, чи е граф G деревом. Для цього елщ екориетатиея теоремою, яка говорить про те, що зв'язний граф е деревом у випадку, коли юльюеть його вершин бшьше на одиницю, шж юльюеть його ребер, тобто
|v| = E +1.
Та якщо граф G е деревом, то робитьея виеновок про те, що прив'язка е повною.
В гpaфi G напряму не задаш ребра, зв'язки мiж вершинами графу визначаютьея через матрицю зв'яз-нoeтi A. Для того, щоб екориетатиея згаданою вище теоремою, елщ визначити юльюеть ребер. Вона буде дopiвнювaти eyмi елеменпв мaтpицi A, якi знаходять-ея вище головно! дiaгoнaлi:
N - 1 N
\щ = XX AtJ. i = 2 j = i + 1
3 ПОБУДОВА ЗАПИТУ ДО БАЗИ ДАНИХ
Як було зазначено вище, оеновною проблемою при пoбyдoвi SQL-запиту е знаходження зв'язку мiж таблицями бази даних, що не зв'язаш мiж еобою напряму, та, виходячи iз знайденого зв'язку, формування аргуменпв oпеpaтopiв FROM та WHERE.
Поетановка ще! зaдaчi може бути запиеана на-етупним чином. Базуючиеь на ТПр, ТЗв, C та TN = (TableName1,TableName2,...,TableNameN) та виходячи з вх^них даних DIf = {(Tik,, condiki)|l = = 1, nF}, якими e обраш кориетувачем термши предметно! облаеп Tiki та задаш обмеження на них condiki, побудувати SQL-запит на вибipкy.
Метод ршення зaдaчi динaмiчнo! побудови запиту полягае в поел^овному розв'язку двох б^ьш дpiбних задач. По-перше, визначення пoлiв таблиць, що вiдпoвiдaють термшам предметно! oблaeтi, та формування column_expression i завдання умов на значення пoлiв column_condition в (1). По-друге, визначення зв'язку мiж таблицями та формування table_name i condition в (1). Дaлi розглянуто бшьш докладно поетановки та методи розв'язання цих задач.
Постановка nepmoï задач1 полягае в тому, що ви-ходячи з ТПр та DiF = {(Tik,, condiki)|l = 1, nF}, не-обх1дно визначити column_expression i column_con-dition.
Розв'язок qieï задачi полягае в сшвставленш кожному TepMiiy ПО Tiki з DIf вiдпoвiднo'ï назви поля ColumnNametiri та таблиц TableNameti з БД, яю знаходяться в ТПр. Шсля цього column_expression формуеться простим пepeлiкoм через кому назв вщ-пoвiдних пoлiв, а column_condition перелжом умов на значення визначених рашше пoлiв, якi записують-ся визначеним в мoвi SQL способом (3).
column_expression =
= TableNamet .ColumnNamet r ,
ti tiri
TableNamet .ColumnNamet r , ...,
TableNamet . ColumnName
tnFrnF '
column_condition = = condik^(TableNamett .ColumnNamet^x)AND condik2( TableNametColumnNamet^r) AND... AND condik (TableNamet .ColumnNamet r ).(3)
Однак, осюльки граф G e деревом можна запро-понувати пpoстiший пiдхiд для визначення шдграфу H. 1дея такого шдходу полягае в oбpаннi довшьно'' вершини vit e Q в якост кореня, та введення вщоб-раження нумерацп pred вершин графу G таким чином, що кожнш не кореневш вepшинi ставиться у в^пов^шсть iнфopмацiя про номер вершини, яка знаходиться вище, та з якою вона пов'язана (4). Та-ку вершину будемо називати батьювською. Осюльки G дерево, то задане таким чином вщображення pred однозначне:
pred:V\vit ^ [ 1;N], e V\vi , 3\pred(Vj) = i:(vi, Vj)e E.
(4)
Процес перенумерацГ', тобто визначення вiдoбpа-ження pred, проводиться по вершинах графу G до тих тр, доки не перенумероваш всi вершини з мно-жини Q. Тобто множина вершин, для яких задана нумеращя Vnum, та на яких буде визначено вщобра-ження pred, в загальному випадку е пiдмнoжинoю множини вершин V графу G (5). Множину нoмepiв вершин, якi складають множину припустимих зна-чень вщображення pred позначимо через U:
Наступним кроком формуеться множина назв таб-лиць Table_N = {TableNamet^l = 1, nF}, поля яких в^пов^ають обраним користувачем термшам ПО. Table_N буде використовуватись при розв'язку нас-тупно'' задачi.
Постановку друго'' задачi можна записати наступним чином. Виходячи з Table_N, C та TN визначити зв'язок мiж таблицями та сформувати table_name i condition в (1).
Як вiдмiчалoсь рашше, пошук зв'язку мiж таблицями БД можна штерпретувати як розв'язок задачi про мШмальне зв'язування в теорп гpафiв. В цьому випадку постановку друго'' задачi можна переписати наступним чином: для графу G = (V, E) необхщно визначити частковий тдграф H = ( V' , E'), який буде мштити вказанi в деякш мнoжинi Q = Table_N вершини з найменшою сумарною вагою ребер. Та, ви-користовуючи пiдгpаф H, TN та ТЗв, визначити table_name i condition в (1). Сл^ вiдмiтити, що
IQI > 1.
В загальному випадку першу частину цieï задачi пропонуеться розв'язувати шляхом виpiшeння задачi про найкоротший ланцюг для вершин множини Q, вказуючи як джерело по чepзi кожну вершину Vq e Q [11]. Тoдi для кожно'' вершини vV e V будуть обра-хoванi Q| чисел - вдатаней вiд Vq e Q. Просуму-вавши ''х для вих вершин, визначаеться вершина з найменшою сумою. Через не'' вершини з Q з'едну-ються найкоротшими шляхами, що й дае розв'язок поставлено'' задачь
Vnum E ^ pred : Vnum ^ ^ ^Vj e Vn
3\pred(Vj) = i:(vi, Vj) e E.
(5)
Далi вводиться в^ображення poзмiтки вершин mark, що визначено на множиш вершин Vnum ç V та дае одиницю, якщо вершина Vs e Vnum е частиною ланцюгу Pi it, який з'еднуе вершину V^ e Q та кореневу вершину Vi , та нуль в протилежному випадку (6). У випадку коли mark( Vs ) = 1 будемо казати, що вершина Vs e Vnum позначена, в протилежному випад-ку - не позначена.
<mark(Vs) = 1 Vs e Pi i, ;
mark: Vnum ^ {0;1}, \ ,( ) . Dk1 (6)
\mark(Vs) = 0, Vs <t Pikit.
Процес визначення вiдoбpажeння розмики проводиться по всiх вершинах V^ e Q, яю ще не були поз-начеш, та проводиться вверх до першо' на шляху позначено'' вершини. Ви iншi вершини вважаються не позначеними. Тoдi граф, який складаеться з вах позначених вершин графу G, i буде шуканим пiдгpа-фом H.
Описаний споиб peалiзyeться двома пoслiдoвнo виконуваними алгоритмами: алгоритмом нумераци графу G (рис. 1) та алгоритмом розмики графу G i знаходження H. Шсля цього, виходячи з H, TN та ТЗв можна сформувати table_name i condition. Алгоритм формування table_name i condition буде мштити кроки, яю аналопчш тим, що використовуються
n
F
F
F
FF
^ Початок
)
а = а w=A
V, eg, а = ач,
v1mm = {vi),k = 2 i
Vvj е f^1 визначаютъся
(Кшк,
k = k +1
©
W(f) = 0
+
yk ЯШ» Tji,
а=а\С
= 0 гтак
V mm U
(D ©
© © © © ©
I
Кшець
Рисунок 1 - Блок-схема алгоритму нумерацп
b aëropHTMi po3MiTKH, TOMy flopeHHHM 6yfle 06'eflHaTH qi aëropHTM b oflHH. ^h aëropHTM 6yfle MaTH Ha3By aëropHTM poçMiTKH Ta ôopMyâaHHfl table_name i condition (pèc. 2). Cëifl 3a3HaHHTH, ùo ocêiëbKH rpaô G Biflnoâiflae Bcié cxeMi flaHHx B^, to niflrpaô H Biflnoâiflae nacTHHi cxeMH flaHHx B^,. Цe oçHanae, ùo ocêiëbKH TN = V, a V'c V, to V c TN. noçHaHHMo TN' = V MHoœHHy iMeH Ta6ëHqb B^, nepeç flêi He-o6xiflHo no6yflyâaTH 3b'a3ok b SQL-çanmi, flëfl éoro BipHo'i peaëi3aqi'i. MioœHHa pe6ep E' 6yfle BiflnoâiflaTH MHoœHHi 3â'fl3KiB Miœ Ta6ëHqflMH 3 TN'.
^oflaTKoâo flo BBefleHHX no3HaneHb b qèx aëropHT-Max 6yflyTb BHKopècToByBaTHcb HacTynHi. MaTpèqfl W, flKa nepefl nonaTKoM po6oTH aëropHTMy flopiBHroe MaT-pèqi cyMiœHocTi A rpaôy G, W (i ) 6yfle o3HanaTH i-Ty cTpoêy MaTpèqi W, a Wj - eëeMeHT MaTpèqi W, akhh 3HaxoflHTbca b i-My pflflêy Ta j-My cToBnHHKy. Mhoxh-Ha Qj, AKa 6yfle cKëaflaTHcb 3 thx BepmHH mhoxhhh Q, flêi Ha flaHoMy Kpoqi npoâefleHHfl nepeHyMepaqiï Ta po3MiTKH He 6yëH noMinem. 3MiHHi temp Ta tempi, flêi 6yflyTb BHKopècToByBaTHcb flëfl THMHacoBoro 36epiraHHfl
HoMepy BepmHHH. MioœHHa BepmHH Vum 3 o6ëacTi BH3HaneHHfl Biflo6paœeHHfl pred, flêi 6yëH BH3Hanern Ha
k-é iTepaqiï, a MHoœHHa npènycTHMHx 3HaneHb - Uk. Tofli o6ëacTb BH3HaneHHfl Ta MHoœHHa npènycTHMHx
Рисунок 2 - Блок-схема алгоритму розмтки та формування table_name i condition
значень в^ображення pred визначаеться через
k тт rrk
V
num ^^ Vnum, U ^^ U
k k
Використавши отримаш в (3) column_expression i column_condition, а також сформованi в результат виконання алгоритму table_name i condition можемо записати SQL-запит у виглядi (1).
ВИСНОВКИ
Запропонований шдхщ до отримання шформаци з бази даних та ïï представлення в термшах предметно' областi мае наступнi переваги:
1. При коректному формуванш таблиць прив'язки та зв'язюв можна обшти недолжи, яю були зроблеш при проектуванш бази даних;
2. Даний шдхщ гарантуе в1ршсть побудови склад-них запипв та тдвищуе оператившсть отримання не-обхщно!' шформаци;
3. Виключае необх1дшсть для користувача во-лодшня спещальними шформацшно-техшчними знан-нями та дозволяе зосередитись на вир1шенш задач управлшня.
ПЕРЕЛ1К ПОСИЛАНЬ
1. Голышев Л. К. Сложные системы с развитой функцией информационно-аналитической поддержки управления. Элементы теории, методологии, практики / Л. К. Голышев. - К. : 2001. - 253 с.
2. Коннолли Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика / Т. Коннолли, К. Бегг, А. Страчан. - М. : «Вильямс», 2000. -1120 с.
3. Microsoft SQL Server 2008 [Електронний ресурс]. Електрон. текстов! дат. - Режим доступу: www. microsoft. com/SQL/default.mspx. - Wednesday, 15 April, 2009.
4. Microsoft Office Access 2007 [Електронний ресурс]. Електрон. текстов! дан1. - Режим доступу: http://of-fice.microsoft.com/ru-ru/access/default.aspx. - Wednesday, 15 April, 2009.
5. Праг К. Н. Microsoft Access 2000. Библия пользователя / К. Н. Праг, М. Р. Ирвин. - М. : Диалектика, 2001. - 1039 с.
6. 1С: Предприятие [Електронний ресурс]. Електрон. текстов! дан!. - Режим доступу: http://www.1c.ru/. -Wednesday, 15 April, 2009.
УДК 681.326
7. Microsoft SQL Server 2008: Reporting Services [Електронний ресурс]. Електрон. текстов! дат. -Режим доступу: http://www.microsoft.com/sqlserver/ 2008/en/us/reporting.aspx. - Wednesday, 15 April, 2009..
8. SAP BusinessObjects. Crystal Reports [Електронний ресурс]. Електрон. текстов! дан!. - Режим доступу: http://www.sap.com/solutions/sapbusinessobjects/ sme/reporting/crystalreports/index.epx. - Wednesday, 15 April, 2009.
9. The VSReport Designer. [Електронний ресурс]. Електрон. текстов! дан!. - Режим доступа: http://help.glo-balscape.com/help/eft5/arm/the_vsreport_desig-ner.htm. - Wednesday, 15 April, 2009.
10. Flexible reporting to leverage your Business Intelligence capabilities [Електронний ресурс]. Електрон. текстов! дан!. - Режим доступу: http://www.perpet-uumsoft.com/Product.aspx?lang=en&pid=21. - Wednesday, 15 April, 2009.
11. Касьянов В. H. Графы в программировании: обработка, визуализация и применение / В. Н. Касьянов, В. А. Евстигнеев. - СПб. : БХВ-Петербург, 2003. - 1104 с.
12. Андерсон Дж. А. Дискретная математика и комбинаторика: Пер. с англ. / Дж. А. Андерсон - М. : Вильямс, 2003. - 960 с.
Надшшла 23.02.2009 Шсля доробки 11.05.2009
Предложен подход к получению информации из базы данных и ее представлению в терминах предметной области. В состав этого подхода входят метод привязки к предметной области и метод построения запроса к базе данных в терминах предметной области.
The approach to information obtaining from database and its representation in the terms of data domain was proposed. This approach is represented by the method of data domain binding and the method of query construction in data domain terms.
А. С. Шкиль, Е. Е. Сыревич, Д. Е. Кучеренко, Самер Альмадхоун
МЕТОД ОБРАТНОГО ПРОСЛЕЖИВАНИЯ ДЛЯ ПОИСКА ОШИБОК
ПРОЕКТИРОВАНИЯ В ИОЬ-КОДЕ
В данной статье были рассмотрены методы поиска ошибок проектирования в неструктурированном HDL-коде. Разработан метод обратного прослеживания. Проведен эксперимент над HDL-моделью цифрового устройства с использованием данного метода.
1 ПОСТАНОВКА ЗАДАЧИ
Верификация цифровых проектов, то есть аппаратных или встроенных аппаратно-программных систем, описанных на языке описания аппаратуры (Hardware Description Language - HDL), является важной задачей в процессе проектирования цифровых устройств. Часто более 70 % времени разработки затрачивается на поиск и исправление ошибок в проекте. Целью данной работы является разработка методов поиска дефектов/ошибок проектирования в
© Шкиль А. С., Сыревич Е. Е., Кучеренко Д. Е., Самер Альмадхоун,
неструктурированном HDL-кoдe, позволяющих сократить время проведения диагностического эксперимента и уменьшить длину диагноза. Исходя из вышесказанного, необходимо решить задачу адаптации метода обратного прослеживания при верификации HDL-мo-дели и провести диагностический эксперимент по поиску ошибок проектирования в рамках верификации [1].
2 АНАЛИЗ МЕТОДОВ ПОИСКА ДЕФЕКТОВ ПРИМЕНИТЕЛЬНО К МОДЕЛЯМ ЦИФРОВЫХ УСТРОЙСТВ
В данной работе аналогично понятию дефект используется понятие ошибки проектирования. Диагно-2009