32 research outputs found

    БСмантичСски-ориСнтированная миграция Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ: ΠΎΠΏΡ‹Ρ‚ практичСского примСнСния

    Get PDF
    The purpose of the study is to demonstrate the feasibility of automated code migration to a new set of programming libraries. Code migration is a common task in modern software projects. For example, it may arise when a project should be ported to a more secure or feature-rich library, a new platform or a new version of an already used library. The developed method and tool are based on the previously created by the authors a formalism for describing libraries semantics. The formalism specifies a library behaviour by using a system of extended finite state machines (EFSM). This paper outlines the metamodel designed to specify library descriptions and proposes an easy to use domainspecific language (DSL), which can be used to define models for particular libraries. The mentioned metamodel directly forms the code migration procedure. A process of migration is split into five steps, and each step is also described in the paper. The procedure uses an algorithm based on the breadth- first search extended for the needs of the migration task. Models and algorithms were implemented in the prototype of an automated code migration tool. The prototype was tested by both artificial code examples and a real-world open source project. The article describes the experiments performed, the difficulties that have arisen in the process of migration of test samples, and how they are solved in the proposed procedure. The results of experiments indicate that code migration can be successfully automated. Данная ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π—Π°Π΄Π°Ρ‡Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ (портирования) ΠΊΠΎΠ΄Π° часто встрСчаСтся Π² соврСмСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. НапримСр, такая Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСнСсти Π½Π° Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ»ΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ прСдставлСна ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, основанная Π½Π° сСмантичСском ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅. Для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΌΠ΅Ρ‚Π°ΠΌΠΎΠ΄Π΅Π»ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ ΠΈ прСдназначСнная для описания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках. Π€ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ описываСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² (РКА). ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° ΠΏΡΡ‚ΡŒ шагов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан Π² тСкстС ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вычислСния эквивалСнтной трассы Π½Π° основС поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ΅ инструмСнта ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΌΠΎΠ΄ΡƒΠ»ΠΈ извлСчСния трассы выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ нСпосрСдствСнно ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. Для инструмСнта Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ язык описания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ инструмСнта Π±Ρ‹Π» протСстирован ΠΊΠ°ΠΊ Π½Π° искусствСнных ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ экспСримСнты, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ слоТности, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π² процСссС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ тСстовых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅. Π’ качСствС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² экспСримСнтах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ протоколирования. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ миграция ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° с использованиСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

    О ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ стоянок ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ диспСтчСрских слуТб Π·Π°ΠΊΠ°Π·ΠΎΠ² такси Π² МосквС

    Get PDF
    The article considers the technological aspects ofΒ organization of passenger and baggage transportation byΒ taxi cabs in megacities, referring particularly to the practicesΒ of a number of countries.The authors analyze l e g a l regulation andΒ technological development of taxi services in MoscowΒ metropolitan area, including the current system forΒ organizing the work of passenger taxi dispatch servicesΒ taking into account centralization of information flows inΒ a single city system.An analysis of methods for planning placement of taxiΒ ranks shows that outdated approaches are used to solve thatΒ problem without using modern information and communicationΒ technologies. In this regard, the methodological foundationsΒ of planning the organization of taxi ranks based on geoinformationΒ data in the city of Moscow are proposed.The studies and analysis made it possible to determineΒ relevance and feasibility of existing and justification forΒ planning of new taxi ranks, taking into account theΒ requirements for rationality of location of taxi ranks from theΒ point of view of ensuring a small walking distance forΒ passengers, as well as reducing time of car delivery.Β The proposed method using accurate coordinatesΒ transmitted by the largest taxi dispatch service companiesΒ into the Unified Regional Navigation and Information SystemΒ of the city of Moscow allows to implement these requirements.Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСны тСхнологичСскиС аспСкты систСмы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ·ΠΎΠΊ пассаТиров ΠΈ Π±Π°Π³Π°ΠΆΠ°Β Π»Π΅Π³ΠΊΠΎΠ²Ρ‹ΠΌΠΈ такси Π² мСгаполисах, Π² Ρ‚ΠΎΠΌ числС Π½Π° примСрС ряда стран.ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Π°Π½Π°Π»ΠΈΠ· Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ³ΠΎ рСгулирования ΠΈ тСхнологичСского развития таксомоторных пСрСвозок Π² Московской Π°Π³Π»ΠΎΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ Ρ‡ΠΈΡΠ»Π΅Β Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ систСмы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ диспСтчСрских слуТб Π·Π°ΠΊΠ°Π·ΠΎΠ² Π»Π΅Π³ΠΊΠΎΠ²Ρ‹Ρ… такси с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ городской систСмС.Анализ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ планирования размСщСния стоянок такси ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹Β ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· примСнСния соврСмСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.Π’ этой связи ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ мСтодичСскиС основы планирования ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ стоянок такси Π½Π° основС Π³Π΅ΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ МосквС.Β Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ исслСдования ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈΒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ обоснованиС планирования Π½ΠΎΠ²Ρ‹Ρ… стоянок лСгковых такси с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ трСбования ΠΊ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ их располоТСния с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния обСспСчСния быстрого подхода пассаТиров, Π° Ρ‚Π°ΠΊΠΆΠ΅ сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° с использованиСм Ρ‚ΠΎΡ‡Π½Ρ‹Ρ…Β ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… диспСтчСрских слуТб Π·Π°ΠΊΠ°Π·Π° Π»Π΅Π³ΠΊΠΎΠ²Ρ‹Ρ… такси Π² Π•Π΄ΠΈΠ½ΠΎΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉΒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π³ΠΎΡ€ΠΎΠ΄Π° ΠœΠΎΡΠΊΠ²Ρ‹, позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ трСбования
    corecore