?

Log in

No account? Create an account
Acme Framework (ru_acme)

Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2007-02-19 22:38
Subject: Model API
Security: Public
Tags:api, model
В сегодняшней статье представлен один из вариантов API для работы с Моделью данных.

И — сюрприз! — в комплекте есть даже прототипчишко.

Что касается операций с объектами, то мне в них не нравится многословность. Есть идеи?
Читать дальше...Свернуть )
Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2007-01-15 01:46
Subject: Фасетная классификация
Security: Public
Tags:ddl, facet, model, use case
Недавно _kleptos_ опубликовал размышления о фасетной классификации у себя и в ru_acme.

А сейчас я, кажется, придумал, как нам объединить communiwarish модель (объект, связь) с ФК без усложнения модели. Более того, решается проблема дублирования объектов реального мира в качестве разных значений разных фасетов.

см. описаниеСвернуть )
(кросс-пост: neithere, ru_acme)
Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2007-01-15 01:36
Subject: Модель данных в Акме
Security: Public
Music:КИНО — Твой номер
Tags:ddl, model
Мы используем модель данных, в основном заимствованную из Communiware. Суть её сводится к наличию двух метаклассов: объект и связь. Объекты содержат атрибуты (название, описание и др). Связи описывают отношения между объектами.

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

Связь, как правило, бывает направленной: одна сторона связи считается активной, другая — пассивной.
Нередко связь подразумевает роль; чаще всего имя связи включает в себя глагол или глагол+существительное («является»+сущ.).
ПримерыСвернуть )
Post A Comment | | Ссылка



kleptos posting in Acme Framework (ru_acme)
User: _kleptos_
Date: 2007-01-12 03:56
Subject: Фасетная классификация.
Security: Public
Music:Eminem - Encore Album
Tags:ru_acme_x_post
Задача: Рассказать о фасетной классификации и предложить способы улучшения. Зафиксировать идеи о фасетах и их возможном применении в acme.


Фасеты - устоявшийся способ выражения знания о связях между сущностями в доступной машинной обработке форме.

Фасет состоит из описания классифицируемой характеристики и конкретного значения.

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

Как можно узнать из статьи о графах в Русской Википедии, ограф это пара множеств (V, E), где V множество вершин, а E множество направленных связей между ними.
Для особо въедливых, упорядоченная пара (v1, v2).

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

Но этого недостаточно, такие фасеты не далеко ушли от тегов, со всеми их проблеммами масштабируемости.

Один из проверенных временем способов масштабирования различных способов идентификации - иерархия.

Мне в голову не приходит ни один разумный способ использования иерархичных формальных деклараций фасетов ( ФасетА со значением B наследует от ФасетаZ ). Поэтому сейчас я сосредоточусь на иерархии фактически значений.

Было-бы удобно, если-бы какой-то обобщённое значение фасета включало в себя более конкретные. Например, фасет “Semantic Web” включает в себя “Semantic Wiki”. Тоесть связь subject of “PageA” is “Semantick Wiki” так-же означает, что subject of “PageA” is “Semantic Web”.
Это избавит конечных пользователей от необходимости вводить дополнительную и очевидную для них информацию и, я надеюсь, уменьшит количество неточной, неполной и ошибочной метаинформации.

Правда в таком подходе есть один подводный камень.
В каких случаях значение Semantic Wiki должно входить в множество Semantic Web? Только для фасета subject? Или для всех случаев?
Первый вариант кажеться мне более разумным.

Однако нужно подчеркнуть, что он усложняет модель. Фактическое значение фасета это уже не только ссылка на другую сущность, теперь что-бы одназначно идентифицировать значение фасета нужна пара “тип фасета” + “ссылка на сущность”.

Перефразируя, для фасета (контекста?) subject значение Semantic Wiki наследует от Semantic Web. Но вне этого фасета Semantic WIki и Semantic Web могут быть никак, формально, не связаны.

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

В любом случае, если вам есть что сказать, или вы что-то хотите уточнить, велкам в комменты.
Я намерен основательно обкатать эту идею прежде чем пускать её продакшн.

