Joel Greenyer's research while affiliated with Fachhoschule für die Wirtschaft Hannover-FHDW and other places
What is this page?
This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
Publications (62)
The specification of requirements and tests are crucial activities in automotive development projects. However, due to the increasing complexity of automotive systems, practitioners fail to specify requirements and tests for distributed and evolving systems with complex interactions when following traditional development processes. To address this...
Currently, practitioners follow a top-down approach in automotive development projects. However, recent studies have shown that this top-down approach is not suitable for the implementation and testing of modern automotive systems. Specifically, practitioners increasingly fail to specify requirements and tests for systems with complex component int...
Currently, practitioners follow a top-down approach in automotive development projects. However, recent studies have shown that this top-down approach is not suitable for the implementation and testing of modern automotive systems. Specifically, practitioners increasingly fail to specify requirements and tests for systems with complex component int...
Systems of Systems (SoS), like connected vehicle systems, provide their functionality by the interaction of several constituent systems (CSs). [Problem] Due to the managerial, operational and evolutionary independence of the CSs in an SoS, requirements constantly change over time and linear, top-down requirements engineering methods cannot be appli...
[Context & Motivation] Due to the managerial, operational and evolutionary independence of constituent systems (CSs) in a System of Systems (SoS) context, top-down and linear requirements engineering (RE) approaches are insufficient. RE techniques for SoS must support iterating, changing, synchronizing, and communicating requirements across differe...
[Context&Motivation]Due to the managerial ,operational and evolutionary independence of constituent systems (CSs) in a System of Systems (SoS) context, top-down and linear requirements engineering (RE) approaches are insufficient. RE techniques for SoS must support iterating, changing, synchronizing, and communicating requirements across different...
The development of safety-relevant systems in the automotive industry requires the definition of high-quality requirements and tests for the coordination and monitoring of development activities in an agile development environment. In this paper we describe a Scenarios in the Loop (SCIL) approach. SCIL combines (1) natural language requirements spe...
In production robots are moved at maximum speed whenever possible in order to achieve the shortest overall cycle time. This can lead to individual waiting times, especially in interlinked production processes. These waiting times offer opportunities for optimization. Due to high energy prices and political efforts, energy efficiency has become the...
The rising complexity of automotive software makes it increasingly difficult to develop the software with high quality in short time. Especially the late detection of early errors, such as requirement inconsistencies and ambiguities, often causes costly iterations. We address this problem with a new requirements specification and analysis technique...
With the increasing complexity of CPSs, their behavior and decisions become increasingly difficult to understand and comprehend for users and other stakeholders. Our vision is to build self-explainable systems that can, at run-time, answer questions about the system's past, current, and future behavior. As hitherto no design methodology or referenc...
Executable business processes contain complex business rules, control flow, and data transformations, which makes designing good tests difficult and, in current practice, requires extensive expert knowledge. In order to reduce the time and errors in manual test design, we investigated using automatic combinatorial test design (CTD) instead. CTD is...
This report documents the program and results of the GI-Dagstuhl Seminar 19023 on Explainable Software for Cyber-Physical Systems (ES4CPS). The seminar was concerned with the challenge that for future Cyber-Physical Systems (CPS), it will become increasingly relevant to explain their behavior (past, current, and future behavior, why a certain actio...
Modern software systems are so complex that at times engineers find it difficult to understand why a system behaves as it does under certain conditions, and, in particular, which conditions trigger specific behavior. This adds a significant burden to tasks like debugging or maintenance. Scenario-based specifications can mitigate some of the problem...
In scenario-based programming (SBP), the semantics, which enables direct execution of these intuitive specifications, calls, among others, for synchronizing concurrent scenarios prior to every event-selection decision. Doing so even when the running scenarios are distributed across multiple physical system components, may degrade system performance...
Cyber-physical systems can be found in many areas, e.g., manufacturing, health care or smart cities. They consist of many distributed components cooperating to provide increasingly complex functionality. The design and development of such a system is difficult and error-prone. To help engineers overcome these challenges we created a formal, scenari...
Distributed, software-intensive systems such as fully automated cars have to handle various situations employing message-based coordination. The growing complexity of such systems results in an increasing difficulty to achieve a high quality of the systems’ requirements specifications, particularly w.r.t. the realizability of the specifications. Sc...
Software-intensive systems often consist of cooperating reactive components. In mobile and reconfigurable systems, their topology changes at run-time, which influences how the components must cooperate. The Scenario Modeling Language (SML) offers a formal approach for specifying the reactive behavior such systems that aligns with how humans conceiv...
ScenarioTools is an Eclipse-based tool suite for the scenario-based modeling and analysis of reactive systems. ScenarioTools especially targets the modeling and analysis of systems where the behavior of the components is sensitive to changes in the component structure that can occur at run-time. For example, in a system of communicating cars, the c...
In recent years, scenario-based modeling has been proposed to help mitigate some of the underlying difficulties in modeling complex reactive systems, by allowing modelers to specify system behavior in a way that is intuitive and directly executable. This modeling approach simplifies the specification of systems that include events occurring in dist...
Cyber-physical systems are found in many areas, e.g., manufacturing or smart cities. They consist of multiple components that cooperate to provide the desired functionality. This need for cooperation causes complex interactions between components, which makes developing cyber-physical systems difficult, especially systems whose component structure...
Rising costs of energy production have made saving energy an important topic in many areas, including modern production systems. One idea is taking advantage of the braking energy becoming available when decelerating moving components of a machine. However, using the braking energy is a difficult task, as it requires the synchronization of the move...
Software-intensive systems such as communicating cars or
collaborating robots consist of multiple interacting components, where
physical or virtual relationships between components change at run-time.
This dynamic system structure in uences the components' behavior,
which again a�ects the system's structure. With the often distributed and
concurren...
Cyber-physical systems are found in many areas, such as manufacturing, transportation, or smart cities. They consist of many components which cooperate to provide the desired functionality. This need for cooperation causes complex interactions between components, which makes developing a cyber-physical system difficult. To support engineers develop...
In many areas we find cyber-physical systems consisting of multiple software-controlled components that communicate to control complex physical processes. As customers demand increasingly rich func-tionality, the component interactions become more and more complex. We are developing a formal scenario-based method for specifying the inter-component...
Automotive software systems often consist of multiple reactive components that must satisfy complex and safety-critical requirements. In automotive projects, the requirements are usually documented informally and are reviewed manually; this regularly causes inconsistencies to remain hidden until the integration phase, where their repair requires co...
Software-intensive systems often consist of multiple components that interact to realize complex requirements. An additional dimension of complexity arises when one designs many variants of a system at once, that is, a software product line (SPL). We propose a scenario-based approach to design SPLs, based on a combination of Modal Sequence Diagrams...
Good service design is key to acceptance and success for a service-oriented architecture (SOA) in an enterprise. Enterprises try to achieve good service design by using guidelines which combine experts' experience, company policies and best practices. Applying, evolving and maintaining guidelines overburdens service designers and reviewers due to t...
Modern software systems are increasingly required to run for a long time and deliver uninterrupted service. Their requirements or their environments, however, may change. Therefore, these systems must be updated dynamically, at run-time. Typical examples can be found in manufacturing, transportation, or space applications, where stopping the system...
Distributed systems consist of subsystems that usually need to coordinate with each other. Each subsystem must decide its actions locally, based on its limited knowledge. However, these decisions can be interdependent due to global requirements, i.e., one subsystem may need to know how another one decided. Complex communication can be required to e...
Due to continuously rising electricity prices, the energy efficiency of production systems is an increasingly important factor in industrial manufacturing. One goal is therefore to reuse the braking energy of manipulator axes. The acceleration and deceleration phases of axes must be synchronized such that, ideally, the braking energy can be reused...
Software-intensive systems, for example service robot systems in industry, often consist of multiple reactive components that interact with each other and the environment. Often, the behavior depends on structural properties and relationships among the system and environment components, and reactions of the components in turn may change this struct...
In many areas, such as automotive, healthcare, or production, we find software-intensive systems with complex real-time requirements. To efficiently ensure the quality of these systems, engineers require automated tools for the validation of the requirements throughout the development. This, however, requires that the requirements are specified in...
Triple Graph Grammars (TGGs) are a graph-based and visual technique for specifying bidirectional model transformation. TGGs can be used to transform models from scratch (in the batch mode), but the real potential of TGGs lies in propagating updates incrementally. Existing TGG tools differ considerably in their incremental mode concerning underlying...
Modern software-intensive systems often consist of multiple components that interact to fulfill complex functions in sometimes safety-critical situations. During the design, it is crucial to specify the system’s requirements formally and to detect inconsistencies as early as possible in order to avoid flaws in the product or costly iterations durin...
Many software-intensive systems consist of components that interact to fulfill complex functionality. Moreover, often many variants of such systems have to be designed at once. This adds complexity to the design task. Recently, we proposed a scenario-based approach to design product lines, which combines feature diagrams and Modal Sequence Diagrams...
Many modern software-intensive systems consist of multiple components interacting together to deliver the intended functionality. Often, these systems come in many variants (products) and are managed together as a software product line. This variability is the source of additional complexity which can cause inconsistencies and offset the economies...
Modern software-intensive systems often have to be updated to adapt to unpredicted changes in their environments or to satisfy unpredicted requirement changes. Many systems, however, cannot be easily shut down or are expected to run continuously. Therefore, they must be updated dynamically, at run-time. Especially for critical systems, dynamic upda...
Many software-intensive systems consist of multiple components that provide complex functionality by their interaction. The scenario-based languages LSCs and MSDs are intuitive, but precise means to specify interactions; the engineers can specify how a system can, must, or must not react to events in its environment. A key benefit of LSCs/MSDs is t...
Model transformation plays a central role in Model-Driven Engineering (MDE) and supporting bidirectionality is a current challenge with important applications. Triple Graph Grammars (TGGs) are a formally founded, bidirectional model transformation language shown by numerous case studies to be promising and useful in practice. TGGs have been researc...
Modern technical systems typically consist of multiple components and must provide many functions that are realized by the complex interaction of these components. Moreover, very often not only a single product, but a whole product line with different compositions of components and functions must be developed. To cope with this complexity, it is im...
Modern technical systems often consist of multiple components that must fulfill complex functions in diverse and sometimes safety-critical situations. Precisely specifying the behavioral requirements for such systems is a challenge, especially because there may be inconsistent requirements in possibly unforeseen component configurations. We propose...
Many software-intensive systems are expected to run continuously while their environments change and their requirements evolve, so their implementation must be updated dynamically to satisfy changing requirements while coping with changing environment properties. Techniques for developing dynamically updating systems exist, but thus far almost no a...
Declarative model transformation languages like QVT-R and TGGs are particularly convenient because mappings between models can be specified in a rule-based way, describing how patterns in one model correspond to patterns in another. The same mapping specification can be used for different transformation and synchronization scenarios, which are impo...
The development of complex mechatronic systems requires the close collaboration of multiple engineering disciplines. Hence,
multidisciplinary system engineering approaches have been developed. However, the refinement of discipline-specific aspects
of the system, for example the implementation of software controllers, still requires discipline-speci...
The advanced functions of mechatronic systems today are essentially realized by software that controls complex processes and
enables the communication and coordination of multiple system components. We have developed Mechatronic UML, a comprehensive technique for the model-based development of hybrid real-time component-based systems. Mechatronic U...
The Model Driven Architecture (MDA) is an approach to develop software based on different models. There are separate models for the business logic and for platform specific details. Moreover, code can be generated automatically from these models. This makes transforma- tions a core technology for MDA and for model-based software engineering approac...
Based on a well-defined component architecture the tool supports the synthesis of so-called real-time statecharts from timed sequence diagrams. The two step synthesis pro- cess addresses the existing scalability problems by a proper decomposition and allows the user to define particular re- strictions on the resulting statecharts.
Automotive systems contain a large number of software controllers that interact in order to realize an increasing number of functions. The controllers are typically developed separately by different suppliers. Therefore, errors in the overall functionality are often detected late in the development process or even remain undetected. This affects th...
Graph transformation provides an intuitive mechanism for capturing model transformations. In the current paper, we investigate
and compare various graph transformation tools using a compact practical model transformation case study carried out as part
of the AGTIVE 2007 Tool Contest [22]. The aim of this case study is to generate formal CSP process...
Abstract Workflow,and ,business ,process ,modeling ,approaches ,have ,become ,essential ,for designing,service ,collaborations ,when ,developing ,SOA-based systems. ,To derive actual executable business process descriptions from the high-level workflow models, model,transformation ,techniques ,can ,be used. ,Various ,service ,composition ,and busin...
The Model Driven Architecture (MDA) is an approach to develop software based on different models. There are separate models for the business logic and for platform specific details. Moreover, code can be generated automatically from these models. This makes transformations a core technology for MDA. QVT (Query/View/Transformation) is the transforma...
In model-based development scenarios, several models with different scopes and abstraction levels are used. During the development, changes in one of these models may affect parts of other models. Thus, inconsistencies are likely to occur, leading to increased development time and costs if they remain undetected. Bidirectional model synchronization...
Along with the AGTIVE 2007 conference, a Graph Transformation Tools Contest invited tool implementers to present their solutions in order to compare the principles and particular strengths and weak-nesses of today's graph transformation tools. This paper documents our contribution to the Tools Contest. The second transformation problem, a transform...
Citations
... With an ample amount of the literature (e.g., [9][10][11][12]) and many supporting tools available (e.g., [13]), BDD makes a good candidate methodology for IoT system development. Indeed, we are beginning to see positive results in applying BDD for developing real-time embedded systems [14], automotive systems [15,16], and avionic systems [17]. In our own experience, we have also benefited from BDD in the development of a smart cone system for protecting road maintenance crews working on highways [18]. ...
... • C 2: We implemented the process. Therefore, we integrated the project management tool Jira 2 , with the requirements specification and modeling tool BeSoS [9]. In this way, we can manage and specify requirements using scenario descriptions in natural language to support the stakeholder view. ...
... The importance of Requirements Engineering (RE) in software development has been mentioned in many works of literature including in Gregory, [8], Hidellaarachchi et al., [10], Liu et al., [13] Wiecher et al., [26]. In general, the generic RE activities are requirements elicitation, analysis and modelling, negotiation, validation, documentation, and management. ...
... With an ample amount of the literature (e.g., [9][10][11][12]) and many supporting tools available (e.g., [13]), BDD makes a good candidate methodology for IoT system development. Indeed, we are beginning to see positive results in applying BDD for developing real-time embedded systems [14], automotive systems [15,16], and avionic systems [17]. In our own experience, we have also benefited from BDD in the development of a smart cone system for protecting road maintenance crews working on highways [18]. ...
... These last can be divided into global methods that describe the average behavior of the model, and local methods that explain individual predictions [24]. The scientific interest in explainability in software engineering is growing [1,3,5,28], for example, in the context of explainable analytical models for predictions and decision-making [28], explainable counterexamples [16], and explainable quality attribute trade-offs in software architecture selection [5,27]. Recent approaches in the area of self-adaptive systems deal with opaque requirements change [18], self-description of components [20], the decisions taken in adaptation space reduction [10], and generation of explanation strategies for human-on-the-loop systems using probabilistic model checking [23]. ...
Reference: XSA: eXplainable Self-Adaptation
... These usage scenarios are used to generated acceptance tests. Subsequently, we use these acceptance tests to drive the requirements modeling, following the test-driven scenario specification approach (TDSS) [10]. ...
... For instance, a semi-automatic algorithm that covers all source code will provide a similar set of configurations that a coverage algorithm provides. Alternatively, a greedy automated algorithm that aims at selecting an optimal number of configurations that test all pairs of features individually, provides a similar set of configurations that a 2-wise algorithm provides [60]. In the next section, we focus on t-wise strategies since we are interested in investigating sampling strategies that assure product sampling quality. ...
... An automated methodology to exploit braking energy recuperation though scheduling and slowing down trajectories was proposed in [12]. The proposed methodology accomplishes this in two levels. ...
... Thus, formal verification techniques can usually be applied, in order to ensure that a SBM satisfies multiple criteria of choice, either as an independent standalone model, or as a single component within a larger system. When executing scenario-based models in distributed architectures [35][36][37][38][39], these model can automatically be repaired by the use of automated analysis techniques [26,40,41]. These techniques are able to update the SBMs in various strategies, i.e., as part of the Wise Computing initiative [42][43][44][45]. ...
... Programmable Logic Controllers (PLCs) Code Generation was presented in [163] using Scenario Modeling Language (SML). In the same manner, implementation of PLC code generation was presented in [113] using Compositional Interchange Format (CIF). ...