A language for formal design of embedded intelligence research systems

https://doi.org/10.1016/j.robot.2011.01.001Get rights and content

Abstract

The construction of complex artifacts of artificial intelligence requires large-scale system integration and collaboration. System architectures are a central issue to enable this process. To develop these, hypotheses must be formulated, validated and evolved. We therefore present Systematica 2d, a formalism suitable for both flexible description of hierarchical architecture concepts as well as functional design of the resulting system integration process. We motivate the approach and relate it to other formal descriptions by means of a new formalization measure. It consists of a set of criteria to evaluate how well a formalism supports the expression, construction and reuse of intelligent systems. Systematica 2d is compared with existing formalization languages under this measure and shown to have at least their level of expression. In addition, the system properties of incremental composition, partial testability and global deadlock-free operation are formally defined and proven in the formalism.

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)

  • N. Hawes et al.

    Engineering intelligent information-processing systems with cast

    Adv. Eng. Inform.

    (2010)
  • G. Gössler et al.

    Composition for component-based modeling

    Science of Computer Programming

    (2005)
  • H. Martínez-Barberá et al.

    Programming multirobot applications using the thinkingcap-ii java framework

    Advanced Engineering Informatics

    (2010)
  • D. Vernon 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)....
  • J. Fritsch et al.

    An integration framework for developing interactive robots

    Software Engineering for Experimental Robotics

    (2007)
  • G. Metta 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...
  • C. Goerick

    Towards an understanding of hierarchical architectures

    IEEE Transactions on Autonomous Mental Development

    (2010)
  • N. Medvidovic et al.

    A framework for classifying and comparing architecture description languages

    Software Engineering - ESEC/FSE’97

    (1997)
  • D. Luckham et al.

    Specification and analysis of system architecture using rapide

    IEEE Transactions on Software Engineering

    (1995)
  • D. Garlan, R. Monroe, D. Wile, Acme: An architectural interconnection language, Tech. rep., Technical Report,...
  • R. Brooks

    A robust layered control system for a mobile robot

    IEEE journal of robotics and automation

    (1986)
  • M. Scheutz, J. Kramer, Radic: a generic component for the integration of existing reactive and deliberative layers, in:...
  • G. Abowd et al.

    Formalizing style to understand descriptions of software architecture

    ACM Transactions on Software Engineering and Methodology (TOSEM)

    (1995)
  • 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.

    View full text