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

редактировать
Axum
Axum Banner.png
Разработчик Microsoft
Впервые появился8 мая, 2009
Стабильный выпуск Community Technology Preview / 8 мая 2009 г. (2008-05-08)
Платформа x86, x86-64 и Itanium
OS Windows XP. Windows S erver 2003. Windows Vista. Windows Server 2008. Windows 7
Лицензия Закрытый исходный код
Веб-сайтAxum at DevLabs

Axum (ранее под кодовым названием Maestro ) - это зависящий от домена параллельный язык программирования, основанный на модели акторов, который активно разрабатывался Microsoft между 2009 и 2011 годами. Это объектно-ориентированный язык, основанный на .NET Common Language Runtime с использованием C -подобный синтаксис, который, будучи предметно-ориентированным языком, предназначен для разработки частей программного приложения, которые хорошо подходят для параллелизма. Но он содержит достаточно конструкций общего назначения, поэтому нет необходимости переключаться на язык программирования общего назначения (например, C # ) для последовательных частей параллельных компонентов.

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

Каналы можно рассматривать как направленный путь для связи между экземплярами агентов. Функции-члены объекта Channel после его привязки к экземпляру агента могут использоваться для связи с ним. Канал содержит порты ввода и вывода, которые представляют собой очереди, которые используются для отправки данных агенту или получения данных от него. Чтобы координировать взаимодействие между агентами, Axum позволяет каждому каналу иметь определенный пользователем протокол связи. Протокол определяется как конечный автомат . Данные, отправляемые по каналу, могут быть дополнительно ограничены, чтобы соответствовать определенной заранее определенной схеме. Компилятор и среда выполнения будут обеспечивать соответствие схеме. Под капотом схема транслируется в сериализуемый.NET класс, который содержит только свойства и методы без побочных эффектов.

Проект Axum достиг состояния прототип с работающей интеграцией Microsoft Visual Studio. Microsoft сделала CTP Axum общедоступной, но с тех пор она была удалена. Хотя Microsoft решила не превращать Axum в проект, некоторые идеи Axum используются в.Net 4.5.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-12 20:54:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте