Architecture Modeling in Operational Space 

Get Complete Project Material File(s) Now! »

Software Engineering in Robotics

Software plays a key role in robotics as it is the medium to embody intelligence in the machine [7]. Since robotics and their application are becoming more pervasive than ever, software in these systems is often required to (1) operate in distributed and embedded environment consisting of diverse computational capabilities, (2) interact in various communication paradigms, (3) adapt to changes in an indeterministic environment, and nally (4) should behave rationally. Despite advances in programming languages and supporting tools, code-centric development of such complex systems requires immense eort.
The fundamental tenet of Software Engineering (SE) is that the development and evolution of software systems can be facilitated by adopting a systematic, disciplined, quantiable approach in each phases of a software application’s life span, from requirements analysis, system architecture denition, and component design to code implementation, testing, and deployment [7]. Despite this understanding, it is still common for an engineering team to develop the decision-making and control system of a robotics system from scratch, only to discover that it is too dicult to separate this software from the rest of the system and reuse it [8]. In the past, the robotics community has been shown reluctance in adopting modern software engineering methods for developing software architectures. This has led to the increased time-to-market and large system integration eorts when such systems are to be used in safety critical applications.

Model-Driven Software Engineering

In Model-Driven Software Engineering (MDSE), modeling techniques are used to tame the complexity of bridging the gap between the problem domain and the software implementation domain [16]. Although component-based development and modeldriven engineering address complexity management, the former adopts a bottom-up approach, while the latter is more top-down in nature [17]. In MDSE, the complexity of the software is managed by using the mechanism called ‘separation of concerns (SoC)’. In MDSE approach, abstract models are gradually converted into concrete executable models by a series of systematic transformation processes. Models are designed based on meta-models and domain-specic language(DSLs). The next section has two objectives:
1. To identify the current model-driven approaches in robotics.
2. Analyze how the identied approaches achieve general modeling related advantages and how eective they are in satisfying robot specic requirements.
We evaluate the identied approaches in robotics by addressing the following questions:
– How is domain knowledge modeled and how it is used in various phases of software development?
– What are the common Separation of Concerns (SoC) that are relevant in robotics and how these SoCs are used for analyzing the desirable properties and facilitate system level reasoning?
– How are the models used at run-time?

Brief Overview on Robotic Architectures

The initial work on robot architectures began with two extreme approaches – one is based on sense-plan-act paradigm [38], which is a deliberative approach and the other is based on a purely reactive Brooks’ subsumption architecture [39]. To take advantage of these two extreme approaches, a number of hybrid architectures were then proposed. A notable one is Gat’s three layer architecture that uses controller, sequencer, and deliberator layers to enable the robot to make high level plans and at the same time reactive to sudden events [40]. In NASREM architecture, the perceived information passes through several processing stages until a coherent view of the cur- rent situation is obtained. A plan is then adopted and successively decomposed by dierent modules until the desired actions can be directly executed by the actuators [41]. The Task Control Architecture (TCA), developed by Simmons, provides a general framework for controlling distributed robot systems. TCA is essentially a high-level robot operating system with a set of commonly required mechanisms to support distributed communications, task decomposition, resource management, execution monitoring, and error recovery [42]. Majority of the robot architectures found in literature [43], in one form or another consists of the below three distinct characteristics:
Hierarchical vs. Centralized architectures
Behavioral vs. Functional systems.
Reactive vs. Deliberative control


Table of contents :

1 Introduction 
1.1 Software Engineering in Robotics
1.1.1 Model-Driven Software Engineering
1.1.2 MDSE Approaches in Robotics
1.2 Brief Overview on Robotic Architectures
1.2.1 Architecture Modeling in Robotics
1.3 Thesis Context
1.4 Thesis Contents and Contributions
I Methodology 
2 SafeRobots Methodology
2.1 Introduction
2.1.1 Motivating Example
2.2 Conceptual Paradigms in SafeRobots Framework
2.2.1 Component-Based Software Engineering
2.2.2 Model-Driven Engineering
2.2.3 Knowledge-Based Engineering
2.3 Developmental Phases in SafeRobots Framework
2.4 Overview
2.4.1 Knowledge Space
2.4.2 Solution Space
2.4.3 Solution space to Operational space transformation
2.4.4 Operational Space
2.5 Related Works
2.6 Conclusion and Contributions
3 Specication of Non-Functional Properties 
3.1 Introduction
3.2 Non-Functional Properties and Quality of Service
3.3 Example of Relevance to Human-Machine Systems
3.4 Non-Functional Properties (NFP) Metamodel
3.5 Tool Support for NFP specication
3.6 Example of NFP specication in an Assistive Lane Keeping System .
3.7 Related Works
3.8 Conclusion
3.9 My Contributions
4 Solution Space Modeling 
4.1 Introduction
4.2 Motivational Experiment
4.3 Solution Space Model
4.3.1 Functional Model
4.4 Solution Space Model for Lidar Based Vehicle Tracking System
4.5 Solution to Operational Space Transformation
4.5.1 Transformation Process
4.5.2 MDP Model Analysis
4.6 Operational Models
4.7 Related works
4.8 Conclusion
4.9 My Contributions
5 Architecture Modeling in Operational Space 
5.1 Introduction
5.2 Software Architecture
5.2.1 The ISO standard
5.2.2 Architecture Framework and Architecture Description
5.2.3 Model Kinds in Robotics
5.3 Architecture Modeling and Analysis Language
5.3.1 AMAL Core Elements
5.3.2 Open Semantics Framework
5.3.3 Viewpoints and Views
5.3.4 Constraint Specication
5.3.5 Framework Specication Templates
5.3.6 AMAL Specication Formalism
5.4 Case Study on an Example Framework
5.4.1 TrackX – Framework specication
5.4.2 Structural viewpoint specication
5.4.3 Coordination viewpoint specication
5.4.4 Component-Port-Connector view specication
5.4.5 State transition view specication
5.5 Related Works
5.6 Conclusion
5.7 My Contributions
II Framework Implementation and Extended Applications
6 Framework Implementation 
6.1 Introduction
6.2 Eclipse Modeling Framework
6.3 Framework Implementation Process
6.4 Conclusion and Contributions
7 Extended Applications 
7.1 Introduction
7.2 Existing Framework Development Methods
7.3 Case Study 1: Mobile Robot Navigation
7.3.1 Requirement Modeling
7.3.2 Solution Space Modeling
7.3.3 Discussion
7.4 Case Study 2: Framework based on Cognitive Architecture
7.4.1 Overview on Human-Machine Systems
7.4.2 Application: Lane keeping and lane changing assistance system
7.4.3 Harel Statecharts
7.4.4 Relation between ACT-R Model and Statechart Model
7.4.5 Service Oriented Architecture
7.4.6 Perception Model
7.4.7 Communication Patterns
7.4.8 Discussion
7.5 Conclusion
III Conclusion 
8 Conclusion and Future Research Directions
8.1 Summary and Contributions
8.2 Future Directions
8.2.1 Search-Based Software Engineering
8.2.2 Non-Functional Property Composition
8.2.3 Runtime Models
IV Annexes 
A Eclipse Modeling Framework and Supporting Plugins 
A.1 Eclipse Modeling Framework
A.1.1 Metamodeling using Ecore
A.1.2 Graphical Modeling Workbench
A.1.3 Model Transformation Engines and Generators
Curriculum Vitae


Related Posts