Технологическое пространство

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Технологическое пространство (ТП, англ. technological space, TS) — это междисциплинарное понятие, означающее совокупность концепций, методов, накопленных знаний, инструментов, навыков и возможностей. Технологическое пространство обычно связано с определённым сообществом, в котором происходит накопление и активный обмен знаниями и умениями, связанными с этой областью. Границы ТП не определяются формально, им позволяется пересекаться и быть вложенными.

Модельное технологическое пространство[править]

Разнообразные методы моделирования, использование преимущественно визуальных нотаций, устранение сложностей и нестыковок с помощью модельного подхода, дополнительные техники вроде метамоделирования и мегамоделирования для выхода на более высокие уровни абстракции — вот первые признаки модельного ТП. Основные конференции — MoDELS (Международная конференция по модельному проектированию языков и систем) и ECMFA (Европейская конференция по основам и применению моделирования). Часто используемые языки и технологии — UML (Унифицированный язык моделирования) и EMF (Модельный фреймворк Eclipse).

Объектное технологическое пространство[править]

Объектно-ориентированное программирование во всех его воплощениях, а также методы объектного анализа, проектирования, моделирования и так далее. Основная конференция — SPLASH (бывшая OOPSLA), языки — любые, позволяющие манипулирование объектами и классами, плюс диаграммы UML.

Грамматическое технологическое пространство[править]

Одна из самых старых областей, пережившая большой всплеск интереса в шестидесятые годы, который в семидесятых почти сошёл на нет, и остаётся на периферии интересов основной научно-исследовательской массы. Определение грамматики в широком смысле при этом позволяет успешно применять старые методы к решению актуальных задач, но ограничения алгоритмов на работу на деревьях (а не на графах произвольной формы) затрудняют заимствование техник из соседних ТП. Основные конференции — POPL (Симпозиум по принципам языков программирования), PLDI (Конференция по разработке и реализации языков программирования), CC (Международная конференция по созданию компиляторов), FSE (Симпозиум по основам проектирования программного обеспечения).

Функциональное технологическое пространство[править]

Парадигма функционального программирования также была предложена больше полувека назад, и с тех пор показывает хорошие результаты во многих областях, хотя и требует определённой экспертизы в применении. Сообщество довольно закрытое, предпочитает собираться небольшими группами вокруг любимого языка — Хаскелла, ML и пр. Основные конференции — ICFP (Международная конференция по функциональному программированию), TFP (Симпозиум по тенденциям в функциональном программировании).

Динамическое технологическое пространство[править]

Скриптовые языки программирования, позднее связывание переменных с типами, слабая типизация языков и прочие динамические аспекты компьютерных языков, формируют своё сообщество и свой инструментарий. Основные форумы — DSM, DYLA и пр.

Полуструктурные технологические пространства[править]

ТП, ориентированные на данные, только последние годы медленно начинают осознаваться как отдельные области исследований. По формальности и структурности они существенно уступают грамматикам и базам данных, но при этом стремятся к обработке структурных данных. Например, многие программы понимают текстовый формат CSV, в котором значения читаются по строкам и разделяются запятыми — для него можно написать простейшую грамматику, но никто этого не делает, потому что дробление строки на подстроки реализуется и без этого одной командой почти на любом языке программирования. Аналогично, таблицы Excel и подобных ему программ — это вырожденный случай баз данных без ключей, нормальных форм и тому подобного, но зато с встроенными функциями и зависимостями. В старых языках вроде COBOLа существует возможность для программиста задавать формат входных файлов так же, как определяются структуры данных, используемых во время исполнения. Много усилий исследователей направлено на обработку больших потоков и коллекций данных (data-driven journalism и т. п.). Отдельных конференций у этого ТП нет, и пока ещё неясно, одно это пространство, два или целых пять.

Логическое технологическое пространство[править]

