European Commission logo
polski polski
CORDIS - Wyniki badań wspieranych przez UE
CORDIS

ScalPL : A Scalable Programming Language

Article Category

Article available in the following languages:

Wsparcie dla skalowalnych języków programowania

W ramach pewnej unijnej inicjatywy rozwijano języki dziedzinowe (DSL). Te języki programowania umożliwiają upraszczanie złożonych kodów, ułatwiają komunikację z klientami, zwiększają produktywność i pozwalają na usunięcie wąskich gardeł w procesie programowania.

Technologie przemysłowe icon Technologie przemysłowe

Dzięki środkom UE, w ramach projektu SCALPL (ScalPL: A scalable programming language) przeprowadzono badanie dotyczące technik, dzięki którym języki DSL są łatwiejsze do implementacji, komponowania i analizy. Opracowano model dla języka rozszerzalnego oraz różne metody programowania dla DSL. Partnerzy projektu badali, czy programowanie funkcyjne (feature-oriented programming, FOP) jest w stanie uniknąć klonów kodu czy też sprzyja powstawaniu takich klonów. Przeanalizowano 10 produktów oprogramowania funkcyjnego pod kątem klonowania kodu. Wyniki wskazują, że w produktach tych znajduje się wiele klonów i że większość z nich jest powiązana z FOP. Następnie wykazano, w jaki sposób można usunąć klony przy pomocy refaktoryzacji. Zespół SCALPL dokonał inkrementacji programów poprzez ich pochodne. Pochodna odwzorowuje zmiany w programie wprowadzane bezpośrednio w danych wejściowych programu na modyfikacji w jego danych wyjściowych, bez ponownego wykonywania początkowego programu. Członkowie zespołu zaprezentowali transformację programów, która przenosi programy do ich pochodnych. Proces ten jest w pełni statyczny i automatyczny, obsługuje funkcje pierwszej klasy i generuje pochodne reagujące na normalną optymalizację. Aby ocenić wydajność, uczeni przeprowadzili analizę przypadku, implementując transformację programu w uniwersalnym języku programowania. Czas uruchamiania skrócono o ponad cztery rzędy wielkości. Badacze przyjrzeli się także tworzeniu złożonych aplikacji, których problemem bywa czasem długi czas ponownego uruchamiania podczas testowania nowych części programu. Stosowane obecnie metody dynamicznych aktualizacji oprogramowania mają pewne ograniczenia w zakresie elastyczności i wydajności. Aby się z tym uporać, uczeni wprowadzili metodę aktualizacji w czasie uruchamiania, opartą na uniwersalnym języku programowania, który oferuje elastyczne i dynamiczne aktualizacje, jest niezależny od platformy, powoduje tylko minimalne pogorszenie wydajności i nie determinuje architektury oprogramowania. Możliwości zastosowania i wydajność metody oceniono i porównano z aktualnie stosowanymi rozwiązaniami. Dzięki opracowaniu metody kładącej nacisk na skalowalność projekt SCALPL powinien przyczynić się do upowszechnienia zupełnie nowego podejścia do programowania.

Słowa kluczowe

Skalowalny język programowania, języki dziedzinowe, SCALPL, programowanie funkcyjne, pochodna

Znajdź inne artykuły w tej samej dziedzinie zastosowania