Andreas Wortmann - Academia.edu (original) (raw)

Uploads

Papers by Andreas Wortmann

Research paper thumbnail of Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton

Lecture Notes in Computer Science, 2016

Research paper thumbnail of Extending Architecture Description Languages With Exchangeable Component Behavior Languages

Proceedings of the 28th International Conference on Software Engineering and Knowledge Engineering, 2016

Research paper thumbnail of Composing code generators for C&C ADLs with Application-specific behavior languages (tool demonstration)

Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - GPCE 2015, 2015

Research paper thumbnail of Compositional Language Engineering Using Generated, Extensible, Static Type-Safe Visitors

Lecture Notes in Computer Science, 2016

Research paper thumbnail of Integration of Handwritten and Generated Object-Oriented Code

Communications in Computer and Information Science, 2015

Research paper thumbnail of Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton

Research paper thumbnail of Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems

Engineering software for robotics applications requires multidomain and application-specific solu... more Engineering software for robotics applications requires multidomain and application-specific solutions. Model-driven engineering and modeling language integration provide means for developing specialized, yet reusable models of robotics software architectures. Code generators transform these platform independent models into executable code specific to robotic platforms. Generative software engineering for multidomain applications requires not only the integration of modeling languages but also the integration of validation mechanisms and code generators. In this paper we sketch a conceptual model for code generator composition and show an instantiation of this model in the MontiArc-Automaton framework. MontiArcAutomaton allows modeling software architectures as component and connector models with different component behavior modeling languages. Effective means for code generator integration are a necessity for the post hoc integration of applicationspecific languages in model-based robotics software engineering. J. O. Ringert acknowledges support from a postdoctoral Minerva Fellowship, funded by the German Federal Ministry for Education and Research.

Research paper thumbnail of Multi-Platform Generative Development of Component & Connector Systems using Model and Code Libraries

Component-based software engineering aims to reduce software development effort by reusing establ... more Component-based software engineering aims to reduce software development effort by reusing established components as building blocks of complex systems. Defining components in general-purpose programming languages restricts their reuse to platforms supporting these languages and complicates component composition with implementation details. The vision of model-driven engineering is to reduce the gap between developer intention and implementation details by lifting abstract models to primary development artifacts and systematically transforming these into executable systems. For sufficiently complex systems the transformation from abstract models to platform-specific implementations requires augmentation with platform-specific components. We propose a model-driven mechanism to transform platform-independent logical component & connector architectures into platform-specific implementations combining model and code libraries. This mechanism allows to postpone commitment to a specific p...

Research paper thumbnail of Black-box Integration of Heterogeneous Modeling Languages for Cyber-Physical Systems

Robots belong to a class of Cyber-Physical Systems where complex software as a mobile device has ... more Robots belong to a class of Cyber-Physical Systems where complex software as a mobile device has to full tasks in a complex environment. Modeling robotics applications for analysis and code generation requires modeling languages for the logical software architecture and the system behavior. The MontiArcAutomaton modeling framework integrates six independently developed modeling languages to model robotics applications: a component & connector architecture description language, automata, I/O tables, class diagrams, OCL, and a Java DSL. We describe how we integrated these languages into MontiArcAutomaton a-posteriori in a black-box integration fashion.

Research paper thumbnail of From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems

Abstract: Software development for Cyber-Physical Systems (CPS) is a sophisticated activity as th... more Abstract: Software development for Cyber-Physical Systems (CPS) is a sophisticated activity as these systems are inherently complex. The engineering of CPS requires composition and interaction of diverse distributed software modules.

Research paper thumbnail of MontiArcAutomaton: Modeling Architecture and Behavior of Robotic Systems

Abstract—Robotics poses a challenge for software engineering as the vast numbers of different rob... more Abstract—Robotics poses a challenge for software engineering as the vast numbers of different robot platforms impose different requirements on robot control architectures. The platform dependent development of robotic applications impedes reusability and portability. The lack of reusability hampers broad propagation of robotics applications.

Research paper thumbnail of Self-Maintenance for Autonomous Robots controlled by READYLOG

Abstract—In order to make a robot execute a given task plan more robustly we want to enable it to... more Abstract—In order to make a robot execute a given task plan more robustly we want to enable it to take care of its selfmaintenance requirements during online execution of this plan. This requires the robot to know about the (internal) states of its components, constraints that restrict execution of actions and how to recover from faulty situations.

Research paper thumbnail of Self-Maintenance for Autonomous Robots in the Situation Calculus}

Abstract. In order to make a robot execute a given task plan more robustly we want to enable it t... more Abstract. In order to make a robot execute a given task plan more robustly we want to enable it to take care of its self-maintenance requirements during online execution of this program. This requires the robot to know about the (internal) states of its components, constraints that restrict execution of certain actions and possibly also how to recover from faulty situations.

Research paper thumbnail of MontiArc Automaton

Component-based software engineering (CBSE) is a maturing and successfully applied approach to ma... more Component-based software engineering (CBSE) is a maturing and successfully applied approach to master the increasing complexity of modern distributed software systems [?]. Many architectures of pure software systems as well as Cyber-Physical Systems (CPS)[?,?] with heavy software parts are modeled as component and connector architectures [?,?]. Components encapsulate a (related) subset of a system's functionality or data and define an explicit interface to restrict access to these services (see [?]).

