We detect design patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classify potential pattern instances according to the evidence our analyse...
详细信息
ISBN:
(纸本)0769518834
We detect design patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classify potential pattern instances according to the evidence our analyses provide. We discuss our approach for the Observer, Composite, Mediator, Chain of Responsibility and Visitor Patterns. Our java analysis tool analyzes java programs. We evaluate our approach by applying the tool on itself and on the java SwingSetExample using the Swing library.
The object-oriented paradigm has become popular over the last years due to its characteristics that help managing the complexity in computer systems design. This feature also attracted the embedded systems community, ...
详细信息
ISBN:
(纸本)9783981080117
The object-oriented paradigm has become popular over the last years due to its characteristics that help managing the complexity in computer systems design. This feature also attracted the embedded systems community, as today's embedded systems need to cope with several complex functionalities as well as timing, power, and area restrictions. Such scenario has promoted the use of the javalanguage and its real-time extension (RTSJ) for embedded real-time systems design. Nevertheless, the RTSJ was not primarily designed to be used within the embedded domain. This paper presents an approach to optimize the use of the RTSJ for the development of embedded real-time systems. Firstly, it describes how to design real-time embedded applications using an API based on RTSJ. Secondly, it shows how the generated code is optimized to cope with the tight resources available, without interfering in the mandatory timing predictability of the generated system. Finally it discusses an approach to synthesize the applications on top of affordable FPGAs. The approach used to synthesize the embedded real-time system ensures a bounded timing behavior of the object-oriented aspects of the application, like the polymorphism mechanism and read/write access to object's data fields.
A primary goal of program performance understanding tools is to focus the user's attention directly on optimization opportunities where significant cost savings may be found. Optimization opportunities fall into (...
详细信息
ISBN:
(纸本)0769517366
A primary goal of program performance understanding tools is to focus the user's attention directly on optimization opportunities where significant cost savings may be found. Optimization opportunities fall into (at least) three broad categories: the call context of a general component may obviate the need for some of its generality;cross-cutting program aspects may be implemented suboptimally for the particular context of use;and thread dependencies may cause unintended delays. This paper enhances prior work in call path profiling[5] in several ways. First, it provides two different call path oriented views on program performance, a server view and a thread view. The former helps one optimize for throughput, while the latter is useful for optimizing thread latency The views incorporate a typed time notation for representing different program activities, such as monitor wait and thread preemption times. Second, the new framework allows aspect-oriented program profiling, even when the original program was not designed in an aspect oriented fashion. Finally, the approach is implemented in a tool, CPPROFJ, an aspect-capable call path profiler for java. It exploits recent developments in the java APIs to achieve accurate and portable sampling-based profiling. Three case studies illustrate its use.
Nowadays, java is highly prevalent due to its portability and object-oriented design. To aid novice learners, we have developed javaprogramming Learning Assistant System (JPLAS) with the ***-based platform. Currently...
详细信息
ISBN:
(纸本)9798350386851;9798350386844
Nowadays, java is highly prevalent due to its portability and object-oriented design. To aid novice learners, we have developed javaprogramming Learning Assistant System (JPLAS) with the ***-based platform. Currently, JPLAS offers seven problem types at different levels, allowing automatic marking of answers through string matching. In this paper, we present the implementation of JPLAS in the 2023 javaprogramming course at Okayama University, Japan. For this course, we generated 133 problem instances aligned with its curriculum and assigned them to 56 third-year students. The solution results highlight difficulty variations across the problem types and affirm the effectiveness in the course.
Build systems are widely used in today's software projects to automate integration and build processes. Similar to source code, build specifications need to be maintained to avoid outdated specifications, and buil...
详细信息
ISBN:
(纸本)9781538649695
Build systems are widely used in today's software projects to automate integration and build processes. Similar to source code, build specifications need to be maintained to avoid outdated specifications, and build breakage as a consequence. Recent work indicates that neglected build maintenance is one of the most frequently occurring reasons why open source and proprietary builds break. In this paper, we propose BUILDMEDIC, an approach to automatically repair Maven builds that break due to dependency-related issues. Based on a manual investigation of 37 broken Maven builds in 23 open source java projects, we derive three repair strategies to automatically repair the build, namely Version Update, Delete Dependency, and Add Repository. We evaluate the three strategies on 84 additional broken builds from the 23 studied projects in order to demonstrate the applicability of our approach. The evaluation shows that BUILDMEDIC can automatically repair 45 of these broken builds (54%). Furthermore, in 36% of the successfully repaired build breakages, BUILDMEDIC outputs at least one repair candidate that is considered a correct repair. Moreover, 76% of them could be repaired with only a single dependency correction.
We present an agent-based approach to Dantzig-Wolfe column generation (a decomposition approach), which is applied to an integrated production, inventory, and distribution routing optimization problem. The decompositi...
详细信息
ISBN:
(纸本)9783642016646
We present an agent-based approach to Dantzig-Wolfe column generation (a decomposition approach), which is applied to an integrated production, inventory, and distribution routing optimization problem. The decomposition model has been implemented in the java programming language, using the java Agent DEvelopment Framework (JADE) and the ILOG CPLEX mixed integer linear optimization problem solver. The model has been validated oil a set of realistic scenarios and based on the results, we estimate the potential performance improvement which can be obtained by using a completely distributed implementation. We analyze the overhead, in terms of communication costs, that is imposed by an agent-based approach.
In the paper, we describe selected functionality of the current version of a new software tool, called Physarum Soft, developed for programming Physarum machines and simulating Physarum games. The tool was designed fo...
详细信息
ISBN:
(纸本)9788360810668
In the paper, we describe selected functionality of the current version of a new software tool, called Physarum Soft, developed for programming Physarum machines and simulating Physarum games. The tool was designed for the java platform. A Physarum machine is a biological computing device implemented in the plasmodium of Physarum polycephalum or Badhamia utricularis that are one-cell organisms able to build programmable complex networks. The plasmodial stage of such organisms is a natural transition system that can be used as a medium for solving different computational tasks as well as creating bio-inspired strategy games.
To facilitate the students and faculties so that they can save their time and eases their work by submitting and evaluating their assignment online through a website. In addition to the submission of the work on line,...
详细信息
ISBN:
(纸本)1880843439
To facilitate the students and faculties so that they can save their time and eases their work by submitting and evaluating their assignment online through a website. In addition to the submission of the work on line, the main goal for this project is to develop a tool that can be used by the instructor to speedup the homework grading. The java programming language assignment submitted by student will automatically run by the system and result generated. The language used to develop the system is also java. Oracle 8i is used as database. The web server used is javaWebserver from SUN. The architecture is a three tier architecture.
The widely used safety analysis techniques usually assume that accidents mainly occur by the failures of system components. That's why the classical techniques focus on either preventing the failures of the critic...
详细信息
ISBN:
(数字)9781624106095
ISBN:
(纸本)9781624106095
The widely used safety analysis techniques usually assume that accidents mainly occur by the failures of system components. That's why the classical techniques focus on either preventing the failures of the critical components or adding redundancy to back them up. Such techniques suffer from various limitations;most importantly is the main focus is in enhancing the defined system - by redundancy for example - without approaching a safer design from the beginning. In the previous years, a new technique is introduced called STPA (System-Theoretic Process Analysis) which is based upon a new accident model called STAMP (Systems-Theoretic Accident Model and Processes)[1]. One of the advantages of this technique is that it focuses in defining earliest design decisions upon safety considerations. The output of such technique consists of the unsafe scenarios and safety constraints to be taken in consideration during early design steps. Recently, various developers tried to adapt the new STPA technique in a software tool. The tools focus in defining a control process of the system and providing a general solution of safety considerations. Our work in the past years has been targeting the improvement of MBSA (Model-Based Safety analysis) tools to provide more accurate, cohesive failure analysis automatically [2]. Our developed methods based upon using component models of failure modes along with a system structure and systematically capturing the critical single components or combinations causing a system failure. In this paper we are trying to utilize the STPA techniques in our methods. The STPA method shall not be only used to define safety constraints of a system but also rectify a system hierarchy by providing design modifications that will handle any captured unsafe scenarios. These unsafe scenarios usually are not captured using the classical safety analysis methods utilized in most of the MBSA tools. Our approach is intended to be used in the early design steps in whic
One of the basic requirements when managing moving objects in data stream management systems (DSMS) is visualization of continuous queries results on the map. In most cases, the result of a continuous query is data st...
详细信息
ISBN:
(纸本)9789532330816
One of the basic requirements when managing moving objects in data stream management systems (DSMS) is visualization of continuous queries results on the map. In most cases, the result of a continuous query is data stream whose elements contains information about locations of moving objects so that we are talking about visualization of streaming trajectories. Such visualization involves redrawing the location of moving objects for each new arriving element of data stream that represents the result of a continuous query. In this paper we present an application that allows you to pose continuous queries and visualize their results in OCEANUS DSMS prototype for managing spatio-temporal data streams. The application is based on the java programming language, swingx-ws library for interacting with web services and OpenStreetMap web service that provides free maps of the world. The application allows users familiar with CSQL to pose queries directly using this query language, while beginners can pose a query through creating the conditions by selecting one or more operations from a set of basic operations on moving objects. In addition to presenting current positions of each moving object which satisfies the condition of continuous query it is also enabled to view the entire trajectory of a moving object.
暂无评论