Abstract
This article presents a formal description of object models in terms of a unified object-oriented metamodel for database applications, developed by the author and independent of the domain. Described metamodel is implemented by the author in own development environment which called SharpArchitect RAD Studio. In the beginning of the article the available works of similar subjects are thoroughly analyzed. Analysis have revealed that most authors use the set theory and predicate calculus for representation of the elements of object-oriented programming languages and design of object models. The same approach is used in this article. This article presents a metamodel, developed by the author for the design and implementation for object-oriented database applications. Attention is paid to the hierarchy of the classes presented in the application domains. Also the composition and structure of classes that allows to present both atomic literal types and classes of attributes which values are the instances of classes and collection of copies are described in detail. Attention is paid to the implementation of the dynamic component by description of methods (with support of the parameters) and present classes events. The formal approach to the description of the models for any application domains are proposed on the basis of the metamodel with using of set theory. The unified model of testing of objectoriented applications development tools was developed for the analysis of the applicability of the proposed approach. Optimality criteria of this model as well as its implementation in C# with the representation of all main classes presented in it are described. The proposed formal approach has been tested on the described model. Domain classes, attributes, associations and whole hierarchies have been described. It allowed to confirm the validity of the proposed formal solution. In conclusion the assumptions about the directions of further development of the proposed approach are made.
Highlights
Информатика и вычислительная техникаИспользуемой для представления сущностей предметной области, является абстрактный метакласс Class, имеющий два унаследованных: 1) InheritableClass – используется для представления метаклассов, которые могут быть наследуемыми, т.е. поддерживают наследование; 2) NotInheritableClass – применяется для представления метаклассов, которые не могут быть унаследованы.
В общем случае для описания всех классов предметной области (DC) используется множество, элементами которых является кортеж и описываемое как DC = {(ATT, BCdc, M, E, VLR, VSR, BHC, R)},.
Часто используется для организации отношений ассоциаций; EnumAttribute – перечисляемый / множественный атрибут, используется для хранения значения перечисления / множества; FileDataAttribute – файловый атрибут, используется для сохранения содержимого файла; GeneratedAttribute – сгенерированный атрибут, применяется для представления атрибутов, которые автоматически генерируются системой; GeographyAttribute – географический атрибут, используется для представления географических координат; GeometryAttribute – геометрический атрибут, используется для хранения геометрических объектов; HelperClassAttribute – вспомогательно-классовый атрибут, используется для сохранения экземляров вспомогательных классов, для реализации вычислений; HyperLinkAttribute – гиперссылочный атрибут, значением которого является гиперссылка; ImageAttribute – графический атрибут, используется для сохранения изображений; IntAttribute – целочисленный атрибут, применяется для хранения целочисленных значений; LogicalAttribute – логический атрибут, используется для хранения булева значения (0 или 1); MetaModelClassAttribute – метамодельно-классовый атрибут, применяется для сохранения экземпляра описания класса; MoneyAttribute – денежный атрибут, применяется для сохранения значений в валюте; ObjectAttribute – объектный атрибут, используется для сохранения объекта любого типа; StringAttribute – строковый атрибут, применяется для сохранения строки текста; SymbolAttribute – символьный атрибут, используется для сохранения символа; TextAttribute – текстовый атрибут, применяется для сохранения текста неограниченной длины с форматированием; TimeAttribute – временной атрибут, используется для хранения времени; TypeAttribute – типовый атрибут, применяется для сохранения названия типа данных.
Summary
Используемой для представления сущностей предметной области, является абстрактный метакласс Class, имеющий два унаследованных: 1) InheritableClass – используется для представления метаклассов, которые могут быть наследуемыми, т.е. поддерживают наследование; 2) NotInheritableClass – применяется для представления метаклассов, которые не могут быть унаследованы. В общем случае для описания всех классов предметной области (DC) используется множество, элементами которых является кортеж и описываемое как DC = {(ATT, BCdc, M, E, VLR, VSR, BHC, R)},. Часто используется для организации отношений ассоциаций; EnumAttribute – перечисляемый / множественный атрибут, используется для хранения значения перечисления / множества; FileDataAttribute – файловый атрибут, используется для сохранения содержимого файла; GeneratedAttribute – сгенерированный атрибут, применяется для представления атрибутов, которые автоматически генерируются системой; GeographyAttribute – географический атрибут, используется для представления географических координат; GeometryAttribute – геометрический атрибут, используется для хранения геометрических объектов; HelperClassAttribute – вспомогательно-классовый атрибут, используется для сохранения экземляров вспомогательных классов, для реализации вычислений; HyperLinkAttribute – гиперссылочный атрибут, значением которого является гиперссылка; ImageAttribute – графический атрибут, используется для сохранения изображений; IntAttribute – целочисленный атрибут, применяется для хранения целочисленных значений; LogicalAttribute – логический атрибут, используется для хранения булева значения (0 или 1); MetaModelClassAttribute – метамодельно-классовый атрибут, применяется для сохранения экземпляра описания класса; MoneyAttribute – денежный атрибут, применяется для сохранения значений в валюте; ObjectAttribute – объектный атрибут, используется для сохранения объекта любого типа; StringAttribute – строковый атрибут, применяется для сохранения строки текста; SymbolAttribute – символьный атрибут, используется для сохранения символа; TextAttribute – текстовый атрибут, применяется для сохранения текста неограниченной длины с форматированием; TimeAttribute – временной атрибут, используется для хранения времени; TypeAttribute – типовый атрибут, применяется для сохранения названия типа данных.
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control & Radioelectronics
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.