Языки декларативной парадигмы технически представляют собой развитие функционального подхода, когда каждая функция определяется в виде предиката, связывающего входные и выходные данные — после этого становится всё равно, где был ввод и где вывод, и решение всегда может быть найдено, если на входе присутствует достаточное количество ограничений. Например, если известны правила сложения, то вычитание получается «бесплатно» как решение предиката сложения с известным результатом и неизвестным слагаемым. Изначально логическое программирование предназначалось для искусственного интеллекта, но затем нашло широкое применение в обработке компьютерных языков и автоматизации доказательства теорем. Основные конференции — PPDP (Международный симпозиум по принципам и практике декларативного программирования), LOPSTR (Международный симпозиум по синтезу и преобразованию логических программ).

Сетевое технологическое пространство[править]

Всемирная паутина имеет свой набор техник и языков, начиная с динамического HTML и кончая языками вроде PHP и библиотеками вроде Node.js. Возможно, в это же ТП попадают активно развивающиеся последнее время технологии работы «в облаке». Основные конференции — ICWE (Международная конференция по веб-проектированию), WWW.

Технологическое пространство XML[править]

Решительно отпочковавшееся от сетевых и полуструктурных подходов, ТП для XML характерно тем, что структуру данных можно определять (схемами или определением типа документа), а можно и не определять, и при этом успешно обрабатывать из-за наличия во входном потоке разграничивающих токенов (открывающих и закрывающих тэгов). Основные конференции — PLAN-X (Технологии языков программирования дл XML), VLDB (Международная конференция по очень крупным базам данных).

Технологическое пространство вики[править]

Вики-технологии как вариант двунаправленного взаимодействия со всемирной паутиной (данные не только берутся из базы и форматируются для пользователя, но и наоборот — пользователь может инициировать изменение данных прямо со своего терминала). Основные конференции — WikiSym (Вики-симпозиум), CSCW (Конференция по обеспечиваемой компьютером совместной работе).

Онтологическое технологическое пространство[править]

Семантическая паутина начиналась как абстрактная идея о том, как всё было бы хорошо, если бы все данные были бы аннотированы информацией о том, откуда они взялись, кто, как и зачем их сделал и что при этом использовал. В данный момент процветающий практический аспект заключается в техниках извлечения подобных метаданных из имеющегося материала. Основные конференции — ISWC (Международная конференция по семантической паутине), ESWC (Расширенная конференция по семантической паутине).

Реляционное технологическое пространство[править]

Базы данных — это ещё одно довольно древнее ТП, в котором традиционно смешиваются элементы теории реляционного исчисления, низкоуровневые детали реализации и нефункциональные соображения вроде производительности и безопасности. Основные конференции — SIGMOD (Международная конференция по управлению данными), DASFAA (Международная конференция по передовым применениям баз данных), EDBT (Международная конференция по расширению технологий баз данных), ICDT (Международная конференция по теории баз данных).

Низкоуровневое технологическое пространство[править]

Подавляющее большинство программистов и специалистов в информатике ушло от ассемблера, как только появились хоть какие-то ему альтернативы. При этом низкоуровневые детали и алгоритмы выродились в нишевые исследования, без которых некоторые проблемы принципиально нерешаемы, но заниматься которыми предпочитают только специалисты. «Случайно» попасть в это ТП и предложить новое решение известной проблемы практически невозможно. Основные конференции — SOSP (Симпозиум по принципам операционных систем), OSDI (Симпозиум по проектированию и реализации операционных систем), NSDI (Симпозиум по проектированию и реализации сетевых систем).

Источники[править]

  • I. Kurtev, J. Bézivin, M. Aksit. Technological Spaces: an Initial Appraisal. CoopIS, DOA’2002, Industrial track, 2002.
  • A. Staikopoulos, B. Bordbar. A Metamodel Refinement Approach for Bridging Technical Spaces, a Case Study.
  • J.-M. Favre. Towards a Basic Theory to Model Model Driven Engineering. WISME 2004.
  • F. S. Parreiras, S. Staab, A. Winter. On marrying ontological and metamodeling technical spaces. ESEC-FSE '07.
  • J. Bézivin, I. Kurtev. Model-based Technology Integration with the Technical Space. Proceedings of the Metainformatics Symposium, 2005.
  • R. Lämmel. Technological space travel for developers, researchers, and educators.
  • Space Concept в проекте 101companies