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

Znaleziono wyników: 42

Liczba wyników na stronie
first rewind previous Strona / 3 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  programming languages
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 3 next fast forward last
EN
The article outlines a contemporary method for creating software for multi-processor computers. It describes the identification of parallelizable sequential code structures. Three structures were found and then carefully examined. The algorithms used to determine whether or not certain parts of code may be parallelized result from static analysis. The techniques demonstrate how, if possible, existing sequential structures might be transformed into parallel-running programs. A dynamic evaluation is also a part of our process, and it can be used to assess the efficiency of the parallel programs that are developed. As a tool for sequential programs, the algorithms have been implemented in C#. All proposed methods were discussed using a common benchmark.
2
Content available remote Podstawowe modele zapisu koloru i ich zastosowania
PL
Widzenie barwy przez człowieka ma charakter subiektywny, a z drugiej strony, w technice, a w szczególności w grafice komputerowej, niezbędny jest obiektywny zapis koloru. W artykule opisano wybrane modele tego zapisu: RBG, CMY, CMYK, HSV, HSL. Te dwa ostatnie, zwane są modelami intuicyjnymi, ponieważ używają pojęć: odcień, nasycenie i wartość lub jasność, chociaż w różny sposób. W każdym z tych modeli możemy użyć określonych wersji dokładności zapisu, uzyskując odpowiednią głębię koloru. Często przybliżamy barwę kolorami wybranej palety, np. dla zapisu w formacie GIF. Oczywiście, idee koloru są ostatecznie realizowane w konkretnych programach i językach programowania. W artykule pokazano, jakie są możliwości wyboru koloru w programach: GIMP, Pain.Net i XnView oraz w językach: LATEX i HTML z kaskadowymi arkuszami stylu. Na zakończenie, przedstawiono wzory pozwalające na przeliczanie wartości składowych kolorów między modelami.
EN
In this paper we analyze the performance of five popular programming languages. The efficiency analysis involves the comparison of elapsed time needed for executing the same computations when the degree of complexity rises. In this paper we compare C#, Python, R, Wolfram and Julia programming languages.
4
Content available remote Reference Abstract Domains and Applications to String Analysis
EN
Abstract interpretation is a well established theory that supports reasoning about the run-time behaviour of programs. It achieves tractable reasoning by considering abstractions of run-time states, rather than the states themselves. The chosen set of abstractions is referred to as the abstract domain. We develop a novel framework for combining (a possibly large number of) abstract domains. It achieves the effect of the so-called reduced product without requiring a quadratic number of functions to translate information among abstract domains. A central notion is a reference domain, a medium for information exchange. Our approach suggests a novel and simpler way to manage the integration of large numbers of abstract domains. We instantiate our framework in the context of string analysis. Browser-embedded dynamic programming languages such as JavaScript and PHP encourage the use of strings as a universal data type for both code and data values. The ensuing vulnerabilities have made string analysis a focus of much recent research. String analysis tends to combine many elementary string abstract domains, each designed to capture a specific aspect of strings. For this instance the set of regular languages, while too expensive to use directly for analysis, provides an attractive reference domain, enabling the efficient simulation of reduced products of multiple string abstract domains.
5
Content available remote Logic-based Verification of the Distributed Dining Philosophers Protocol
EN
We present a logic-based framework for the specification and validation of distributed protocols. Our specification language is a logic-based presentation of update rules for arbitrary graphs. Update rules are specified via conditional rewriting rules defined over a relational language. We focus our attention on unary and binary relations as a way to specify predicates over nodes and edges of a graph. For the considered language, we define assertions that can be applied to specify correctness properties for arbitrary configurations. We apply the language to model the distributed version of the Dining Philosopher Protocol. The protocol is defined for asynchronous processes distributed over a graph with arbitrary topology. We propose then validation methods based on source to source transformations and deductive reasoning. We apply the resulting method to provide a succint correctness proof of the considered case-study.
6
Content available remote E-Assessment Tools for Programming Languages: A Review
EN
Continuous Evaluation and feedback not only helps in improving learning of a student, but also acts as a constant motivator to put in more efforts. But then, feedback and assessment are very difficult and time consuming in practice. Thus, automating the entire system of assessment, evaluation and feedback will be highly beneficial. But, building such tools for all courses is yet not feasible. However, e-assessment tools for programming courses in Computer Science discipline can be developed. In this paper, we review various grading techniques used by these tools to assess a student's programming assignment. Further, this paper discusses various types and features of tools according to which an appropriate tool should be selected. And, in the end, we will be highlighting the extent to which students and instructors are actually benefited by these tools.
PL
Celem artykułu jest wskazanie możliwości zastosowania intensywnie ostatnio rozwijanych narzędzi informatycznych, zasadniczo przeznaczonych do tworzenia stron internetowych, do obliczeń numerycznych. Głównym obiektem zainteresowania autorów będzie język JavaScript, który w połączeniu z możliwościami języków HTML5 oraz CSS da programistom zestaw wydajnych narzędzi, które wykorzystać będzie można zarówno na etapie obliczeń numerycznych jak i późniejszej prezentacji wyników w formie gotowej strony internetowej.
EN
The aim of the paper is to indicate the possibility of the application of recently intensively developed tools (generally intended to create websites) to numerical calculations. The main object of the authors' interest is the language JavaScript which combined with the capabilities of HTML5 and CSS languages can give developers a set of powerful tools that may be taken both at the stage of numerical calculations and subsequent presentation of results in the form of ready-made website.
8
Content available remote Asynchronous Systems of Parallel Communicating Finite Automata
EN
Synchronous systems of parallel communicating one-way finite automata have already been investigated. There, all components work stepwise in parallel, and the communication between the components is realized by requesting states in a one-directional manner. This means that one component can request information in form of the current state from another component, where the latter one sends its current state without realizing that a communication takes place. Here, we introduce asynchronous systems of parallel communicating one-way and two-way finite automata with a bidirectional communication protocol. A communication only takes place, when both components - the requesting and the responding component - are ready to communicate. It is shown that almost all language classes that are characterized by these systems coincide with the language classes that are characterized by multi-head finite automata. Moreover, our communication protocol uses blocking point-to-point communications, i.e. a communication takes place between two components, and a communicating component is blocked until the communication has been finished. There have also been studied asynchronous systems of finite automata with non-blocking communication in the literature. Thus, we compare synchronous and asynchronous systems on the one hand and asynchronous systems with blocking and non-blocking communication on the other hand. Finally, we give some results on the communication complexity of our systems, where the amount of communication is measured by counting each message which is sent from one component to another during a computation of a system. Particularly, we show that with constantly many communications our systems can only accept regular languages, and at most linearly (polynomially) many communications are needed for systems of one-way (two-way) components depending on the length of the input. Further, there exists no system that executes more than constantly many and less than linearly many communications.
EN
The aim of the paper is to indicate the opportunity of applying intense recently developed tools, which are generally designed to create websites, for numerical calculations. The main object of interest of authors will be the JavaScript programming language, which, combined with the capabilities of HTML5 and CSS languages gives developers a set of powerful tools that may be taken both at the stage of numerical calculations and subsequent presentation of results in the form of ready-made website.
PL
Celem artykułu będzie wskazanie możliwości zastosowania intensywnie rozwijanych narzędzi informatycznych, zasadniczo przeznaczonych do tworzenia stron internetowych, do obliczeń numerycznych. Głównym obiektem zainteresowania autorów będzie język JavaScript, który w połączeniu z możliwościami języków HTML5 oraz CSS da programistom zestaw wydajnych narzędzi, które wykorzystać będzie można zarówno na etapie obliczeń numerycznych jak i późniejszej prezentacji wyników w formie gotowej strony internetowej.
PL
Wirusy komputerowe mają obecnie wpływ na działanie wielu systemów, tak samo jak wirusy biologiczne na organizm człowieka. Można znaleźć podobieństwa w działaniu virusów komputerowych do biologicznym w wielu aspektach ich działania. Rozwój systemów operacyjnych, funkcji jakie dostarczają, spowodował również ewolucję virusów. Zarażają obecnie różne elementy systemu i są przenoszone za pomocą innych mechanizmów. Zastosowane mechanizmy w systemach operacyjnych jak i rozwój języków programowania spowodował, że pisanie virusów, czy uciążliwych programów stało się prostsze, a stosowanie mechanizmów zabezpieczeń w systemie jest obecnie konieczne. W niniejszym artykule autorzy na bazie dwóch przykładowych kodów virusów przedstawiają ich ewolucję oraz analizują wpływ ewolucji systemów operacyjnych na ich sposoby infekcji.
EN
Computer viruses are currently affecting the operation of multiple systems, as well as biological viruses on the human body. There are many similarities in the operation of a biological and computer viruses in many aspects of their operation. The development of operating systems, functions that they provide, has also led to the evolution of computer viruses. They infect currently various elements of the system and are moved by other mechanisms. Mechanisms used in operating systems and the development of programming languages meant that writing computer viruses or trojans programs has become easier, and the use of security mechanisms in the system is now necessary. In this article the authors on the basis of two examples of viruses source codes show their evolution and analyze the impact of the evolution of operating systems on their modes of infection.
EN
The paper presents considerations on implementation of function blocks of the IL language, as fragments of control programs that use these blocks. Subsequently, the predefined function blocks of the IL language have been applied to implementation in a Central Processing Unit for a programmable controller based on standard microcontroller from such families as MCS-51, AVR and ARM with the Cortex-M3 core. The considerations refer to the IL language revision that is fully compliant with the IEC-61131-3 standards. The completed theoretical analysis demonstrated that the adopted method of the module description is really reasonable and offers substantial advantages as compared to direct calls of function modules already developed as subroutines. Also the executed experiments have proved the feasibility to arrange central units of programmable controllers on the basis of standard microcontrollers and such central units may be competitive to compact CPUs available on the market for typical PLCs.
12
Content available remote Universal Query Language for Unified State Model
EN
Unified State Model (USM) is a single data model that allows conveying objects of major programming languages and databases. USM exploits and emphasizes common properties of their data models. USM is equipped with mappings from these data models onto it. With USM at hand, we have faced the next natural research question whether numerous query languages for the data subsumed by USM can be clearly mapped onto a common language. We have designed and proposed such a language called the Unified Query Language (UQL). UQL is intended to be a minimalistic and elegant query language that allows expressing queries of languages of data models covered by USM. In this paper we define UQL and its concise set of operators. Next we conduct a mild introduction into UQL features by showing examples of SQL and ODMG OQL queries and their mapping onto UQL. We conclude by presenting the mapping of the theoretical foundations of these two major query languages onto UQL. They are the multiset relational algebra and the object query algebra. This is an important step towards the establishment of a fully-fledged common query language for USM and its subsumed data models.
EN
Our research is focused on creation of a new object-oriented programming language for Physarum polycephalum computing. Physarum polycephalum is a one-cell organism that can be used for developing a biological architecture of different abstract devices, among others, the digital ones. In the paper, we use an abstract graphical language in the form of Petri nets to describe the Physarum polycephalum behavior. Petri nets are a good formalism to assist designers and support hardware design tools, especially in developing concurrent systems. At the beginning stage considered in this paper, we show how to build Petri net models, and next implement them as Physarum polycephalum machines, of basic logic gates AND, OR, NOT, and simple combinational circuits on the example of the 1-to-2 demultiplexer.
EN
We reconsider work by Bellin and Scott in the 1990s on R. Milner and S. Abramsky’s encoding of linear logic in the π-calculus and give an account of efforts to establish a tight connection between the structure of proofs and of the cut elimination process in multiplicative linear logic, on one hand, and the input-output behaviour of the processes that represent them, on the other, resulting in a proof-theoretic account of (a variant of) Chu’s construction. But Milner’s encoding of the linear lambda calculus suggests consideration of multiplicative co-intuitionistic linear logic: we provide a term assignment for it, a calculus of coroutines which presents features of concurrent and distributed computing. Finally, as a test case of its adequacy as a logic for distributed computation, we represent our term assignment as a λP system. We argue that translations of typed functional languages in concurrent and distributed systems (such as π-calculi or λP systems) are best typed with co-intuitionistic logic, where some features of computations match the logical properties in a natural way.
15
Content available remote On the Accuracy of Rough Approximations of Regular Languages
EN
In this paper we attempt to measure the accuracy of approximations of regular languages by languages in +−varieties (as defined by Eilenberg). These approximations are upper approximations in the sense of Pawlak’s rough set theory with respect to congruences belonging to the variety of congruences corresponding to the given +−variety. In our approach, the accuracy of an approximation is measured by the relative density of the object language in the approximation language and the asymptotic behavior of this quotient. In particular, we apply our measures of accuracy to k-definite, reverse k-definite, i, j-definite and k-testable approximations.
16
Content available remote More About Converting BNF to PEG
EN
Parsing Expression Grammar (PEG) encodes a recursive-descent parser with limited backtracking. The parser has many useful properties. Converting PEG to an executable parser is a rather straightforward task. Unfortunately, PEG is not well understood as a language definition tool. It is thus of a practical interest to construct PEGs for languages specified in some familiar way, such as Backus-Naur Form (BNF). The problem was attacked by Medeiros in an elegant way by noticing that both PEG and BNF can be formally defined in a very similar way. Some of his results were extended in a previous paper by this author. We continue here with further extensions.
17
Content available remote DNA Tiles, Wang Tiles and Combinators
EN
We investigate the relation between Combinatory Logic and Wang Tiles with the aim of studying Combinators as a programming language for Self-Assembly and DNA computing. We introduce a subset of Combinatory Logic, SKI#, which is Turing Complete, includes simply Typed Combinatory Logic and contains only combinators whose computations require finitely many different redexes. Then, we define a language of Tiles, SKI-Tile, for the representation and the computation of the terms of SKI# in Self-Assembly. Moreover, we introduce a program development methodology that given any computable function, expressed in SKI#, provides a finite set of Tiles that self-assemble to return the computations of the function applications. Finally, the methodology is applied to the derivation of a SKI-Tile program that self-assemble to compute the factorial function.
18
Content available remote An Abstract Interpretation Framework for Type and Effect Systems
EN
Type and effect systems significantly extend type systems and allow one to express general semantic properties and to statically reason about programs execution. They have been widely exploited to specify static analyses, for example to track computational side effects, resource usage and communication in concurrent languages. In this paper we adopt abstract interpretation techniques to express type and effect systems as abstract semantics. We extend the Cousot’s methodology by introducing an abstract domain which (i) is able to express types with annotations, (ii) is reusable in different analyses with few modifications and (iii) is easily implementable. To test our approach we reconstruct two analyses for which the type and effect systems approach were successful.
19
Content available remote A Secure Non-monotonic Soft Concurrent Constraint Language
EN
We present a fine-grained security model to enforce the access control on the shared constraint store in Concurrent Constraint Programming (CCP) languages. We show the model for a non-monotonic version of Soft CCP (SCCP), that is an extension of CCP where the constraints have a preference level associated with them. Crisp constraints can be modeled in the same framework as well. In the considered non-monotonic soft version (NmSCCP), it is also possible to remove constraints from the store. The language can be used for coordinating agents on a common store of information that represents the set of shared resources. In such scenarios, it is clearly important to enforce the integrity and confidentiality rights on the resources, in order, for instance, to hide part of the information to some agents, or to prevent an agent to consume too many resources. Finally, we present a bisimulation relation to check equivalence between two programs written in this language.
20
Content available remote A Nonarchimedian Discretization for Timed Languages
EN
We give a discretization of behaviors of timed automata, in which timed languages are represented as sets of words containing action symbols, a clock tick symbol 1, and two delay symbols δ− (negative delay) and δ+ (positive delay). Unlike the region construction, our discretization commutes with intersection. We show that discretizations of timed automata are, in general, context-sensitive languages over Σ ∪ {1, δ+, δ−}, and give a class of counter automata that accepts exactly the class of languages that are discretizations of timed automata, and show that its emptiness problem is decidable.
first rewind previous Strona / 3 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ć.