Research paper thumbnail of Self-Maintaining and Self-Monitoring Autonomous Systems

To arrive at truly intelligent agents such as robots, many issues need to be addressed such as pe... more To arrive at truly intelligent agents such as robots, many issues need to be addressed such as perception, locomotion, manipulation, human-robot interaction, planning and reasoning. In this thesis we are concerned with the latter in the sense of cognitive robotics as introduced by the late Ray Reiter, meaning “the study of the knowledge representation and reasoning problems faced by an autonomous robot (or agent) in a dynamic and incompletely known world”(Levesque and Lakemeyer (2008)).

Research paper thumbnail of A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata

Abstract: Software development for service robotics is inherently complex. Even a single robot re... more Abstract: Software development for service robotics is inherently complex. Even a single robot requires the composition of several sensors, actuators, and software modules. The systems are usually developed by groups of domain experts, rarely software engineering experts. Thus the resulting software systems are monolithic programs solving a single problem on a single platform. We claim modeling of both structure and behavior of robots in a modular way leads to better reusable software.

Research paper thumbnail of A New Skill Based Robot Programming Language Using UML/P Statecharts

Abstract—This paper introduces the new robot programming language LightRocks (Light Weight Robot ... more Abstract—This paper introduces the new robot programming language LightRocks (Light Weight Robot Coding for Skills), a domain specific language (DSL) for robot programming. The language offers three different level of abstraction for robot programming. On lowest level skills are coded by domain experts. On a more abstract level these skills are supposed to be combined by shop floor workers or technicians to define tasks.

Research paper thumbnail of RWTH Aachen University Software Engineering

Component-based software engineering (CBSE) is a maturing and successfully applied approach to ma... more Component-based software engineering (CBSE) is a maturing and successfully applied approach to master the increasing complexity of modern distributed software systems [BKM+ 05]. Many architectures of software systems are modeled as component and connector architecture s [MT00, TMD09]. Components encapsulate a (related) subset of a system's functionality or data and define an explicit interface to restrict access to these services (see [TMD09]). Connectors establish and regulate communication of components.

Research paper thumbnail of A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems

Abstract. Software development for robotics applications is a sophisticated endeavor as robots ar... more Abstract. Software development for robotics applications is a sophisticated endeavor as robots are inherently complex. Explicit modeling of the architecture and behavior of robotics application yields many advantages to cope with this complexity by identifying and separating logically and physically independent components and by hierarchically structuring the system under development.

Research paper thumbnail of Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton

Lecture Notes in Computer Science, 2016

Research paper thumbnail of Extending Architecture Description Languages With Exchangeable Component Behavior Languages

Proceedings of the 28th International Conference on Software Engineering and Knowledge Engineering, 2016

Research paper thumbnail of Composing code generators for C&C ADLs with Application-specific behavior languages (tool demonstration)

Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - GPCE 2015, 2015

Research paper thumbnail of Compositional Language Engineering Using Generated, Extensible, Static Type-Safe Visitors

Lecture Notes in Computer Science, 2016

Research paper thumbnail of Integration of Handwritten and Generated Object-Oriented Code

Communications in Computer and Information Science, 2015

Research paper thumbnail of Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton

Research paper thumbnail of Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems

Engineering software for robotics applications requires multidomain and application-specific solu... more Engineering software for robotics applications requires multidomain and application-specific solutions. Model-driven engineering and modeling language integration provide means for developing specialized, yet reusable models of robotics software architectures. Code generators transform these platform independent models into executable code specific to robotic platforms. Generative software engineering for multidomain applications requires not only the integration of modeling languages but also the integration of validation mechanisms and code generators. In this paper we sketch a conceptual model for code generator composition and show an instantiation of this model in the MontiArc-Automaton framework. MontiArcAutomaton allows modeling software architectures as component and connector models with different component behavior modeling languages. Effective means for code generator integration are a necessity for the post hoc integration of applicationspecific languages in model-based robotics software engineering. J. O. Ringert acknowledges support from a postdoctoral Minerva Fellowship, funded by the German Federal Ministry for Education and Research.

Research paper thumbnail of Multi-Platform Generative Development of Component & Connector Systems using Model and Code Libraries

Component-based software engineering aims to reduce software development effort by reusing establ... more Component-based software engineering aims to reduce software development effort by reusing established components as building blocks of complex systems. Defining components in general-purpose programming languages restricts their reuse to platforms supporting these languages and complicates component composition with implementation details. The vision of model-driven engineering is to reduce the gap between developer intention and implementation details by lifting abstract models to primary development artifacts and systematically transforming these into executable systems. For sufficiently complex systems the transformation from abstract models to platform-specific implementations requires augmentation with platform-specific components. We propose a model-driven mechanism to transform platform-independent logical component & connector architectures into platform-specific implementations combining model and code libraries. This mechanism allows to postpone commitment to a specific p...

Research paper thumbnail of Black-box Integration of Heterogeneous Modeling Languages for Cyber-Physical Systems

Robots belong to a class of Cyber-Physical Systems where complex software as a mobile device has ... more Robots belong to a class of Cyber-Physical Systems where complex software as a mobile device has to full tasks in a complex environment. Modeling robotics applications for analysis and code generation requires modeling languages for the logical software architecture and the system behavior. The MontiArcAutomaton modeling framework integrates six independently developed modeling languages to model robotics applications: a component & connector architecture description language, automata, I/O tables, class diagrams, OCL, and a Java DSL. We describe how we integrated these languages into MontiArcAutomaton a-posteriori in a black-box integration fashion.

Research paper thumbnail of From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems

Abstract: Software development for Cyber-Physical Systems (CPS) is a sophisticated activity as th... more Abstract: Software development for Cyber-Physical Systems (CPS) is a sophisticated activity as these systems are inherently complex. The engineering of CPS requires composition and interaction of diverse distributed software modules.

Research paper thumbnail of MontiArcAutomaton: Modeling Architecture and Behavior of Robotic Systems

Abstract—Robotics poses a challenge for software engineering as the vast numbers of different rob... more Abstract—Robotics poses a challenge for software engineering as the vast numbers of different robot platforms impose different requirements on robot control architectures. The platform dependent development of robotic applications impedes reusability and portability. The lack of reusability hampers broad propagation of robotics applications.

Research paper thumbnail of Self-Maintenance for Autonomous Robots controlled by READYLOG

Abstract—In order to make a robot execute a given task plan more robustly we want to enable it to... more Abstract—In order to make a robot execute a given task plan more robustly we want to enable it to take care of its selfmaintenance requirements during online execution of this plan. This requires the robot to know about the (internal) states of its components, constraints that restrict execution of actions and how to recover from faulty situations.

Research paper thumbnail of Self-Maintenance for Autonomous Robots in the Situation Calculus}

