Axum (язык программирования) - Axum (programming language)

Аксум
Axum Banner.png
РазработчикMicrosoft
Впервые появился8 мая 2009 г.
Стабильный выпуск
Платформаx86, x86-64 и Itanium
Операционные системыWindows XP
Windows Server 2003
Виндоус виста
Windows Server 2008
Windows 7
ЛицензияЗакрытый источник
Интернет сайтАксум в DevLabs

Аксум (ранее под кодовым названием Маэстро) это специфичный для домена одновременный язык программирования, на основе Актерская модель, который активно разрабатывался Microsoft[1] с 2009 по 2011 гг.[2] Это объектно-ориентированный язык на основе .СЕТЬ общеязыковая среда выполнения с помощью C -подобный синтаксис, который, будучи предметно-ориентированным языком, предназначен для разработки частей программного приложения, которые хорошо подходят для параллелизма. Но он содержит достаточно универсальных конструкций, поэтому не нужно переключаться на универсальный язык программирования (например, C # ) для последовательных частей параллельных компонентов.[1]

Основная идиома программирования в Аксуме - это Агент (или Актер), который представляет собой изолированную сущность, которая выполняется параллельно с другими агентами.[3] На языке Аксума это называется агентами, выполняющими отдельные изолированные домены;[3] к объектам, созданным в одном домене, нельзя напрямую получить доступ из другого.[4] Агенты слабо связаны (т.е. число зависимостей между агентами минимально) и не разделяют ресурсы, такие как память (в отличие от Общая память модель C # и подобные языки); вместо этого передача сообщений модель используется.[3] Чтобы координировать действия агентов или если агент запрашивает ресурсы другого, агенту должно быть отправлено явное сообщение. Аксум предоставляет каналы чтобы облегчить это.

каналы можно рассматривать как направленный путь для связи между экземплярами агентов. Функции-члены Канал объект, после того как он был привязан к экземпляру агента, может использоваться для связи с ним. А Канал содержит ввод и вывод порты, которые очереди которые используются для отправки данных агенту или получения данных от него. Для координации связи между агентами Axum позволяет каждому каналу иметь определяемую пользователем протокол для связи. Протокол определяется как Государственный аппарат.[5] Данные, отправляемые по каналу, могут быть дополнительно ограничены, чтобы соответствовать определенному заранее определенному схема. Компилятор и среда выполнения будут обеспечивать соответствие схеме.[6] Под капотом схема переводится в сериализуемый .СЕТЬ класс который содержит только свойства и методы без побочных эффектов.[7]

Проект Axum достиг состояния прототипа с рабочими Microsoft Visual Studio интеграция.[8] Microsoft сделала ОСАГО Аксума доступны для общественности,[9] но с тех пор это было удалено. Хотя Microsoft решила не превращать Axum в проект,[2] некоторые идеи Axum используются в TPL Dataflow в .Net 4.5.

Рекомендации

  1. ^ а б «Maestro: управляемый предметно-ориентированный язык для параллельного программирования». Канал 9. В архиве из оригинала 7 апреля 2009 г.. Получено 2009-04-16.
  2. ^ а б «Государство Аксум». Никлас Густафссон. Получено 2011-02-28.
  3. ^ а б c Филипс Джошуа. «Мы не забыли и о других моделях - честно!». MSDN блоги. В архиве из оригинала 8 мая 2009 г.. Получено 2009-04-16.
  4. ^ Никлас Густафссон. «Изоляция в маэстро». MSDN блоги. В архиве из оригинала 8 мая 2009 г.. Получено 2009-04-16.
  5. ^ Никлас Густафссон. "Каналы". MSDN блоги. В архиве из оригинала 26 апреля 2009 г.. Получено 2009-04-16.
  6. ^ Джошуа Филипс. «Аксум». Презентация Lang.NET. Архивировано из оригинал 21 апреля 2009 г.. Получено 2009-04-20.
  7. ^ Никлас Густафссон. «Объекты в Аксуме». MSDN Блоги. В архиве из оригинала 26 апреля 2009 г.. Получено 2009-04-20.
  8. ^ «Аксум: еще одна часть головоломки параллельного программирования Microsoft». CNet блоги. В архиве из оригинала 17 апреля 2009 г.. Получено 2009-04-16.
  9. ^ «Аксум». MSDN DevLabs. Архивировано из оригинал 11 мая 2009 г.. Получено 2009-05-09.

внешняя ссылка