x-post in ru_acme, _kleptos_
3 Comments | Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2007-01-01 09:40
Subject: Диаграммы последовательности
Security: Public
Mood:creative
Tags:chart, future, overview
В прошлый раз мы кратко ознакомились с внутренним устройством Акме 0.8. Разумеется, одной диаграммы классов маловато. Ею не будешь сыт. Поэтому цель постновогоднего поста — показать, как вертятся наши шестеренки. Для этого под катом сидят диаграммы последовательности. От них можно оттолкнуться в проектировании системы.

(Внимание: эти диаграммы не описывают Акме 0.8, а лишь основываются на ней)

Первая диаграмма демонстрирует общую цепочку действий:

Диаграмма последовательностиСвернуть )

Вторая диаграмма является более полной версией первой диаграммы. Здесь добавлен вызов действия из шаблона:

Диаграмма последовательности (+вторичный контекст)Свернуть )

Разумеется, критика более чем уместна.

Заодно сообщаю, что потихоньку идет работа над DDL. Как только накопятся размышления по поводу, выложу их сюда. Не исключено, что еще раньше это сделает _kleptos_.
12 Comments | Post A Comment | | Ссылка






Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2006-12-30 00:12
Subject: (без темы)
Security: Public
Music:Arcana — Love Eternal
Tags:chart, done, overview
Если кому интересно, под катом — диаграмма классов августовской Акме 0.8.

В сообществе мы собираемся работать НЕ над этой конкретной программой; её следует рассматривать лишь как набросок (perl+mysql), сделанный мной летом 2006 года с целью разобраться в проблеме.

диаграмма классов Acme 0.8Свернуть )

А вот более общая (и более старая) диаграмма, описывающая то же самое:

Модель-представление-контроллер в Акме 0.8Свернуть )

См. также: подробнее об Action
Post A Comment | | Ссылка



kleptos posting in Acme Framework (ru_acme)
User: _kleptos_
Date: 2006-12-22 00:23
Subject: хозяйке на заметку
Security: Public
Music:Cowboy Bebop - No Disc - OST 2 - Want it all back
Tags:usecase
После обсуждения с neithere вырисовалось пять юзеркейсов.
Я думаю описания кейсов, и самое важное - данных и их отношений, послужит материалом для последующего анализа. На предмет нахождения атомарных примитивов из которых можно собирать онтологии.

Итак - список кейсов

  • пим - контакты, заметки, простой туду, возможно букмарки

  • standalone blog - посты, древовидные комменты, календарик, теги

  • wiki

  • багтрек (по большей части прерогатива neithere)

  • форум



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

Так-же пора обзавестись викой.
Пока в голову приходят варианты либо поставить у меня, либо на какой-нить фикиварм.
надо подумать.
Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2006-12-18 03:51
Subject: DDL
Security: Public
Пример описания структуры информационной системы а-ля Trac.

Используется YAML-подобный язык (синтаксис еще не выработан).

Между прочим, все типы объектов наследуют от базового типа (имеет атрибуты title, description и еще что-то такое). Наследование понимается в более узком смысле, чем в ООП (замещать свойства атрибутов нельзя; множественное и многоуровневое наследование запрещается).
Читать дальше...Свернуть )
Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2006-12-17 04:17
Subject: обзорная схема Акме
Security: Public
Tags:chart, overview
Ниже — набросок схемки для обсуждения + небольшой сопроводительный текст. Читать дальше...Свернуть )
2 Comments | Post A Comment | | Ссылка



Andy posting in Acme Framework (ru_acme)
User: neithere
Date: 2006-12-15 00:51
Subject: Вступление
Security: Public
Mood:optimistic
Tags:announcement, pinned

Сообщество ru_acme создано 2006-12-14 и посвящено проекту “Акме” (Acme, Advanced Content Management Engine).

Цель проекта:

Выработка концепции, а затем и реализация фреймворка информационной системы.

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

Цель сообщества:

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

подробнееСвернуть )
7 Comments | Post A Comment | | Ссылка






my journal
Февраль 2007