jGRASP | |||
---|---|---|---|
Тип | Java IDE | ||
Разработчик | команда jGRASP | ||
Операционная система | кроссплатформенное программное обеспечение | ||
Аппаратная платформа | Java Virtual Machine | ||
Последняя версия | 2.0.6_09 (31 января 2022) | ||
| |||
| |||
Лицензия | License, freeware | ||
Сайт | jgrasp.org |
jGRASP — лёгкая интегрированная среда разработки, созданная специально для обеспечения автоматического создания визуализации работы приложения с целью улучшения его понятливости. Она создаёт статическую визуализацию структуры исходного кода программы и визуализацию структур данных во время исполнения скомпилированного кода.
jGRASP разработана с помощью языка программирования Java и исполняется на всех платформах с помощью виртуальной машины Java версии 1.6 и выше.
GRASP (для Linux и UNIX) и pcGRASP (для Windows) были написаны на языке программирования C/C++, в то время как jGRASP — на Java. Буква "j" (джэй) в jGRASP (джэйГРАСП) показывает, что эта интегрированная среда разработки выполняется в виртуальной машине Java (JVM).
На интернет сайте jGRASP можно скачать приложение для Windows, Mac OS, и универсальный ZIP-файл для Линукс и других ОС.
Для остальных языков программирования jGRASP полезна в качестве редактора исходного кода. Она может быть настроена для работы с большинством бесплатных и коммерческих компиляторов любого языка программирования.
Диаграмма структуры программы (CSD) — это диаграмма исполнения алгоритма программы, которая размещается на месте отступов создаваемого кода. Её цель — улучшить читабельность создаваемого кода. jGRASP рисует диаграммы CSD для Ява, C, C++, Objective-C, Python, Ada, VHDL и XML/XHTML. Диаграммы CSD в jGRASP встраиваются в окно редактора исходного кода и могут быть отрисованы по запросу. Они создаются почти мгновенно (50,000 строк кода в секунду и даже быстрее на современном оборудовании). Окно редактора обеспечивает основанную на диаграммах CSD функцию «контекстной подсказки», которая показывает первую строку структуры кода, которая в данный момент находится вне поля видимости, когда указатель мыши помещается над структурой CSD.
Обозреватели объектов в Ява[1][2] в jGRASP обеспечивают основанную на интерфейсе, структурную и другие способы визуализации структур данных и других объектов и примитивов во время процесса отладки кода и действий с workbench. Часто эти способы представления (визуализации) более полезны чем традиционный вид в виде дерева, показывающий поля каждого объекта. Например, основанный на содержании способ представления показывает ArrayList и LinkedList одинаковым образом, в виде списка элементов. Структурный способ представления (визуализации) показывает внутреннюю структуру деревьев, связанных списков, хеш-таблиц и т. п. Структурный способ представления связанных структур данных показывает узлы локальных переменных (local variable nodes) и их связь с главной структурой программы. Результат отрисовывается, когда происходит новое изменение, например, когда узел (node) добавляется к связанному списку (linked list). В обозревателе структуры данных один элемент или подэлемент, такой как элемент связанного списка или ключ или значение в хеш-таблице, может быть выбран и показан в «подобозревателе», или они могут быть перетащены как отдельные обозреватели. Обычные структуры данных автоматически распознаются и отображаются структурно. Другие обозреватели показывают, например, цветовой переключатель для Color, изображение — для иконки, и двоичный вид для double. Несколько обозревателей может быть помещено в одно окно и его содержимое может быть сохранено в файл.
Граф профиля сложности[3] (CPG) — это уникальная диаграмма сложности на уровне строки кода. Её цель — помочь распознать чрезмерно сложные места исходного кода. jGRASP умеет создавать CPG для Java и Ada. Метрика включает обычные измерения, такие как доступность и сложность содержания, которые могут быть показаны по-отдельности. Диаграммы CPG встраиваются в окно редактора кода в jGRASP так, что выделение секции в CPG приведёт к выделению соответствующей части исходного кода и наоборот. Они так же прокручиваются вместе так, что видимая в данный момент часть исходного кода показывается в окне диаграммы CPG.
jGRASP так же создаёт диаграммы UML для Java. Диаграммы UML дополнены большей интерактивной функциональностью. Щелчок на ребре зависимости, например, покажет все зависимости между двумя классами в отдельной части окна. Отсюда участки исходного кода, создающие каждую зависимость, могут быть показаны списком и просмотрены.
jGRASP была создана Джеймсом Кроссом (James Cross) и Ларри Баровским (Larry Barowski) на кафедре информатики и программной инженерии в инженерном колледже Самуила Гинна Обернского университета. Среда разработки поддерживается и оценивается командой разработчиков jGRASP. Разработка jGRASP поддерживается исследовательским грантом Национального научного фонда.
Разработка предыдущих версий GRASP поддерживалась исследовательскими грантами Космического центра Маршалла (НАСА), Управления перспективных исследовательских проектов Министерства обороны США (DARPA), и Управления связи Министерства обороны США (DISA).