Several decision making algorithms that are developed in robotics domain are found to be useful in automotive industrial applications. In order to use these algorithms in safety critical embedded systems one has to en...
详细信息
ISBN:
(纸本)9781467364041;9781467364034
Several decision making algorithms that are developed in robotics domain are found to be useful in automotive industrial applications. In order to use these algorithms in safety critical embedded systems one has to ensure a minimum confidence level, quality assurance, and reliability. In addition, decision algorithms are designed and developed by domain experts and system integrators do not have control over the performance of low level components. Hence, there is a compelling need for a scalable framework, which accelerates the system integration and at the same time is conform to safety levels. This position paper presents a Quality of Service (QoS) based component architecture so as to address this problem. Our approach introduces a component model that segregates the functional and non-functional aspects of decision making.
In the software implementation of a general Ambient Intelligence (AmI) system, there are two major issues, on which depend the flexibility and the performance of the project. One is the implementation paradigm - how t...
详细信息
ISBN:
(纸本)9780769549804
In the software implementation of a general Ambient Intelligence (AmI) system, there are two major issues, on which depend the flexibility and the performance of the project. One is the implementation paradigm - how the various entities are organized and how they interact;the other is the management of context information, and how context-awareness is integrated as a first-class element in the implementation. This paper is framed in a research effort to develop an agent-based platform for AmI applications. While in previous research we have already argued in favor of using an agent-oriented paradigm for the implementation, and we have already introduced the concept of context graphs and context patterns, it is in this paper that we argue that matching context patters against context graphs is a valid method for detecting the user's situation and acting upon the user's context. In support of this, we analyze several algorithms for graph matching, adapted to our problem, and compare their performance on specific examples of context matching.
One of the key issues in the education field is the acquisition of skills. This practical knowledge was usually acquired through traditional labs or standalone simulation programs. The World Wide Web and the advance i...
详细信息
ISBN:
(纸本)9781467352611
One of the key issues in the education field is the acquisition of skills. This practical knowledge was usually acquired through traditional labs or standalone simulation programs. The World Wide Web and the advance in web programming language have allowed teachers to create online learning applications, such as virtual web laboratories which can be displayed by Web browser, at any time and everywhere. Currently, a large amount of virtual Web labs can be found in the World Wide Web, and these are able to cover a wide range of educational fields such as physic, chemistry, electronic, medicine, mathematics and languages. This paper describes the process of searching of these laboratories and their packing in Sharable Content object, following the e-learning standard called SCORM.
We present CIRSIUM, a CIRcuit SImulator Using MATLAB® and its objectorientedprogramming language. CIR-SIUM has been developed as a flexible and modular framework in order to enable the rapid development of new ...
详细信息
Interfaces are widely used in Java applications as central design elements for modular programming to increase program reusability and to ease maintainability of software systems. Despite the importance of interfaces ...
详细信息
Interfaces are widely used in Java applications as central design elements for modular programming to increase program reusability and to ease maintainability of software systems. Despite the importance of interfaces and a considerable research effort that has investigated code quality and concrete classes' design, few works have investigated interfaces' design. In this paper, we empirically study interfaces' design and its impact on the design quality of implementing classes (i.e., class cohesion) analyzing twelve Java object-orientedapplications. In this study we propose the "Interface-Implementations Model" that we use to adapt class cohesion metrics to assess the cohesion of interfaces based on their implementations. Moreover, we use other metrics that evaluate the conformance of interfaces to the well-known design principles "Program to an Interface, not an implementation" and "Interface Segregation Principle". The results show that software developers abide well by the interface design principles cited above, but they neglect the cohesion property. The results also show that such design practices of interfaces lead to a degraded cohesion of implementing classes, where these latter would be characterized by a worse cohesion than other classes.
Software systems use several third party libraries via their available interfaces popularly known as the application programming interface (API). The runtime usage of the API in an object-oriented software system can ...
详细信息
ISBN:
(纸本)9780769551258
Software systems use several third party libraries via their available interfaces popularly known as the application programming interface (API). The runtime usage of the API in an object-oriented software system can be defined by several characteristics including the type and number of API objects created, the methods invoked on those objects, and the source code locations from where the objects were created or invoked during their lifetime. These characteristics can be used to identify the source code locations exhibiting different types of runtime behavior which can be used for program comprehension, debugging, performance monitoring and fault detection. In this paper, we define object invocation model based on above-mentioned characteristics. We also propose an implementation framework that can be used to extract key model parameters from any source code. The Java Collections API is one of the most widely used Java APIs. We demonstrate effectiveness of our proposed approach by analyzing object invocation model for Java Collection API in a large open source project.
In experimental robotics, we are often faced with differing requirements between projects and as a project evolves, making the initial choice of technology difficult, often requiring a continuous and tedious developme...
详细信息
ISBN:
(纸本)9781467363587
In experimental robotics, we are often faced with differing requirements between projects and as a project evolves, making the initial choice of technology difficult, often requiring a continuous and tedious development of the low-level parts of the robotic system. We propose the use of FPGAs as a flexible solution to these low-level issues;We here address the hitherto unresolved issue of interfacing the FPGA-based controllers to high-level robotics software running on a PC. This paper presents the Unity-Link software-gateware stack, which connects high-level software frameworks to our modular, FPGA-based generic hardware. Unity-Link provides simple, unified abstractions for quickly and easily interconnecting PC-based systems with nodes that provide hard real-time control of distributed robotic systems. Unity-Link uses a component-based modular bus structure based on open standards, and interfaces with a library of gateware components, enabling us to create complex applications quickly and efficiently. Automated code generation is used to provide convenient, application-specific interfaces to high-level robotics middleware such as ROS.
Business specifications - That formerly only supported IT development - increasingly become business configurations in the form of rules that can be loaded directly into IT solutions. PROLOG is well-known for its qual...
详细信息
Business specifications - That formerly only supported IT development - increasingly become business configurations in the form of rules that can be loaded directly into IT solutions. PROLOG is well-known for its qualities in the development of sophisticated rule systems. It is desirable to combine the advantages of PROLOG with JAVA, since JAVA has become one of the most used programming languages in industry. However, experts of both programming languages are rare. To overcome the resulting interoperability problems, we have developed a framework which generates a JAVA archive that provides methods to query a given set of PROLOG rules;it ensures that valid knowledge bases are transmitted between JAVA and PROLOG. We use XML Schema for describing the format for exchanging a knowledge base between PROLOG and JAVA. From the XML Schema desciption, we scaffold JAVA classes;the JAVA programmer can use them and fill in the open slots by statements accessing other JAVA data structures. The data structure on the JAVA side reflects the complex structured knowledge base, with which the PROLOG rules work, in an object-oriented way. We can to some extend verify the correctness of the data set / knowledge base sent from JAVA to PROLOG using standard methods for XML Schema. Moreover, we can add constraints that go beyond XML. For instance, we can specify standard integrity constraints known from relational databases, such as primary key, foreign key, and not-null constraints. Since we are dealing with complex structured XML data, however, there can be far more general integrity constraints. These can be expressed by standard PROLOG rules, which can be evaluated on the PROLOG side;they could also be compiled to JAVA by available PROLOG to JAVA converters such as Prolog Cafe - since they will usually be written in a supported subset of PROLOG. We have used our framework for integrating PROLOG business rules into a commercial E-Commerce system written in JAVA.
As more applications migrate to the cloud, and as "big data" edges into even more production environments, the performance and simplicity of exchanging data between compute nodes/devices is increasing in imp...
详细信息
As more applications migrate to the cloud, and as "big data" edges into even more production environments, the performance and simplicity of exchanging data between compute nodes/devices is increasing in importance. An issue central to distributed programming, yet often under-considered, is serialization or pickling, i.e., persisting runtime objects by converting them into a binary or text representation. Pickler combinators are a popular approach from functional programming;their composability alleviates some of the tedium of writing pickling code by hand, but they don't translate well to object-orientedprogramming due to qualities like open class hierarchies and subtyping polymorphism. Furthermore, both functional pickler combinators and popular, Java-based serialization frameworks tend to be tied to a specific pickle format, leaving programmers with no choice of how their data is persisted. In this paper, we present object-oriented pickler combinators and a framework for generating them at compile-time, called scala/pickling, designed to be the default serialization mechanism of the Scala programming language. The static generation of OO picklers enables significant performance improvements, outperforming Java and Kryo in most of our benchmarks. In addition to high performance and the need for little to no boilerplate, our framework is extensible: using the type class pattern, users can provide both (1) custom, easily interchangeable pickle formats and (2) custom picklers, to override the default behavior of the pickling framework. In benchmarks, we compare scala/pickling with other popular industrial frameworks, and present results on time, memory usage, and size when pickling/unpickling a number of data types used in real-world, large-scale distributed applications and frameworks.
The proceedings contain 79 papers. The topics discussed include: agile architecture methodology: long term strategy interleaved with short term tactics;retaining comments when refactoring code;decentralized control of...
The proceedings contain 79 papers. The topics discussed include: agile architecture methodology: long term strategy interleaved with short term tactics;retaining comments when refactoring code;decentralized control of automatic guided vehicles: applying multi-agent systems in practice;NOAO imaging meta data quality improvement: a case study of the evolution of a service oriented system;performance pitfalls in large-scale Java applications translated from COBOL;processing heterogeneous abstract syntax trees with the mutable class pattern;a workload model of topic-based publish/subscribe systems;SyQL: an objectoriented, fuzzy, temporal query language for repositories of software artifacts;aspect weaving for OSGi;automated testing of non-functional requirements;compile-time type-checking for custom type qualifiers in Java;enforcing reference and object immutability in Java;and refactoring support for the groovy-eclipse plug-in.
暂无评论