Xl Туполевские чтения : всероссийская (с международным участием) молодежная научная конференция. Казань, 8-10 октября 2003 г., тезисы докладов. Т. 3
Обобщенное программирование в системе компьютерного моделирования структур проводников и диэлектриков А.О. Мелкозеров Научный руководитель Т.Р. Газизов, к.т.н., доцент Томский государственный университет систем управления и радиоэлектроники Компьютерное моделирование электрических характеристик сложных структур проводников и диэлектриков в общем случае предполагает вы числение отклика заданной структуры проводников и диэлектриков с из вестными геометрическими и электрическими параметрами их материалов на заданное электрическое воздействие. Разработка системы начата на базе двух программ по расчету матриц емкостей двух- и трехмерных структур проводников и диэлектриков. Стержневым элементом системы является её ядро, объединяющее модули ввода-вывода, графики и вычислений в единое целое. Функциональные возможности системы представлены динамически загружаемыми модуля ми. Ядро позволяет использовать различные методы вычисления для одной конфигурации, увеличивать количество методов анализа структур или ко личество моделей в рамках каждого метода без перезапуска системы. Однако поддержка этих возможностей не требует дополнительных за трат труда благодаря применению методов обобщенного программирова ния, когда основная часть кода генерируется автоматически компилято ром. В данной статье под обобщенным программированием понимается использование обобщенных компонентов и паттернов проектирования. В основу ядра системы положены базовые классы Action (действие) и Subject (субъект). Класс Subject афегирует двойной диспетчер функторов с постоянным временем поиска Dispatcher. Применены паттерны Composite, Visitor и мультиметоды с постоянным временем выполнения. Класс Interpreter предназначен для интерпретации потока ввода. Эк земпляр класса lnteфreter включает список хещ-таблиц, состоящих из пар команла-обработчик. Применены паттерны Facade, Command и обобщен ные функторы. Потоком ввода системы может быть не только командная строка или файл, но и графическая среда, где действия пользователя над элементами управления легко конвертировать в поток текстовых команд. В этом на правлении ведется дальнейшая работа над системой. Также необходимо изучить вычислительную производительность ядра, возможность его ис пользования в многопоточных приложениях и эффективность описанной структуры классов в целом. 105
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy