Ograniczanie wyników
Czasopisma help
Autorzy help
Lata help
Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 78

Liczba wyników na stronie
first rewind previous Strona / 4 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  Języki programowania
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 4 next fast forward last
Native functional-style querying extensions for programming languages (e.g., LINQ or Java 8 streams) are widely considered as declarative. However, their very limited degree of optimisation when dealing with local collection processing contradicts this statement. We show that developers constructing complex LINQ queries or combining queries expose themselves to the risk of severe performance deterioration. For an inexperienced programmer, a way of getting an appropriate query form can be too complicated. Also, a manual query transformation is justified by the need of improving performance, but achieved at the expense of reflecting an actual business goal. As a result, benefits from a declarative form and an increased level of abstraction are lost. In this paper, we claim that moving of selected methods for automated optimisation elaborated for declarative query languages to the level of imperative programming languages is possible and desired. We propose an optimisation method for collection-processing constructs based on higher-order functions through factoring out of free expressions in order to avoid unnecessary multiple calculations. We have implemented and verified this idea as a simple proof-of-concept LINQ optimiser library.(original abstract)
In the paper we explore the possibilities of automated test-case generation from the IFML model of application front-end. As opposed to the previous core UML standard, IFML captures the structure and properties of the application user interface, which gives us new possibilities in model-based test case generation: produced test cases have a higher probability of being consistent and of respecting the real feasibility of the tests in the tested application. In the presented solution we leverage the capabilities of an IFML model to capture details of front-end components to generate front-end automated tests, exercising particular actions in the tested application front-end to verify its expected behaviour according to an IFML model. The approach is based on the transformation of an IFML model to an application front-end test model - a more straightforward structure for the automated generation of test cases. Then, based on the defined rules, the abstract test cases are created from the model. The abstract test cases are then transformed using a template engine, to particular physical automated test cases which can be run to test the application.(original abstract)
In this paper, the performance research on CPython's latest interpreter is presented, concluding that bytecode dispatching takes about 25 percent of total execution time on average. Based on this observation, a novel byte code dispatching mechanism is proposed to reduce the time spent on this phase to a minimum. With this mechanism, the blocks associated with each kind of bytecodes are rewritten in hand-tuned assembly, their opcodes are renumbered, and their memory spaces are rescheduled. With these preparations, this new bytecode dispatching mechanism replaces the time-consuming memory reading operations with rapid operations on registers. This mechanism is implemented in CPython-3.3.0. Exper iments on lots of benchmarks demonstrate its correctness and efficiency. The comparison between original CPython and optimized CPython shows that this new mechanism achieves about 8.5 percent performance improvement on average. For some particular benchmarks, the maximum improvement is up to 18 percentages.
Attribute-oriented programming (source code annotations) is a program level marking technique that enables enrichment of program elements with custom metadata. In this paper we hypothesize that there is a correspondence between source code annotations and conventional formal languages in general. We analyze our observations about source code annotations from three aspects of language description: concrete syntax, abstract syntax, and semantics. The discussion provides evidence of the hypothesized correspondence and we use it as a basis for our definition of an annotation-based language (abbreviated: @L). However, the analysis also shows that compared to conventional formal languages, source code annotations have some specificities mainly connected to their binding to host program elements. The presented analysis contributes to the field of attributeoriented programming by discussing the relationship between annotations and conventional formal languages, and by surveying relational idioms in annotations' usage that can be inspirational for annotations' authors. (original abstract)
Java provides two different options for processing source code annotations. One of them is the annotation processing API used in compile time, and the other is the Reflection API used in runtime. Both options provide different API for accessing program metamodel. In this paper, we examine the differences between those representations and we discuss options on how to unify these models along with advantages and disadvantages of this approach. Based on this proposal, we design a unified Java language model and present a prototype tool which can populate a unified model during both compilation and runtime. The paper includes the designed API of this unified language model. To verify our approach, we have performed experiments to show the usability of the unified metamodel. (original abstract)
Zilustrowano sposoby programowania w języku Clipper niektórych zagadnień numerycznych oraz problemów z tym związanych. Wybrane zostały częściej spotykane w praktycznych analizach algorytmy macierzowe o różnym stopniu zróżnicowania. (fragment tekstu)
W prezentowanym artykule przedstawiono sposób modelowania procesów produkcyjnych w oparciu o sterownik PLC współpracujący z systemem wagowym. Opisano budowę stanowiska dydaktycznego, zaprezentowano jego możliwości, pod względem ukazania procesów produkcyjnych, a także pod względem nauki programowania sterownika PLC i wagi. Scharakteryzowano sterownik PLC S7-1200, narzędzie programistyczne TIA Portal, terminal wagowy PUE 7 oraz system wagowy WPY 30/C1/R. Zwrócono uwagę na zastosowanie w/w urządzeń w przemyśle. Opisano sposoby programowania sterownika PLC S7-1200, ze zwróceniem uwagi na możliwości poznania trzech języków programowania LD, FBD, SCL oraz metodę programowania terminala wagowego PUE 7 w systemie wagowym WPY 30/C1/R. (abstrakt oryginalny)
Dobór oraz właściwe zastosowanie metod oraz technik modelowania biznesowego ma istotny wpływ na możliwości usprawniania funkcjonowania organizacji-jak również właściwe zrozumienie oczekiwanej funkcjonalności systemów informatycznych, które mają tą organizację wspierać. W ostatnich latach wdrożono w praktyce szereg notacji modelowania procesów biznesowych. Podkreślić należy zwłaszcza popularyzację notacji BPMN (Business Process Modeling Notation) oraz profili rozszerzających możliwości języka UML(Unified Modeling Language).Celem niniejszego opracowania jest weryfikacja, czy jeden z najbardziej elastycznych i ściśle standaryzowanych profili języka UML, tj. Rational UML Profile for Business Modeling, pozwala analitykom biznesowym opracowywać szczegółowe i jednocześnie zrozumiałe dla wszystkich udziałowców modele procesów biznesowych. Po wstępie, omówiono metodologię badania. Sekcja 2 ujmuje wybrane rezultaty przeprowadzonego studium przypadku. Artykuł zakończono podsumowaniem. (abstrakt oryginalny)
Koncepcja ramek jako instrumentów poznawczych modelujących rzeczywiste sytuacje znana jest także w inżynierii oprogramowania. Języki do tworzenia ramek i ich zastosowania generujące podobne, lecz różne wyniki końcowe datuje się na połowę lat 80. XX w. W artykule przedstawiono kilka teoretycznych podstaw tego rodzaju języków opartych na implementacjach zrealizowanych w praktyce. Zdefiniowany został znormalizowany język ramek wraz ze szczegółowym przedstawieniem jego środków językowych. Na tej bazie, przy wykorzystaniu teorii grafów, została rozwinięta koncepcja CoMET - pełnego drzewa realizacji metatekstu. Znormalizowany język ramek oraz koncepcja CoMET umożliwiają badanie i tworzenie rozwiązań, które mogą mierzyć i porównywać właściwości metatekstów z różnych punktów widzenia. Podstawy teoretyczne przedstawione w artykule mają na celu wsparcie inżynierów oprogramowania w pełniejszym zrozumieniu natury języków ramek oraz zachęcenie do tworzenia pełnych środowisk rozwojowych przeznaczonych także do dziedzin innych niż rozwój oprogramowania (abstrakt oryginalny)
The following study deals with static analysis of Java source codes and it is dedicated to those readers who are interested in techniques aiming at evaluation of programming abilities of job candidates or students. In our case, the goal of the static analysis is to assemble the most significant and interesting data about source code author (programmer). If properly visualized, such assembled data may form programmer's profile which, to impartial observer, may further determine author's real programming abilities and his/her habits, both good and the bad ones. The present study represents first experiments attempting to form programmer's profile by static analysis of language element frequency. Conclusion offers a broader view, combining also other techniques as a future plan to generate knowledge profiles more precisely.(original abstract)
11
Content available remote Zaciemnianie kodu jako forma zabezpieczenia kodu źródłowego
80%
W artykule przedstawiono wprowadzenie do techniki zabezpieczenia kodu źródłowego metodą zaciemniania kodu, zwaną obfuskacją. Obfuskacja to technika przekształcania programów, która zachowuje ich semantykę, ale znacząco utrudnia zrozumienie. W artykule zdefiniowano obfuskację, omówiono jej zastosowania oraz wady. Przedstawiono przegląd popularnych programów zwanych obfuskatorami, które pozwalają poddać kod źródłowy procesowi zaciemniania kodu dla popularnych języków programowania takich jak: języki platformy .NET np. C
This paper discusses the basic Java interfaces, which are used for XML document handling. Three interfaces have been discussed: SAX - used for sequential document processing, DOM - document object model and JAXP - an interface which imparts coherence to the SAX and DOM techniques. The paper presents their major features, differences and practical applications.(original abstract)
Podstawą modelu wyszukiwania dokumentów jest mechanizm obliczający relewancję, tj. poziom dopasowania dokumentu do potrzeby informacyjnej użytkownika. Niestety, nie przetwarza on bezpośrednio ani potrzeb informacyjnych, ani dokumentów, a jedynie pewne ich surogaty, które w sposób syntetyczny reprezentują pożądane ich cechy - potrzeba informacyjna reprezentowana jest przez zapytanie, a dokumenty reprezentowane są przez indeksy. Jakość mechanizmu wyszukiwania zależy zatem od jakości tworzonych indeksów. Zwykle indeksowanie wykonywane jest automatycznie za pomocą niekontrolowanego języka, gdzie termami indeksującymi są wyrazy pozyskane z treści dokumentów. (...)W niniejszej pracy skupiamy się wyłącznie na wykorzystaniu wyrażeń kalendarzowych (tj. wyrażeń temporalnych wykorzystujących kalendarzowe jednostki czasu), które z powodu względnej jednoznaczności oraz uniwersalności kalendarza gregoriańskiego są powszechnie wykorzystywane w tekstach ekonomicznych. (fragment tekstu)
Celem artykułu jest zbadanie zmian, jakie mogą zachodzić w sposobie przeprowadzania analizy i projektowania w celu osiągnięcia pełnych korzyści z możliwości, jakie daje wykorzystanie języków czwartej generacji. Na wstępie krótko omówiono pojęcia języków czwartej generacji wraz z technikami prototypowania. W następnej kolejności zaprezentowano tradycyjny cykl życia systemu i rozważano problemy związane z wykorzystaniem prototypowania przy ograniczeniach podejścia tradycyjnego. Z tego wyprowadzono wniosek, że należy zastosować inną metodę tworzenia systemów, jeśli się chce uzyskać korzyści tak z analizy strukturalnej jak i prototypowania. Jednym z takich podejść jest ewolucyjne tworzenie systemów. Artykuł wyjaśnia implikacje ewolucyjnej metody tworzenia systemów oraz wskazuje podstawowe cechy tego podejścia. Następnie rozważa się miejsce ewolucyjnej metody tworzenia systemów w organizacji oraz sposób dojścia do jej stosowania. (abstrakt oryginalny)
Celem artykułu jest przedstawienie metody analizy składni dla języków generowanych przez gramatyki precedensyjne. Autorka zilustrowała ją na przykładzie języka wyrażeń arytmetycznych.
W artykule zaproponowano wykorzystanie języka specyfikacji ontologii OntoUML w procesie wytwarzania ontologii UPON (Unified Process Ontology Development). Wyniki pracy powinny w rezultacie umożliwić procesowe i bardziej przewidywalne wytwarzanie ontologii dziedzinowych w ramach m.in. procesu wytwarzania oprogramowania ODSD (Ontology Driven Software Development), tym samym wychodząc naprzeciw ewentualnym problemom jakościowym ontologii dziedzinowych (jakość jest zwykle zawdzięczana uporządkowaniu zadań projektowych). Artykuł stara się wypełnić lukę w literaturze przedmiotu. Przy tym ułatwić dostarczanie wysokiej jakości ontologii dziedzinowych do procesu wytwarzania oprogramowania ODSD. Oryginalność artykułu wynika z uspójnienia języka OntoUML z procesem UPON.(abstrakt oryginalny)
W badaniu przetwarzanie obrazu zostało wykonane za pomocą oprogramowania opracowanego w języku programowania Python poprzez przechwytywanie widoków obiektów. W tym kontekście stworzono algorytm do obliczania ilości substancji w konkretnym pojemniku przy stałym kącie kamery; zmierzona ilość substancji jako informacja została wysłana do inteligentnych urządzeń działających z systemami Android. Ilość przesyłanych informacji została pokazana w interfejsie użytkownika w postaci percentyla dzięki opracowanemu algorytmowi i programowi. Algorytm w tym oprogramowaniu wykonuje kadrowanie i konwersję do formatu czarno-białego na przechwyconym zdjęciu za pomocą etapów przetwarzania obrazu, oblicza, skanując, czarne obszary i proporcjonalnie te wartości do obszaru pojemnika, podając informacje o poziomie substancji. Możliwe jest wykorzystanie opracowanego oprogramowania jako alternatywnego systemu detekcji i oceny procesów detekcji obiektów, przetwarzania obrazu i kontroli poziomu.(abstrakt oryginalny)
The study investigates the variation in population ageing in four Visegrad countries (V4) and across their NUTS2 regions in 2016 compared to 2005. Population ageing was assessed using the median age, old-age rate, double ageing index, ageing index, and old-age dependency ratio. The authors took into account causes that explain changes occurring at the bottom and at the top of the population pyramid. By applying multidimensional scaling combined with the composite indicator and the Theil decomposition, the study identified differences in the level of population ageing in a two-dimensional space and the dynamics of these changes. Such an approach, with the visualization of the results, enriches this interpretation. In the reference period the process of population ageing in the V4 countries and their regions accelerated considerably. The disproportion between regions has increased in Slovakia, slightly increased in Poland, and decreased in the Czech Republic and Hungary.(original abstract)
W artykule podjęta została problematyka różnych aspektów rozwoju systemów analitycznych w sektorze małych i średniej wielkości przedsiębiorstw (MŚP), z wykorzystaniem narzędzi open source, a w szczególności bibliotek języka Python. Głównym celem artykułu jest wskazanie na przykładzie środowiska języka Python, że w oprogramowaniu open source tkwi duży potencjał, który może być wykorzystany do rozwijania i eksploatacji systemów analitycznych w firmach sektora MŚP. Autor wyraża przekonanie, że firmy sektora MŚP nie tylko mogą, ale powinny rozważać wdrożenie strategii konkurencyjnych opartych na wysokiej jakości danych pozyskiwanych z systemów analitycznych. W tym celu mogą skutecznie rozwijać systemy analityczne w oparciu o oprogramowanie open source i metody wypracowane przez naukę o danych. Artykuł zawiera również identyfikację barier, przed którymi stają MŚP, decydując się na inwestowanie w technologie informacyjne. Kluczowym aspektem badawczym w artykule jest analiza funkcjonalności bibliotek języka Python, na podstawie której autor wykazuje, że poszczególne komponenty środowiska Python mogą wspomagać rozwój każdej warstwy systemu analitycznego, a zatem mogą one stanowić kompletną i solidną podstawę realizacji strategii opartej na wysokiej jakości danych pozyskiwanych z tego typu systemu w firmach sektora MŚP.(abstrakt oryginalny)
Artykuł udowadnia, że technologia XML ma duże wpływ na rozwój form prezentacji w Internecie. W dużym stopniu rozwija się obszar zastosowań języków znacznikowych używanych w sieci. Wprowadza nowe rozwiązania, które były niemożliwe do realizacji przy użyciu tylko języka HTML. Język XML jest stosunkowo świeżą techniką, dlatego jego znaczenie w tej dziedzinie w przyszłości jeszcze się powiększy. (fragment tekstu)
first rewind previous Strona / 4 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.