1. Понятия и принципы реализации

    1. Принципы заполнения концептуальной схемы

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

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

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

  • описание классов (типов) сущностей в проблемной области;

  • описание понятий, менее подверженных изменениям;

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

Необходимо придерживаться таких принципов концептуальной схемы: принцип 100 % и прин­цип концептуализации.

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

Язык концептуальной схемы должен позволять описывать любое множество общих правил про­блемной области в концептуальной схеме. Для этого некоторые правила можно описывать процедурно.

Если возникает необходимость расширять или модифицировать общие правила проблемной обла­сти, то желательно все их поместить в концептуальную схему.

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

  1. Принципы описания проблемной области

Теоретической основой описания проблемной области является интерпретируемая формальная система логики. Разработка такой формальной системы логики для описания проблемной области требует:

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

  • обеспечения конечного набора эффективных правил (алгоритмов), определяющего, какие строки символов являются правилами построения и, в частности, какие правильно построенные строки сле­дует рассматривать как предложения;

  • обеспечения конечного набора эффективных правил, определяющих, является ли данное пред­ложение аксиомой;

  • обеспечения конечного набора эффективных правил, определяющих, может ли данное предло­жение быть непосредственнно выводимым из данного множества предложений;

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

В данном контексте аксиома определяется следующим образом.

аксиома: Любое предложение с точным содержанием, утверждаемое в качестве такового автори­тетным источником.

Аксиомы и правила вывода выбираются так, чтобы:

  • каждая аксиома интерпретировалась как истинное утверждение о проблемной области;

  • каждое предложение, непосредственно выводимое из множества предложений, интерпретиро­ванных как истинные утверждения о проблемной области, само интерпретировалось как истинное утверждение о проблемной области.

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

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

  1. Абстрактный синтаксис для концептуальной схемы и информационной базы

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

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

функтор: Лингвистический объект, который обозначает функцию от других лингвистических объектов, имеющую в качестве аргументов (вход) список лингвистических объектов и выдающую в качестве значения (выход) единственный уникально определенный лингвистический объект.

Термы и предложения могут включать в себя переменные.

переменная: Терм, который обозначает неконкретизированную сущность в проблемной области.

  1. Семантика концептуальной схемы и информационной базы

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

Предложение выражает истинное высказывание, если оно утверждает, что состояние проблемной области — такое-то, и оно действительно является таковым.

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

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

  1. Принципы составления концептуальной схемы

При рассмотрении принципов составления концептуальной схемы и информационной базы сле­дует решить три воспроса:

  • что входит в концептуальную схему?;

  • каковы возможности информационного процессора?;

  • как информационный процессор работает с концептуальной схемой?

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

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

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

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

  1. Трехуровневая архитектура

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

Эти внешние интерфейсы описываются во внешних схемах.

внешняя схема: Определение форм внешнего представления для возможных совокупностей пред­ложений в пределах представления конкретного пользователя, а также аспектов манипулирования этими формами.

Внешний интерфейс — это фактически интерфейс между пользователем в среде и информацион­ной системой.

Второй тип интерфейса — это интерфейс между пользователем и информационной системой. Он связан со следующими аспектами:

  • формы внутреннего (физического) представления информации;

  • эффективность работы программ и механизмы эффективного доступа к хранимым данным;

  • управление параллельным использованием, восстановлением после сбоев и т. д.

Эти интерфейсы определяются во внутренних схемах.

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

Внутренний интерфейс — это интерфейс между информационной системой и средствами управ­ления данными в компьютере.

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

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

Это конкретное внешнее представление описано во внешней схеме, соответствующей данному прикладному процессу. Такая внешняя база данных является виртуальной, отображаемой на информа­ционную базу (или соответствующую ее часть). Это подразумевает, что информационная система дол­жна обрабатывать:

  • «интеграцию» действий различных пользователей;

  • отображение их внешних представлений в общее (концептуальное) представление, известное информационной системе.

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

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

К самой внутренней базе данных доступ осуществляется с помощью средства управления внеш­ней памятью компьютерной системы.

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

Представления пользователей можно объединить в концептуальную подсхему. Концептуальная схема в информационной системе представляет собой «объединение» этих различных концептуальных подсхем. На концептуальном уровне формы представления несущественны.

На внешнем уровне определяются формы представления, удобные для пользователя. Они описы­ваются во внешних схемах. Каждое представление пользователя (концептуальная подсхема) отобража­ется в одну или более внешних схем, определяющих соответствующие формы представления, каждая из которых описывает внешнюю базу данных, существующую в пределах представления этого пользо­вателя, хотя и в виртуальной форме.

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

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