January 10th, 2010

2021 год

Куда думать в первом квартале

Поскольку заказчики не мешают работать в эти каникулярные дни, уже нарыто довольно много относительно новых для меня и весьма интересных мыслей -- и что самое интересное, в ранее уже несколько раз просмотренных текстах (просто теперь я читаю эти тексты совсем другими глазами!):

-- программирование, моделирование, онтологизирование -- это просто шкала неимперативности, причем с упором на методы абстракции, а не на исполнение. Ключ тут -- мультипарадигмальность современного моделирования с одной стороны, поддержка качества средств абстрагирования современных онтологий с другой стороны и неутеря исполняемости современного программирования с третьей стороны. Вот пример статьи, в которой явно различаются моделирование и онтологизирование и делаются шаги по их совмещению: http://www.nist.gov/cgi-bin//get_pdf.cgi?pub_id=904119. Таких работ сейчас много, в том числе прямо цепляющих ситуационную инженерию методов (например, http://www.dsmforum.org/events/DSM06/Papers/14-saeki.pdf).

-- разобраться с иерархией выразительности универсального моделирования CYC и сравнить ее с моделерами современных CAD/PLM. Понять, куда этот ветер дует.

-- архитектура "правильного инструмента" (универсальный моделер? универсальный метод композер? универсальный мэппер типа iRing?). Глядючи на iRing, современные САПР (которые я не мыслю без PLM и коллаборации), Protege/TopBraid/NeOn и т.д. в голову приходят разные мысли, и эти мысли все связаны с предыдущим пунктом про тесную связь программирования-моделирования-онтологизирования. Я активно думаю про language workbench, которая надстраивалась бы над универсальной моделью, лежащей в -- и о том, где и в какой форме должна лежать эта модель (по идее, эта модель лежит в десятке разных CAD/PLM разной архитектуры с разными схемами) как раз и нужно думать.

