A language for formal design of embedded intelligence research systems
Research highlights
System integration in robotics domain requires good design language.► New Language ‘Systematica 2D’ allows clear and fast design and description.► Proven to allow incremental construction, partial testing and global dead-lock free operation.► Used in large-scale robotics and driving assistance systems.► Including discussion of a comparison measure, typical design patterns and system integration approaches.
Introduction
In the strive to create complex artifacts with artificial intelligence (which together we will call “embedded intelligence” or EI) an interplay of a great number of disciplines is required. Although the actual organization of subsystems in any implemented system may vary, these can be roughly categorized into designing or learning of functionalities for
- I
information acquisition from the world,
- II
internal information processing,
- III
generating actions in the world,
- IV
integration of subsystems to create a desired overall system behavior.
Popular domains include robotics, driver assistance or autonomous driving as well as virtual agents. In addition to countless efforts in specific areas of I, II and III, cognitive architectures as a means to integrate several subsystems to an intelligent artifact (EI) are receiving steadily increasing attention, see [1] for a survey. However, these system integration processes suffer from three handicaps:
- •
A multitude of notations, making them difficult to relate to one another,
- •
a decomposition which is typically not tailored to the needs of interacting scientists and, arising from that,
- •
a resulting system which makes reuse of larger building blocks difficult.
In this contribution we will address these issues by two means: First, a detailed analysis of the specific challenges and requirements of EI system design and construction will lead to a set of criteria for evaluating the suitability of formal notations for EI systems. The application of these criteria to a set of existing formalisms will yield specific shortcomings to be overcome and will serve as a basis for comparison. Second, we will present and discuss our proposal for a new system design formalism, called Systematica 2d, suitable for both system description and comparison as well as for system design and construction.
Since the comparison of system formalisms is a central part of this contribution, the related work presented in Section 2 will only cover the wider area of EI system notations and taxonomies for such notations. A detailed analysis of the relation of this contribution to specific existing approaches from software engineering, software infrastructure and functional modeling will follow in later sections. The evaluation criteria are introduced in Section 3, following a discussion of the relation of EI system integration to software engineering practices (e.g. UML [2]) and to software infrastructures (e.g. CAST [3], XCF [4], YARP [5], etc.). In Section 4 several existing formalisms are then evaluated along those criteria: the commonly used ad-hoc ‘boxes and arrows’, 3-Tier [6], CogAff [7] and Systematica[8]. A conclusion at the end of Section 4 summarizes the lessons learnt from defining and applying the measure criteria to existing formalisms.
In the second half of this contribution, we start by introducing the proposed new formalism, Systematica 2d, in Section 5. Central elements of the language are units, relating to individual scientist’s contributions to the whole system, and their dependencies and communication patterns; based on the formal description of these elements, a set of system properties can be defined and proven, most notably incremental construction and global deadlock-free operation. Section 6 then focuses on comparing the new formalism to the evaluated existing ones in two ways: first by ‘translating’ designs from 3-Tier, CogAff and Systematica to Systematica 2d and second by applying the defined measure criteria to our new formalism. Finally, the discussion in Section 7 will cover the mapping from Sys2d design to software infrastructure, the specific structural bias imposed by Systematica 2d on the example of several standard design patterns and the descriptive abilities of Systematica 2d in terms of distinguishing integration approaches.
Section snippets
Related work
Two areas of related work are relevant to this contribution: taxonomies or measures of formal notations and specific notations for intelligent artifacts.
Attempts at formulating measures, classification frameworks or taxonomies of formal notations are sparse, qualitative and, for the most part, too generic to be of value when judging the benefit of a formalism for EI systems. One prominent example is the work of Medvidovic et al. [9] giving a qualitative comparison of software architecture
A measure for system design formalisms
As a first step to improve formalization of EI systems we will argue for a set of criteria such design languages should fulfill. In order to arrive at those criteria, the first question is: What is important for intelligent system integration? We believe the central element is what we will call the ‘Hypothesis Test Cycle’. There is, as yet, no clear and established structure or system architecture concept to build intelligent systems. The natural scientific approach to arrive at such a
Evaluation of existing formalisms
We will now proceed to validate the formulated formalism measure, as well as discuss the range and merit of its application, on the example of four existing techniques for formalizing EI systems: ‘Boxes and Arrows’ (as an example for the typical ad-hoc approach, used in countless publications), 3-Tier (as a popular example of technical embedded system modeling, see [6], [20]), CogAff (as an example of a biologically motivated design, see [7]) and Systematica (as a formal language for analysis
Systematica 2D
So far we have formulated and applied a set of criteria for system integration formalisms. Although we hope that the introduced measure is applicable and useful beyond this work, this is not essential: we can already pinpoint the merits and drawbacks of the evaluated existing formalisms: Boxes and arrows are very flexible, but neither implementation-oriented nor standardized, 3-Tier is very focused on implementation but too rough to describe collaboration, CogAff allows a flexible and
Evaluation
After the definition of the Systematica 2d system design and description language, the most pressing questions are what we can do with it and why it is better than the existing formalisms evaluated in Section 4. We will not present a full system instance designed with Sys2d in order to keep this publication self-contained, please refer to [33] for a detailed description of a large-scale EI system built based on a Sys2d design. Rather, to answer the first question, we will present ‘translations’
Mapping Sys2d designs to software infrastructure
Following the discussion about the design power of software infrastructures in Section 3.3, the last step in closing the hypothesis test cycle using Systematica 2d is to provide a mapping of the functional elements of a Sys2d design to mechanisms present in specific established software infrastructures. Such a mapping is necessary since even though Sys2d uses terms like ‘interfaces’, ‘asynchronously’ running units or ‘build order’, these are not defined with a particular software engineering
Conclusion
The development, implementation and evolution of architectural structures is essential for the progress of intelligent systems. Formalisms which make comparison to other systems hard, do not consider collaboration sufficiently and in effect lead to long development phases and non-reusable systems are counterproductive for this purpose. We have therefore formulated Systematica 2d, a formalism to support this hypothesis test cycle through all three phases: starting with a description of the
Benjamin Dittes studied computer science at the Technische Universität Dresden, Dresden, Germany, and at the University of New South Wales, Sydney, Australia. He received a M.IT. degree in information technology from the University of New South Wales and a Dipl.Inf. degree in computer science from the Technische Universität Dresden in 2005 and 2006. Since 2007 he is an Associate Scientist at the Honda Research Institute Europe, Offenbach, Germany where he pursues his Ph.D. His special interest
References (33)
- et al.
Engineering intelligent information-processing systems with cast
Adv. Eng. Inform.
(2010) - et al.
Composition for component-based modeling
Science of Computer Programming
(2005) - et al.
Programming multirobot applications using the thinkingcap-ii java framework
Advanced Engineering Informatics
(2010) - et al.
A survey of artificial cognitive systems: Implications for the autonomous development of mental capabilities in computational agents
IEEE Transactions on Evolutionary Computation
(2007) - OMG, Unified modeling language (uml) superstructure specification, [Online] (Feb 2009)....
- et al.
An integration framework for developing interactive robots
Software Engineering for Experimental Robotics
(2007) - et al.
Yarp: Yet another robot platform
International Journal on Advanced Robotics Systems
(2006) - E. Gat, et al., On three-layer architectures, Artificial Intelligence and Mobile...
- N. Hawes, Architectures by design: The iterative development of an integrated intelligent agent, in: Proceedings of...
Towards an understanding of hierarchical architectures
IEEE Transactions on Autonomous Mental Development
(2010)
A framework for classifying and comparing architecture description languages
Software Engineering - ESEC/FSE’97
Specification and analysis of system architecture using rapide
IEEE Transactions on Software Engineering
A robust layered control system for a mobile robot
IEEE journal of robotics and automation
Formalizing style to understand descriptions of software architecture
ACM Transactions on Software Engineering and Methodology (TOSEM)
Cited by (0)
Benjamin Dittes studied computer science at the Technische Universität Dresden, Dresden, Germany, and at the University of New South Wales, Sydney, Australia. He received a M.IT. degree in information technology from the University of New South Wales and a Dipl.Inf. degree in computer science from the Technische Universität Dresden in 2005 and 2006. Since 2007 he is an Associate Scientist at the Honda Research Institute Europe, Offenbach, Germany where he pursues his Ph.D. His special interest is in intelligent system design, including formal description, integration hypotheses, hierarchical architectures, behavior selection and learning, reactive / planning balance, robotic systems in interaction as well as software environments.
Christian Goerick studied electrical engineering at the Ruhr-Universität Bochum, Bochum, Germany, and at the Purdue University, West Lafayette, IN, USA. He received a Dipl.Ing. degree in electrical engineering and a Ph.D. degree in electrical engineering and information processing from the Ruhr-Universität Bochum in 1993 and 1998. From 1993 to 2000 he was with the Institute for Neural Computation, Ruhr-Universität Bochum, where he became a Research Assistant, Doctoral Worker, and Project Leader in 1993, and a Post-Doctoral Worker, Project Leader, and Lecturer in 1998. The research was concerned with biologically motivated computer vision for autonomous systems and learning theory of neural networks. Since 2000 he is a Chief Scientist at the Honda Research Institute Europe, Offenbach, Germany. His special interest is in embodied brain-like intelligence covering research on behavior based vision, audition, behavior generation, cognitive robotics, car assistant systems, systems architecture as well as hard- and software environments.