To accomplish multi-dimensional separation of concerns (MDSOC) with Hyper/JTM, a tool available for free download, in the context of standard JavaTM development is described. Hyper/J does not require any special langu...
详细信息
To accomplish multi-dimensional separation of concerns (MDSOC) with Hyper/JTM, a tool available for free download, in the context of standard JavaTM development is described. Hyper/J does not require any special languages or language variants, compilers, development environments, or processes-it works with standard Java, using any compiler, development environment, methodology and process. It can be used at any stage of the software lifecycle-from design and initial development of code, to the evolution of pre-existing code, to the adaptation and integration of separately developed components.
Event Graphs are a simple and elegant language-independent way of representing a Discrete Event Simulation (DES) model. In this paper we propose an extension to basic Event Graphs that enables small models to be encap...
详细信息
Event Graphs are a simple and elegant language-independent way of representing a Discrete Event Simulation (DES) model. In this paper we propose an extension to basic Event Graphs that enables small models to be encapsulated in reusable modules called Listener Event Graph Objects (LEGOs). These modules are linked together using a design pattern from Object Oriented programming called the "listener pattern" to produce new modules of even greater complexity. The modules generated in this way can themselves be linked and encapsulated, forming a hierarchical design which is highly scalable. These concepts have been implemented in Simkit, a freely available simulation package implemented in Java.
A design model may be used from functional validation to designimplementation: In this paper a C model that has already been used to validate and estimate functional performance is used to explore data transfer and s...
详细信息
ISBN:
(纸本)0769518079
A design model may be used from functional validation to designimplementation: In this paper a C model that has already been used to validate and estimate functional performance is used to explore data transfer and storage aiming at reducing power consumption. Through this model a systematic methodology for power management (DTSE) is applied to a block turbo-decoding algorithm. Estimations of power dissipation are done using a tool for counting memory accesses in a executable C code. Results show a decrease of 25% in power dissipation.
A Java 3dimensional (3D) application to support formation of virtual groups and which also has the potential to improve the functioning of virtual teams is proposed. The avatars are used as a mechanism for collaborati...
详细信息
ISBN:
(纸本)1581134991
A Java 3dimensional (3D) application to support formation of virtual groups and which also has the potential to improve the functioning of virtual teams is proposed. The avatars are used as a mechanism for collaborative group members to represent themselves over the web. The client server application written utilizes the Java 3D API. A key design challenge which is used to support asynchronous collaborations between avatars is used.
Dynamic programming is a classic programming technique, applicable in a wide variety of domains, like stochastic systems analysis, operations research, combinatorics of discrete structures, flow problems, parsing ambi...
详细信息
The complexity of communication scenarios between agents make multi-agent systems difficult to build. Most of the existing Agent-Oriented Software Engineering methodologies face this complexity by guiding the develope...
详细信息
ISBN:
(纸本)9781581134803
The complexity of communication scenarios between agents make multi-agent systems difficult to build. Most of the existing Agent-Oriented Software Engineering methodologies face this complexity by guiding the developers through a rather waterfall-based process with a series of intermediate modeling artifacts. While these methodologies lead to executable prototypes relatively late and are expensive when requirements change, we explore a rather evolutionary approach with explicit support for change and rapid feedback. In particular, we apply Extreme programming, a modern agile methodology from object-oriented software technology, for the design and implementation of multi-agent systems. The only modeling artifacts that are being maintained in our approach are a process model with which domain experts and developers design and communicate agent application scenarios, and the executable agent source code including automated test cases. We have successfully applied our approach for the development of a prototypical multi-agent system for clinical information logistics.
We extend live sequence charts (LSCs), a highly expressive variant of sequence diagrams, and provide the extension with an executable semantics. The extension involves support for instances that can bind to multiple o...
详细信息
We extend live sequence charts (LSCs), a highly expressive variant of sequence diagrams, and provide the extension with an executable semantics. The extension involves support for instances that can bind to multiple objects and symbolic variables that can bind to arbitrary values. The result is a powerful executable language for expressing behavioral requirements on the level of inter-object interaction. The extension is implemented in full in our play-engine tool, with which one can execute the requirements directly without the need to build or synthesize an intra-object system model. It seems that in addition to many advantages in testing and requirements engineering, for some kinds of systems this could lead to the requirements actually serving as the final implementation.
Verification is one of the most complex and expensive tasks in the current Systems-on-Chip (SOC) design process. Many existing approaches employ a bottom-up approach to pipeline validation, where the functionality of ...
详细信息
ISBN:
(纸本)0769514413
Verification is one of the most complex and expensive tasks in the current Systems-on-Chip (SOC) design process. Many existing approaches employ a bottom-up approach to pipeline validation, where the functionality of tin existing pipelined processor is, in essence, reverse-engineered from its RT-level implementation. Our approach leverages the system architect's knowledge about the behavior of the pipelined architecture, through Architecture Description language (ADL) constructs, and thus allows a powerful top-down approach to pipeline validation. This paper addresses automatic validation of processor memory, and co-processor pipelines described in an ADL. We present a graph-based modeling of architectures which captures both structure and behavior of the architecture. Based on this model, we present formal approaches for automatic, validation of the architecture described in the ADL. We applied our methodology to verify several realistic architectures from different architectural domains to demonstrate the usefulness of our approach.
Keeping the code of a Java(TM) application consistent (code is consistent if all of the project classes can be recompiled together without errors) prevents late linking errors, and thus may significantly improve devel...
详细信息
Keeping the code of a Java(TM) application consistent (code is consistent if all of the project classes can be recompiled together without errors) prevents late linking errors, and thus may significantly improve development turnaround time. In this paper we describe a make technology for the Java programminglanguage, that is based on smart dependency checking, guarantees consistency of the project code, and at the same time reduces the number of source code recompilations to the minimum. After project code consistency is initially assured by complete recompilation, the information extracted from the binary classes is stored in a so-called project database. Whenever the source code for some class C is changed, its recompiled binary is compared to the old version of C preserved in the project database. As a, result, we find a minimum subset of classes that depend on C and may be affected by the particular change made to it. These are recompiled in turn, and absence of compilation errors at this phase guarantees the consistency of the new project code. To determine which dependent classes to recompile, we categorize all source incompatible changes, and for each category establish a criterion for finding the smallest possible subset of dependent classes.
In spite of the proliferation of object-oriented design methodologies in contemporary software development, their application to real-time embedded systems has been limited because of the practitioner's conservati...
详细信息
ISBN:
(纸本)1581135270
In spite of the proliferation of object-oriented design methodologies in contemporary software development, their application to real-time embedded systems has been limited because of the practitioner's conservative attitude toward handling timing constraints. In fact, this conservative attitude is well-grounded because traditional priority-based scheduling techniques cannot be straightforwardly integrated into them. The automated implementation from the object-oriented real-time designs usually incurs a large number of tasks which, under traditional priority-based scheduling techniques, does not scale well due to excessive preemption overheads. Recently, preemption threshold scheduling was introduced to reduce run-time multi-tasking overhead while improving schedulability by exploiting non-preemptibility as much as possible. Unfortunately, the preemption threshold scheduling cannot be directly adopted into the object-oriented design methods due to the lack of real-time synchronization. In this paper, we present the essential basis of real-time synchronization for preemption threshold scheduling. Specifically, we integrate the priority inheritance protocol, the priority ceiling protocol, and the immediate inheritance protocol into preemption threshold scheduling. We also provide their schedulability analyses. Consequently, the integrated scheme, which minimizes worst-case context switches, is appropriate for the automated implementation of real-time object-oriented design models.
暂无评论