Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2010, Robot Vision
…
14 pages
1 file
This paper explores the integration of active vision in mobile robots, emphasizing the challenges and solutions associated with implementing attention mechanisms in multitasking environments. It reviews existing literature on active vision robotics and discusses the complexities of encoding software engineering practices for improved reusability and maintenance. A case study of the MTVS system is analyzed, presenting experimental results that demonstrate the system's application in real-world scenarios.
Science of Computer Programming, 2015
Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each programming task. Depending on the required level of correctness, expressed in a residual error probability (typically 10 −3 to 10 −10 ), each programming task must be carried out redundantly 4 to 8 times. This number is hardly influenced by the size of a programming endeavour. Training software engineers does have some effect as non trained software engineers require a double amount of redundant tasks to deliver software of a desired quality. More compact programming, for instance by using domain specific languages, only reduces the number of redundant tasks by a small constant.
Václav.Rajlich is professor and former chair of computer science at Wayne State University. Before that, he taught at the University of Michigan and worked at the Research Institute for Mathematical Machines in Prague, Czech Republic. He received a PhD in mathematics from Case Western Reserve University and has been practicing and teaching software engineering since 1975. His research centers on software evolution and comprehension. He has published approximately 90 refereed papers in journals and conferences, was a keynote speaker at five conferences, has graduated 12 PhDs, and has supervised approximately 40 MS student theses. He is a member of the editorial board of the Journal of Software Maintenance and Evolution. He is also the founder and permanent steering committee member of the IEEE International Conference on Program Comprehension (ICPC) and was a program chair, general chair, and steering committee chair of the IEEE International Conference on Software Maintenance (ICSM).
WARNUNG preliminary lecture notes Dieser Text beschreibt in komprimierter Form die Inhalte der Vorlesung "Grundlagen der Programmentwurfstechnik 1" wie sie regelmäßig an der Universität Duisburg-Essen für Studierende in den Bachelor Studiengängen der Abteilung Elektrotechnik-und Informationstechnik gelesen wird. Die überwiegend ausländischen Studierenden haben immer wieder den Wunsch nach englischsprachigen Vorlesungsunterlagen geäußert. Aus diesem Grund wird seit 1999 der vorliegende Text den Studierenden zur Verfügung gestellt. Es wird dringend zur kritischen Verwendung des Textes geraten, da die abschließende Korrektur noch aussteht und einige Bilder noch nicht ins Englische übersetzt sind. Außerdem sind inhaltliche Anpassungen des Stoffes in den letzten Jahres erfolgt, die sich noch nicht im Text wiederfinden. Daher soll der Text in erster Linie vorlesungsbegleitend eingesetzt werden und die eigenen Vorlesungsmitschriften ergänzen, diese aber auf keinen Fall ersetzen.
This paper describes the architecture of an active-vision system that has been conceived to ease the concurrent utilization of a visual sensor by several tasks on a mobile robot. We describe in detail the functional architecture of the system and provide several solutions to the problem of sharing the visual atten-tion when several visual tasks need to be in-terleaved. The system's design hides this com-plexity to client processes that can be designed as if they were exclusive users of the visual system. Some preliminary results obtained in experiments with real mobile robots are also provided.
2017
In order to tackle the development of concurrent and distributed systems, the active object programming model provides a high-level abstraction to program concurrent behaviours. There exists already a variety of active object frameworks targeted at a large range of application domains : modelling, verification, efficient execution. However, among these frameworks, very few consider a multi-threaded execution of active objects. Introducing controlled parallelism within active objects enables overcoming some of their limitations. In this paper, we present a complete framework around the multi-active object programming model. We present it through ProActive, the Java library that offers multi-active objects, and through MultiASP, the programming language that allows the formalisation of our developments. We then show how to compile an active object language with cooperative multi-threading into multi-active objects. This paper also presents different use cases and the development suppo...
2017
In order to tackle the development of concurrent and distributed systems, the active object programming model provides a high-level abstraction to program concurrent behaviours. There exists already a variety of active object frameworks targeted at a large range of application domains: modelling, verification, efficient execution. However, among these frameworks, very few consider a multi-threaded execution of active objects. Introducing controlled parallelism within active objects enables overcoming some of their limitations. In this paper, we present a complete framework around the multi-active object programming model. We present it through ProActive, the Java library that offers multi-active objects, and through MultiASP, the programming language that allows the formalisation of our developments. We then show how to compile an active object language with cooperative multi-threading into multi-active objects. This paper also presents different use cases and the development suppor...
International Journal of Advanced Robotic Systems, 2006
The paper investigates the concept of software "stability" applied to robot systems. We define "stable" a family of systems modelled, designed and implemented so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components. During the last few years, many ideas and technologies of software engineering (e.g. modularity, OO development and design patterns) were introduced in the development of robotic systems to improve the "stability" property. All these ideas and technologies are important. Nevertheless, they model robotic systems along a unique direction: the functional decomposition of parts. Unfortunately, there are concerns of robotic systems that relate to the systems as a whole hence crosscutting their modular structure. The Aspect Oriented Software Development is a recently emerged approach for modelling, designing and encapsulating the above-mentioned crosscutting concerns (aspects). We contend that stability must be based on a careful domain analysis and on a multidimensional modelling of different and recurring aspects of robot systems.
2001
We will present an overview of the CLARAty architecture which aims at developing reusable software components for robotic systems. These components are to support autonomy software which plans and schedules robot activities. The CLARAty architecture modifies the conventional threelevel robotic architecture into a new two-layered design: the Functional Layer and the Decision Layer. The Functional Layer provides a representation of the system components and an implementation of their basic functionalities. The Decision Layer is the decision making engine that drives the Functional Layer. It globally reasons about the intended goals, system resources, and state of the system and its environment. The Functional Layer is composed of a set of interrelated object-oriented hierarchies consisting of active and passive objects that represent the different levels of system abstractions. In this paper, we present an overview of the design of the Functional Layer. The Functional Layer is decomposed into a set of reusable core components and a set of extended components that adapt the reusable set to different hardware implementations. The reusable components: (a) provide interface definitions and implementations of basic functionality, (b) provide local executive capabilities, (c) manage local resources, and (d) support state and resource queries by the Decision Layer.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Computing and Informatics, 2021
Ingenieria e Investigación
Computer, 2000
INGENIERÍA E INVESTIGACIÓN VOL. 32 No. 3, p. 76-82, 2012
IEEE Software, 1987
Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164), 2001