The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
We propose a novel approach for visualizing reverse-engineered Unified Modeling Language (UML) diagrams (class, object, and sequence) to improve Object-Oriented Program (OOP) comprehension on a web-based programming environment, JaguarCode. It aims to help students better understand static structure and dynamic behavior of Java programs and object-oriented programming concepts. This paper presents...
This paper presents an approach of static and dynamic visualizations synchronized along with source code in a web-based programming environment, JavelinaCode. Using JavelinaCode, student programmers can write Java programs directly in a frontend web browser without any software or plug-in installation. They are provided with a view of the static state of a Java program in UML class diagrams and the...
An autonomous robot case study illustrates the use of the behavior, interaction, priority (BIP) component framework as a unifying semantic model to ensure correctness of essential system design properties.
HPE is a platform of parallel components that complies to the # component model, whose components are intrinsically parallel. This paper describes the design of a new CCA framework based on HPE, aimed to reconcile distribution and parallelism of components. Besides exposing the essential differences between the two platforms, the new framework has a set of features that distinguishes it from other...
Data race is one of the most common programming errors in multi-threaded programs and there exist many static, dynamic or hybrid approaches targeted at detecting them. Unlike most previous works, this paper proposes a new data race detection algorithm for multi-threaded object-oriented programs, which leverages the fact that large complicated multi-threaded programs usually provide comprehensive logging...
System behaviors are implemented through interacting between components during the method of component-based software development. Therefore, how to formal the component behaviors have become an important problem. This paper presents a component behavioral modeling method based on event track, which utilize a process with the event track to describe the behavior of component, the event set may be...
Aspect-oriented software development is an approach which addresses the construction of software artifacts that traditional software engineering constructs fail to modularize: the so-called crosscutting concerns. However, although aspect-orientation claims to permit a better modularization of crosscutting concerns, it is still not clear whether the development time for such crosscutting concerns is...
With the aim for promoting separation of crosscutting concerns, the notion of aspects are currently introduced throughout the lifecycle of software development, even to other domains. Many aspects are found, designed or implemented thereby. As the concrete specification and implementation mechanisms vary greatly among aspects, it is relatively complex and difficult to compare them. This paper provides...
Synchronization is an important problem in the design and development of the software, which has been resolved in the object-oriented programming (OOP). However, the implementation of OOP is easy to leads to code-tangling and code-scattering between functional properties and crosscutting properties. Aspect-oriented programming (AOP) can solve the problem of code-tangling and code-scattering, and provide...
To evaluate the suitability and expressive power of JBOSS jBPM and jPDL, on the base of research on workflow patterns, this paper implements some workflow patterns in jBPM and jPDL with their flexibility and extensibility. It proposes some methods: adding scripts to implement multi-choice pattern; setting the node Joinpsilas attribute "is Discrimininator" in the runtime to implement discriminator...
Many of todaypsilas software-to-hardware compiler projects try to find dataflow parallelism in a sequential program description and use it to generate parallel running hardware components. In this paper we present a new possibility to do a parallel description based on the combination of object-oriented programming and dynamically partial reconfiguration. Our compiler translates software objects directly...
We propose a modular verification methodology for aspect oriented programs. Aspects are the new modularization units to encapsulate crosscutting concerns and have powerful features whose effects can drastically change software behavior. Having such an impact on behavior requires an automated verification support. In this work we introduce a technique that separately answers two questions: "does...
Distributed software systems are characterized by increasing autonomy. They often have the capability to sense the environment and react to it, discover the presence of other systems and take advantage of their services, adapt and re-configure themselves in accordance with the internal as well as the global state. Testing this kind of systems is challenging, and systematic and automated approaches...
Because of the strong coupling of classes and the proliferation of unneeded class members induced by inheritance, the suggestion to use composition and delegation instead has become common place. The presentation of a corresponding refactoring in the literature may lead one to believe that such a transformation is a straightforward undertaking. However, closer analysis reveals that this refactoring...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.