ConceptBase
Последнее изменение этой страницы: 22:55, 25 июня 2016.
![]() All 4 MOF levels for Entity-Relationship Diagrams displayed in the ConceptBase Graph Editor | |
Разработчики: | Team at University of Skövde (HIS) and University of Aachen (RWTH) |
---|---|
Лицензия: | FreeBSD-style license [1] |
Веб-сайт |
conceptbase |
ConceptBase - это дедуктивная и объектно-оринтированная система управления базой данных разработанная в Университете Ахена и Тильбургском Университете. В основном используется для концептуального моделирования и метамоделирования в сфере программного проектирования и соответствующих сферах.
Содержание
Общее
ConceptBase имеет следующие особенности:
- Объектно-оринтированные концепты, такие как классы и наследование
- Правила дедукции заданные движком Datalog
- Рекурсивное определение функций
- Активные правила, соответствующие парадигму "событие, условие, действие"
- Метамоделирование с множеством произвольных уровней абстракции (метаклассы, мета метаклассы)
Определение нотации
В conceptbase метамодель это коллекция связанных метаклассов. Их экземпляры (обычные классы) относятся к модели.

Метамодель и модель заданы синтаксисом простого текстового фрэйма. Например, поток документов на уровне мета-класса может быть задан так:
Agent with
attribute
delivers: Agent
end
Agent!delivers with
attribute
content: Document
end
Document end
Бизнес модель нотации

Другой пример определения нотации с conceptbase это бизнес модель. Бизнес модель определяется так:
Customer isA BMG_Object end
Revenue isA BMG_Object end
CustomerRelationship isA BMG_Object end
Channel isA BMG_Object end
ValueProposition isA BMG_Object end
KeyActivity isA BMG_Object end
KeyResource isA BMG_Object end
Cost isA BMG_Object end
KeyPartner isA BMG_Object end
Метамоделирование
Conceptbase поддерживает OMG UML инфраструктуру [2] уровня абстракции (M0=data level, M1=model or schema level, M2=notation level, M3=notation definition level и так далее и использует единственную структуру данных — P-факт, используемую для представления любой фактической информации. Однако conceptbase не разделяет постулат OMG о том, что между уровнями абстракции разрешены только ссылки инстанциирования. M3 уровень выглядит так:
Concept with
attribute
singleDef: Concept;
necessaryDef: Concept
end
Объект Concept задает два атрибута-категории singleDef и necessaryDef, которые используются для захвата некоторых объектов со второго уровня. Второй уровень задает язык сущность-отношение:
Concept EntityType with
attribute
attr: Domain;
key: Domain;
superType: EntityType
end
Concept RelationshipType with
attribute
role: EntityType;
"1..n": EntityType;
"2..n": EntityType;
"1..1": EntityType;
"0..1": EntityType;
"0..2": EntityType;
"0..n": EntityType;
"n..m": EntityType
end
Datalog-based язык ограничений позволяет захватывать семантику нотации нижнего (второго) уровня. В этом случае "0..1" определены так, чтобы разрешать максимум одно отношение.
Class RelationshipType with
constraint
ic_max1: $ forall A/RelationshipType!"0..1" a1,a2,r/Proposition
(a1 in A) and From(a1,r) and
(a2 in A) and From(a2,r)
==> (a1 = a2) $
end
Уровень M1 используется для представления примеров сущность-отношение диаграм. Определения, представленные ниже используют то же текстовое frame-like представление. Это формат принятый сервером ConceptBase в программном интерфейсе. Некоторые клиенты могут генерировать фрэймы из входных данных пользователя и выдавать графическое представление, оптимизированное для соответствующей нотации.
EntityType Staff with
attr
name: String;
hired: Date;
salary: Integer
attr,key
staffno: Integer
end
RelationshipType employs with
role, "0..n"
employee: Staff
role, "1..1"
employer: University
end
...
Наконец, уровень M0 используется для валидации примеров диаграмм с некоторыми данными. Следует отметить, что некоторые дефиниции из уровня M2 могут быть проверены только на уровне данных.
employs emp3 with
employee
who: kurt
employer
where: RWTH
end
Примечания
Ссылки
- ConceptBase. (2016, May 31). In Wikipedia, The Free Encyclopedia. Retrieved 19:56, June 25, 2016, from https://en.wikipedia.org/w/index.php?title=ConceptBase&oldid=722987468
- Официальный сайт
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.