-- системы кодировки (три view IEC 61346, и эти же view в RDS-PP: функциональное, местоположение и продукта -- слайд 13 из http://www.slideshare.net/ailev/rds-pp как раз наследует понимание IEC 61346) + multiple-view architecture. Разобраться с жизненным циклом "tag" (кода), показанным в IEC 61346 и взятым за основу "жизненного цикла изготовления/реализации" в ISO 15926 -- см. http://www.psybertron.org/wp-content/uploads/2010/01/IEC-61346-4-Realiization-Lifecycle.ppt

-- разборка методологической войны функциональной декомпозиции с объект-ориентированной декомпозицией при архитектурном проектировании (см. спецвыпуск INCOSE INSIGHT по MBSE, где про это подробно -- http://www.omgsysml.org/INCOSE-INSIGHT-vol-12-issue-4-Dec_09-MBSE_Theme.pdf). А какие еще декомпозиции бывают, и так ли нужно их все противопоставлять? Наводка тут опять-таки в кодировках...

-- функции как роли (на эту тему разбирался A.v.Renssen and M.West), и вообще про роли. Оказывается, роли -- это состояния! На эту тему нужно подроно читать M.West (http://www.matthew-west.org.uk/Publications.html) и думать про связь "состояний" системы из жизненного цикла (в том числе "жизненного цикла изготовления/реализации" IEC 61346-4, состояний из PSL и т.д.).

-- "поведение" и прочая терминология "хорошо абстрагируемого процесса" (ибо "с семантикой передачи токенов хорошо абстрагировать процессы не получается", как говорит Конрад Бок) из PSL, BPMN 2, OPML (ontological product modeling language) -- это прежде всего работы Conrad Bock c http://www.conradbock.org/. Представление процесса ограничениями (процедурность против логики для репрезентации процесса), трансляция (BPMN 2 почему и зачем транслируется в XPDL). Многоуровневость экземпляризации поведения/процесса/метода.

-- доразобраться в онтологических азах с многоуровневой экземпляризацией: классы против типов, инстансы и клабджекты со степенными типами (powertypes), ISO 15926-2 и прото-шаблоны, OWL, reasoners над всей этой экземпляризацией.

-- к предыдущему: найти, наконец, текст про различные значения слова "meta" (их там было штук шесть). Аж зло разбирает: потерял в собственном компьютере, это была кратенькая главка в какой-то статье, а статей у меня ой-ой сколько. И слово meta и relation в них встречается столько раз, что полностью зашумляют выдачу (про гугль и поиск опять в интернете я вообще молчу).

-- эпистемология: метод онтологической работы. Онтология онтологии, находящаяся в целевой онтологии -- рефлексивность и интерактивность онтологий, моделей, программ. По этому поводу я вчера успел написать англоязычный пост (http://levenchuk.com/2010/01/08/two-times-in-ontologies/): должно быть два времени -- одно из 4D, а второе то самое "вне времени", из которого это 4D рассматривается и строится онтология! Ибо сущности время от времени в реальной жизни переклассифицируются по разным поводам, а в 4D они принадлежат классам вечно, ибо существуют в пространстве-времени. Можно назвать это управлением конфигурацией управления конфигурации (если считать, что именно реализация 4D онтологии в каком-то хранилище реализует управление конфигурацией для инженерной системы!). Типичное "мета".

-- инженерный метод: я сейчас читаю по десятку страниц в день книжку Billy Vaughn Koen "Discussion of the Method" (http://www.oup.com/us/catalog/he/subject/Engineering/GeneralEngineering/IntroductiontoEngineeringProfess/?view=usa&ci=9780195155990). Там задается простой вопрос: почему все знают про "научный метод", и знают "великих ученых", но никто не может ничего внятно сказать про инженерный метод и великих инженеров? А ведь "инженерный метод" есть!
2021 год

Электронные книжки: наконец-то они стали мейнстримом, и поэтому скоро исчезнут.

Результат CES2010: очевидно, что устройства для чтения книжек (e-Reader) стали мейнстримом, ибо вышли за пределы собственно книг в новости, газеты, журналы и далее по всему списку прямо в Сеть. Их теперь завались сколько типов, и сейчас они все срочно начнут дешеветь: http://www.engadget.com/2010/01/09/the-e-reader-story-of-ces-2010/.

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

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

Вспоминаем, как это было: http://www.antikvariat.ru/store/section.php?SECTION_ID=2879. Ну, кто помнит значение слова "портупея"?

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

Коллаборация: размер экрана имеет значение

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

Дальше я наблюдал качественные изменения:
-- размер экрана имеет значение. Когда экран действительно большой (52" телевизора, а не 30" как у дитенкиного десктопа), то спина игрока его не перекрывает. В результате коллаборация дитенки и жены увеличилась вдесятеро. Вывод: ежели вы хотите парного программирования, вам нужен по-настоящему большой экран, и вы будете изумлены результатами.
-- игра эта позволяет играть вдвоем, причем не как на PC, в разных уголочках клавиатуры, суетливо толкаясь локтями, а используя одинаковые контроллеры. Понятно, что играть вдвоем с дитенком никто не стал (хотя все попробовали -- но куда уж нам!), но сам факт такой возможности сильно греет. Командные приключения (не по сети!) интересней, а большой экран позволяет не толкаться локтями.

Сделанный мной вывод: революция в коллаборации и связанная с ней революция в интерфейсах, стиле работы, архитектуре софта, методах -- это прежде всего революция экранов. Дайте мне 64" и 4К, и это будет по стилю совсем-совсем другая работа и совсем-совсем другая коллаборация, нежели на текущих наших 30" и 2К (напомню, что 1К -- это 2Mпикселя).

В России это все потихоньку начинается (например, панель 64" 4K Sharp LK636R3LA19 -- http://www.prosoft.ru/news/2009/384248.html, но это довольно старая уже панель: Sharp ввел в октябре 2009г. новый завод LCD-панелей 10-го поколения, и наверняка уже есть новые модели. Ну, и конкуренты тоже не дремлют).

К вопросу о площадях экрана (из http://www.apc-plc.co.uk/documents/Sharp%20Roadmap%20Q309.pdf):


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

По моему опыту, двое за экраном 30" еще как-то работают, а "просто показать презентацию" удается не более чем четырем человекам. С экраном 50" удается показать презентацию/слайды уже десятку человек, но никакой коллаборации почему-то не удается обеспечить -- интерфейсы этого не позволяют с одной стороны, а низкое разрешение экрана плюс телевизионное размытие пикселей не способствуют качеству работы с текстом с другой стороны.

Коллаборация в играх (в том числе, показанная на примере Wii с отвратительным качеством изображения -- 480p) показывает, что жизнь может быть устроена и как-то по-другому.

Интересно, как быстро хакнут Project Natal и вытащат его интерфейс распознавания жестов для работы с каким-нибудь CAD/PLM? Хотя Dassault Systemes, судя по тамошним экранным роликам, скорее всего, уже вступила с Microsoft в долгосрочное соглашение -- и вполне возможно, что Project Natal там будет не хакнут, а "планомерно интегрирован". Но это все про будущее, хотя и не очень далекое.

А вот настоящее -- это как раз удвоенный пиксельный шаг при 4K разрешении. Учитывая, онтологические структуры работают с весьма кучерявыми деревьями, а модели на графических языках тоже не отличаются компактностью (у нас в TechInvestLab одна из статей расхода -- это печать картинок моделей на рулонных принтерах, эти картинки для даже небольших моделей обычно ни на какой экран не влезают). Если грядет большая онтологическая/модельная (а то и программистская) работа, качество которой хочется повысить "парным онтологированием", то инвестиции в большой монитор вполне могут быть осмысленными. Или пока еще не вполне осмысленными (например, цена на Westinghouse D56QX1 56" 4K составляет в США на сегодня $36тыс. -- http://www.macmall.com/p/5096309?dpno=7670275&source=MWBgooglebase). Впрочем, есть информация о том, что самый простой способ поднять производительность труда программера -- это добавить ему площади экрана (лень искать ссылку, но писали об этом много). Так что в крупных онтологических проектах, где нужно возиться с глубокими и широкими деревьями, подобные траты могут окупиться неожиданно быстро -- на одной-двух несделанных ошибках, последующее вылавливание и удавливание которых забрало бы месяцок-другой труда...