358,712 research outputs found
Building Blocks for Control System Software
Software implementation of control laws for industrial systems seem straightforward, but is not. The computer code stemming from the control laws is mostly not more than 10 to 30% of the total. A building-block approach for embedded control system development is advocated to enable a fast and efficient software design process.\ud
We have developed the CTJ library, Communicating Threads for JavaÂż,\ud
resulting in fundamental elements for creating building blocks to implement communication using channels. Due to the simulate-ability, our building block method is suitable for a concurrent engineering design approach. Furthermore, via a stepwise refinement process, using verification by simulation, the implementation trajectory can be done efficiently
Advanced information processing system: Local system services
The Advanced Information Processing System (AIPS) is a multi-computer architecture composed of hardware and software building blocks that can be configured to meet a broad range of application requirements. The hardware building blocks are fault-tolerant, general-purpose computers, fault-and damage-tolerant networks (both computer and input/output), and interfaces between the networks and the computers. The software building blocks are the major software functions: local system services, input/output, system services, inter-computer system services, and the system manager. The foundation of the local system services is an operating system with the functions required for a traditional real-time multi-tasking computer, such as task scheduling, inter-task communication, memory management, interrupt handling, and time maintenance. Resting on this foundation are the redundancy management functions necessary in a redundant computer and the status reporting functions required for an operator interface. The functional requirements, functional design and detailed specifications for all the local system services are documented
Teaching Concurrent Software Design: A Case Study Using Android
In this article, we explore various parallel and distributed computing topics
from a user-centric software engineering perspective. Specifically, in the
context of mobile application development, we study the basic building blocks
of interactive applications in the form of events, timers, and asynchronous
activities, along with related software modeling, architecture, and design
topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and
Distributed Computing - Core Topics for Undergraduate
Development of system supervision and control software for a micromanipulation system
This paper presents the realization of a modular software architecture that is capable of handling the complex supervision structure of a multi degree of freedom open architecture and reconfigurable micro assembly workstation. This software architecture initially developed for a micro assembly workstation is later structured to form a framework and design guidelines for precise motion control and system supervision tasks explained subsequently through an application on a micro assembly workstation. The software is separated by design into two different layers, one for real-time and the other for non-realtime. These two layers are composed of functional modules that form the building blocks for the precise motion control and the system supervision of complex mechatronics systems
Deal2lkit: a Toolkit Library for High Performance Programming in deal.II
We propose a software design for the efficient and flexible handling of the building blocks used in high performance finite element simulations, through the pervasive use of parameters (parsed through parameter files). In the proposed design, all the building blocks of a high performance finite element program are built according to the command and composite design patterns.We present version 1.1.0 of the deal2lkit (deal.II ToolKit) library, which is a collection of modules and classes aimed at providing high level interfaces to several deal.II classes and functions, obeying the command and composite design patterns, and controlled via parameter files. Keywords: Object-orientation, Software design, Finite element methods, C+
Business engineering building blocks
In order to utilize the contemporary advanced technology, business processes
need sound software support. With respect to this, one frequent cause of
software project failure is the mismatch between the business requirements and
the actual functionality of the delivered software application. To solve this
problem, it is necessary to build software stemming out from a business
process model. Aiming at aligning business process modeling and software
design in a component-based way, the proposed research investigates the
identification of generic business engineering building blocks and their use
for building ICT applications which effectively support business processes
The Architecture of Complexity Revisited: Design Primitives for Ultra-Large-Scale Systems
As software-intensive systems continue to grow in scale and complexity the techniques that we have used to design and analyze them in the past no longer suffice. In this paper we look at examples of existing ultra-large-scale systemsâsystems of enormous size and complexity. We examine instances of such systems that have arisen spontaneously in nature and those that have been human-constructed. We distill from these example systems the design primitives that underlie them. We capture these design primitives as a set of tacticsâ fundamental architectural building-blocksâand argue that to efficiently build and analyze such systems in the future we should strongly consider employing such building-blocks
- âŠ