Abstract. In order to make a robot execute a given task plan more robustly we want to enable it t... more Abstract. In order to make a robot execute a given task plan more robustly we want to enable it to take care of its self-maintenance requirements during online execution of this program. This requires the robot to know about the (internal) states of its components, constraints that restrict execution of certain actions and possibly also how to recover from faulty situations.

Research paper thumbnail of MontiArc Automaton

Component-based software engineering (CBSE) is a maturing and successfully applied approach to ma... more Component-based software engineering (CBSE) is a maturing and successfully applied approach to master the increasing complexity of modern distributed software systems [?]. Many architectures of pure software systems as well as Cyber-Physical Systems (CPS)[?,?] with heavy software parts are modeled as component and connector architectures [?,?]. Components encapsulate a (related) subset of a system's functionality or data and define an explicit interface to restrict access to these services (see [?]).

Research paper thumbnail of Self-Maintaining and Self-Monitoring Autonomous Systems

To arrive at truly intelligent agents such as robots, many issues need to be addressed such as pe... more To arrive at truly intelligent agents such as robots, many issues need to be addressed such as perception, locomotion, manipulation, human-robot interaction, planning and reasoning. In this thesis we are concerned with the latter in the sense of cognitive robotics as introduced by the late Ray Reiter, meaning “the study of the knowledge representation and reasoning problems faced by an autonomous robot (or agent) in a dynamic and incompletely known world”(Levesque and Lakemeyer (2008)).

Research paper thumbnail of A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata

Abstract: Software development for service robotics is inherently complex. Even a single robot re... more Abstract: Software development for service robotics is inherently complex. Even a single robot requires the composition of several sensors, actuators, and software modules. The systems are usually developed by groups of domain experts, rarely software engineering experts. Thus the resulting software systems are monolithic programs solving a single problem on a single platform. We claim modeling of both structure and behavior of robots in a modular way leads to better reusable software.

Research paper thumbnail of A New Skill Based Robot Programming Language Using UML/P Statecharts

Abstract—This paper introduces the new robot programming language LightRocks (Light Weight Robot ... more Abstract—This paper introduces the new robot programming language LightRocks (Light Weight Robot Coding for Skills), a domain specific language (DSL) for robot programming. The language offers three different level of abstraction for robot programming. On lowest level skills are coded by domain experts. On a more abstract level these skills are supposed to be combined by shop floor workers or technicians to define tasks.

Research paper thumbnail of RWTH Aachen University Software Engineering

Component-based software engineering (CBSE) is a maturing and successfully applied approach to ma... more Component-based software engineering (CBSE) is a maturing and successfully applied approach to master the increasing complexity of modern distributed software systems [BKM+ 05]. Many architectures of software systems are modeled as component and connector architecture s [MT00, TMD09]. Components encapsulate a (related) subset of a system's functionality or data and define an explicit interface to restrict access to these services (see [TMD09]). Connectors establish and regulate communication of components.

Research paper thumbnail of A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems

Abstract. Software development for robotics applications is a sophisticated endeavor as robots ar... more Abstract. Software development for robotics applications is a sophisticated endeavor as robots are inherently complex. Explicit modeling of the architecture and behavior of robotics application yields many advantages to cope with this complexity by identifying and separating logically and physically independent components and by hierarchically structuring the system under development.