Методы и средства инженерии программного обеспечения


Формальное описание данных в ЯП и их преобразование


Основными ЯП, используемыми для описания компонентов для  распределенной  сети, являются С++, Паскаль,  JAVA и др.

При обращении разноязыковых  компонентов устанавливается взаимно однозначное соответствие между  фактическими параметрами V= { v1,v2

,...vк} вызывающего компонента  и   формальными    параметрами  F = { f1, f2 , ..., fк1} вызываемого компонента, а также  строится отображение (mapping) типов данных одного ЯП в соответствующие типы другого ЯП.

В  общем  случае   задача отображения  А: Пà Ф  для множеств параметров V и F состоит в построении:

                          П =  { V1, V2 ,..., Vm  } ,     Ф  =  { F1, F2 ,..., Fm }         

                       m

                      È V t = V ,              Vt  Ç Vt¢  =  Æ      при  t £ t¢

                      t=1

                                  m

                       È F t = F ,              Ft  Ç Ft¢  =  Æ        при   t = t¢

                       t=1

Построение отображения  выполняется за два этапа.

1) Построение операций преобразования типов данных T a = {Tat}   для множества языков  L = {la }a=1, n

.

2) Построение отображения типов данных для каждой пары взаимодействующих компонентов в  ЯП  la1  и la2  с  применением  операций селектора S и конструктора  С.

Для проведения формализованного преобразования   типов  данных используется  алгебраический  подход, при котором каждому  типу  данных Tat  ставиться    в соответствие алгебраическая  система

            Gat = <Xat

, Wat

>,

 где   t – тип данных,  Xat – множество значений, которые  могут  принимать  переменные  этого  типа данных,  Wat – множество операций над этими типами данных.

Для   простых типов данных  ЯП  t = b (bool), c (char),  i (int),  r (real)

и   сложных типов данных t =  a (array),   z (record), u (union), e (enum),  как комбинация простых типов данных,   построены две алгебраические системы:




- Начало -  - Назад -  - Вперед -