Приложение на CORBA



Начало
Общи сведения за CORBA
OMG и архитектура на CORBA
Обектен модел на CORBA
Езикът IDL
Проект BioStandards
Приложение на CORBA в пациентските регистри
Приложение на CORBA в телероботиката
 
 

Условни означения в езика за интерфейсни дефиниции (IDL)


   При проектирането на IDL стремежа на създателите е бил да са последователни и да се придържат към известен брой условности за именуване и употреба. Тези условности са изброени и обяснени по-долу.

   Терминология: Много имена се изписват смесено с малки и главни букви, като е без значение дали самото име започва с малка или с главна буква, напр. MixedCaseUpperWord и mixedCaseLowerWord.

Забележка: Тъй като в текущия IDL тези условности са непълни, то те най-вероятно ще търпят промени (особено онези, касаещи множественото число, константите и изключенията).

Общо

     всички IDL файлове имат включени в тях коментари, които могат да бъдат обработвани от hidl или подобни имструменти, извикаващи документация подобна на тази дадена от javadoc

     Всички IDL файлове, за които трябва да бъде избегнато многократното им включване, започват с твърдение, заградено в квадратни скоби
Пример:

[съдържание на файла]

     Има изключения при именуването със съкращения за акроними като DNA.

#pragma директиви

не се използват #pragma директиви. Директивата "#pragma" се използва за задаването на различни опции на компилатора. Тези опции зависят от платформата и компилатора, който се използва. Въпреки, че версията pragma би била много полезна, бяха срещнати затруднения с нея, като например това, че не всички IDL компилатори я обработват коректно.

#include директиви
използват се само за "types.idl"

Модули
името на модула отговаря на домейна при описанието в IDL и е подобно или същото като името на файла. Те се изписват с малки букви.
Пример:
  module taxonomy { ... 
enum
за момента не се използват в idl ; виж константи

Константи

В текущия IDL, те приемат ролята на enum тъй като те предлагат по-голяма гъвкавост. Те са смесени с малки и главни букви и със суфикс "_Xtc".
Пример:

 const long PhysicalSegment_ltc = 2;
    ("location type code for PhysicalSegment") 

Типовете integer
Повечето типове integer са от тип long, тъй като няма необходимост да се оптимизира тази дължина на данните.

Изключения

те се използват изключително широко като сигнал за отсъствието на резулата от някоя иначе правилна заявка. В съответствие със системните изключения на CORBA, техните имена са изцяло с главни букви.
Пример:

exception NO_RESULT { string reason}; 

Съгласувания типове и имена в множествено число.

за съжаление в IDL има ключова дума sequence, с която се обозначава изброяването на няколко неща. Биологичните последователности се наричат BioSeq, NucSeq и т.н. По тази причина не се възприема практиката да се формира множественото число чрез добавянето на "Seq". Поради тази причина съгласуванията на типове в CORBA се дефинират (typedef ) като техните граматично коректни множествени числа. При множественото число на структурите (struct) и обединенията (union), те губят съответните си наставки _s и _u (виж по-долу)

Интерфейси
те се изписват смесено с малки и главни букви. Така изглежда общо програмно приложение на Java i C++
Пример:
interface NucSeq {... 

Атрибути
атрибутите не се използват , тъй като те не позволяват допускането на специфични изключения. Вместо това са дадени методите getAttribute().

Методи
те се изписват смесено малки и главни букви според общата употреба. Парамертите са с малки букви, разеделени с "_" (долна подчертавка)
Пример:
NucFeature getNucFeature(in string
    feature_key); 

структура

структурите се именуват Something_s, т.е. обяснително име, започващо с главна буква с добавена наставка "_s" Причината за това е те да бъдат направени различими като структури в езиковия mapping на Java, който ги третира като обекти (оттук и главните букви). Във формата за множествено число наставката "_s" изчезва.
Пример:

 struct DbXref_s {
string primary_id;
};

структура и обединение
Изписват се със малки малки букви и думите се разделят с _ (долна подчертавка)
Пример: виж по-горе

Обединение

Обединенията се използват относително широкo в IDL. Намеренията са те да бъдат ограничен тип any, а именно данни, които знаят собствения си тип. Типът винаги е даден като type code, дефиниран като константа (виж по-горе). Те са именувани като струкатура, но имат наставка "_u". Тази наставка изчезва, когато има множествено число

<<back | next>>