Article

LSCs: Breathing Life into Message Sequence Charts

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

: While message sequence charts (MSCs) are widely used in industry to document the interworking of processes or objects, they are expressively quite weak, being based on the modest semantic notion of a partial ordering of events as defined, e.g., in the ITU standard. A highly expressive and rigorously defined MSC language is a must for serious, semantically meaningful tool support for use-cases and scenarios. It is also a prerequisite to addressing what we regard as one of the central problems in behavioral specification of systems: relating scenario-based inter-object specification to state-machine intra-object specification. This paper proposes an extension of MSCs, which we call live sequence charts (or LSCs), since our main extension deals with specifying "liveness ", i.e., things that must occur. In fact, LSCs allow the distinction between possible and necessary behavior both globally, on the level of an entire chart and locally, when specifying events, conditions and progress ov...

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... This paper provides a formal semantics for the declarative visual specification language of traffic sequence charts (henceforth called TSCs), and thus meets a key industrial need. Not surprisingly, this comes with a number of scientific challenges outlined below, which we address by building on a number of previous publications, notably our previous work on introducing LSCs [1], and on automatic synthesis of driving strategies for autonomous vehicles [4]. Much as Message Sequence Charts [10] were lacking expressiveness and formal semantics, motivating the extension to Live Sequence Charts, the ongoing industrial pre-standardization effort for capturing scenarios, called OpenSCENARIO [17], falls significantly short in being able to address the above challenges. ...
... LSCs [1] are an optional part of a TSC specification. They are used to specify communication protocols between the traffic participants. ...
... They are used to specify communication protocols between the traffic participants. A detailed description can be found in [1] and we omit the details here since we did not include communication in this report. ...
Technical Report
Full-text available
We present a formalism for scenario based specification via Snapshot Charts (SCs). Snapshot Charts (SCs) are a specification formalism within Traffic Sequence Charts (TSCs), where Snapshot Charts describe the continuous evolution and Live Sequence Charts (LSCs) are used to describe the communication protocols. A snapshot can be thought of as a description of the current state. Like pages in a flip book, we can place snapshots in a sequel to tell a story about dynamic objects. Here, a single snapshot describes invariant properties of a sequel of time contiguous states that hold until the next snapshot. We describe the syntax and semantics of Snapshot Charts (SCs).
... Our proposed approach is highly generalizable, and allows integration of different modeling formalisms into the DRL process. In order to demonstrate a proof-of-concept of our approach, and for evaluation purposes, we focus on the scenario-based modeling (SBM) [14,15] scheme. In the SBM modeling scheme, a modeler creates a collection of small, individual scenarios, where each one of these scenarios reflects a specific behavior of the system, either desirable or undesirable. ...
... Scenario-based modeling (SBM) [14,15,25] is a modeling paradigm, which is designed to facilitate the development of reactive systems from components with human-understandable behavior. SBM methods focus on inter-object, system-wide behaviors, and thus differ from object-centric paradigms, that are more conventional. ...
... In practice, SBM is supported in various frameworks, both visual and textual. Such examples include implementations in multiple high-level languages, i.e., C, C++, Java, Erlang, and Python (see, e.g., Ref. [15]); other examples include the language of live sequence charts (LSC), where SBM modal sequence diagrams [14,25] are produced using SBM-based concepts; and different domainspecific languages and extensions [20,29,30]. ...
Article
Full-text available
Deep reinforcement learning agents have achieved unprecedented results when learning to generalize from unstructured data. However, the “black-box” nature of the trained DRL agents makes it difficult to ensure that they adhere to various requirements posed by engineers. In this work, we put forth a novel technique for enhancing the reinforcement learning training loop, and specifically—its reward function, in a way that allows engineers to directly inject their expert knowledge into the training process. This allows us to make the trained agent adhere to multiple constraints of interest. Moreover, using scenario-based modeling techniques, our method allows users to formulate the defined constraints using advanced, well-established, behavioral modeling methods. This combination of such modeling methods together with ML learning tools produces agents that are both high performing and more likely to adhere to prescribed constraints. Furthermore, the resulting agents are more transparent and hence more maintainable. We demonstrate our technique by evaluating it on a case study from the domain of internet congestion control, and present promising results.
... Offshoots from these works pursue specific goals. Live Sequence Charts [4] (LSC) extend MSC to provide modalities for liveness analysis. Property Sequence Charts [1] (PSC) recast parts of UML and MSC alongside novel constructs for constraining message chaining. ...
... We can use RoboCert sequence diagrams to capture existential (stating some expected behaviours of the system) or universal (capturing all expected behaviours) properties [4]. We can check whether a target conforms to a sequence In RoboCert, we decouple the method in which we use a diagram (existential versus universal, traces-model versus timed-model, and so on) from the diagram itself; the usage is instead part of the assertions over that diagram. ...
... For example, we translate the messages in Figure 6 as: RoboCert has tool support in the form of RoboTool Eclipse plug-ins. 4 It adopts a textual encoding of RoboCert diagrams loosely based on the Mermaid 5 markup language. The tool reifies the well-formedness rules and semantics in Section 5. ...
Conference Paper
RoboStar is a toolkit for model-based development using a domain-specific notation, RoboChart, with enriched UML-like state machines and a custom component model. We present RoboCert: a novel notation, based on UML sequence diagrams, which facilitates the specification of properties over RoboChart components. With RoboCert, we can express properties of a robotic system in a user-friendly, idiomatic manner. RoboCert specifications can be existential or universal, include timing notions such as deadlines and budgets, and both safety and liveness properties. Our work is faithful to UML where it can be, but presents significant extensions to fit the robotics application needs. RoboCert comes with tooling support for modelling and verification by model checking, and formal semantics in tock-CSP, the discrete-time variant of CSP.
... Our proposed approach is general, in the sense that numerous modeling formalisms could be integrated into the DRL process. As a proof-of-concept, and for evaluation purposes, we focus here on a particular brand of modeling schemes, collectively referred to as scenario-based modeling (SBM) (Damm and Harel, 2001;Harel et al., 2012b). In SBM, a modeler creates small, stand-alone scenarios, each reflecting a certain desirable or undesirable behavior of the system under development. ...
... Scenario-based modeling (SBM) (Damm and Harel, 2001;Harel and Marelly, 2003;Harel et al., 2012b) is a modeling paradigm, designed to facilitate the development of reactive systems from components that are aligned with the way humans perceive and describe system behavior. The focus of SBM is on inter-object, system-wide behaviors, thus differing from the more conventional, object-centric paradigms. ...
... In practice, SBM is supported in a variety of textual and visual frameworks. Notable examples include the language of live sequence charts (LSC), where SBM concepts are applied to produce modal sequence dia-grams (Damm and Harel, 2001;Harel and Marelly, 2003); implementations in various high level languages, such as Java, C, C++, Erlang, JavaScript, and Python (see, e.g., (Harel et al., 2012b)); and various domain specific languages (Greenyer et al., 2016a) and extensions (Harel et al., 2020;Katz et al., 2019). ...
Preprint
Deep reinforcement learning has proven remarkably useful in training agents from unstructured data. However, the opacity of the produced agents makes it difficult to ensure that they adhere to various requirements posed by human engineers. In this work-in-progress report, we propose a technique for enhancing the reinforcement learning training process (specifically, its reward calculation), in a way that allows human engineers to directly contribute their expert knowledge, making the agent under training more likely to comply with various relevant constraints. Moreover, our proposed approach allows formulating these constraints using advanced model engineering techniques, such as scenario-based modeling. This mix of black-box learning-based tools with classical modeling approaches could produce systems that are effective and efficient, but are also more transparent and maintainable. We evaluated our technique using a case-study from the domain of internet congestion control, obtaining promising results.
... To make UML Interactions more suitable regarding universal/existential properties, the Modal profile [48] syntactically extends UML Interactions with modeling constructs as known from Live Sequence Charts (LSCs) [23]. Therefore, this profile introduces a UML-compliant form of LSCs, called Modal Sequence Diagrams (MSDs). ...
... The use of communication media and communication protocols (e.g., the properties of the connector CanBus in Fig. 7) causes a message transmission delay, which must be taken into account by a timing analysis [115]. In order to consider this delay, we encompass the concept of synchronous and asynchronous messages introduced by Harel's original Play-out semantics [50] for Live Sequence Charts (LSCs) [23]. In other words, we distinguish between message send events and message reception events. ...
... Live Sequence Charts (LSCs) [23] extend Message Sequence Charts [68] with modeling constructs and semantics for specifying and analyzing safety and liveness properties. Harel and Maoz [48] transferred these modeling constructs to a UML profile to enable the specification and analysis of LSC models in the widespread UML tools. ...
Article
Full-text available
Distributed, software-intensive systems (e.g., in the automotive sector) must fulfill communication requirements under hard real-time constraints. The requirements have to be documented and validated carefully using a systematic requirements engineering (RE) approach, for example, by applying scenario-based requirements notations. The resources of the execution platforms and their properties (e.g., CPU frequency or bus throughput) induce effects on the timing behavior, which may lead to violations of the real-time requirements. Nowadays, the platform properties and their induced timing effects are verified against the real-time requirements by means of timing analysis techniques mostly implemented in commercial-off-the-shelf tools. However, such timing analyses are conducted in late development phases since they rely on artifacts produced during these phases (e.g., the platform-specific code). In order to enable early timing analyses already during RE, we extend a scenario-based requirements notation with allocation means to platform models and define operational semantics for the purpose of simulation-based, platform-aware timing analyses. We illustrate and evaluate the approach with an automotive software-intensive system.
... Our proposed approach is general, in the sense that numerous modeling formalisms could be integrated into the DRL process. As a proof-of-concept, and for evaluation purposes, we focus here on a particular brand of modeling schemes, collectively referred to as scenario-based modeling (SBM) (Damm and Harel, 2001;Harel et al., 2012b). In SBM, a modeler creates small, stand-alone scenarios, each reflecting a certain desirable or undesirable behavior of the system under development. ...
... Scenario-based modeling (SBM) (Damm and Harel, 2001;Harel and Marelly, 2003;Harel et al., 2012b) is a modeling paradigm, designed to facilitate the development of reactive systems from components that are aligned with the way humans perceive and describe system behavior. The focus of SBM is on inter-object, system-wide behaviors, thus differing from the more conventional, object-centric paradigms. ...
... In practice, SBM is supported in a variety of textual and visual frameworks. Notable examples include the language of live sequence charts (LSC), where SBM concepts are applied to produce modal sequence dia-grams (Damm and Harel, 2001;Harel and Marelly, 2003); implementations in various high level languages, such as Java, C, C++, Erlang, JavaScript, and Python (see, e.g., (Harel et al., 2012b)); and various domain specific languages (Greenyer et al., 2016a) and extensions (Harel et al., 2020;Katz et al., 2019). ...
Article
A method for programming reactive systems, called scenario-based algorithmics, can have several advantages, both in programming and in computer science education. We provide new examples, experiments, and perspectives.
... Specifically, the method introduces scenario coding techniques and design approaches for constructing reactive systems [5] incrementally from their desired and undesired behaviors. The work on behavioral programming began with scenario-based programming, a way to create executable specifications of reactive systems, introduced through the language of live sequence charts (LSC) and its Play-Engine implementation [6,7]. The initial purpose was to enable testing and refining specifications and prototypes, and the approach was later extended towards building actual systems [8]. ...
... Following this direction there are several tools supporting the behavioral programming principles in other languages, such as Erlang [9], C [10], and with graphical tools such as the Play-Engine [7], PlayGo [11], and SBT [12]. Our approach to scenario-based specification is based on the LSC language [6,7]. It allows GUI-based or natural language-based playing in of behavioral scenarios, and is multi-modal, allowing constraints (for example, forbidden scenarios) to be part of the program. ...
... In this chapter we present our ongoing work, on extending the approach proposed in [14] towards using self-reflection and a model of the environment in an execution mechanism that allows for more robust and AI-based adaptive behavior. 6 Artificial Intelligence Methods for Software Engineering ...
... Many languages have been proposed for the contract-based description of system behavior with scenarios [1][2][3][4]. However, the contracts defined in these languages are generally static in the sense that they do not support the description of adaptive behavior, e.g, the reconfiguration (activation and deactivation) of system components and changing behavior in case of certain (external or internal) events. ...
... -The Gamma Scenario Language (GSCL) is a configurable variation of LSC [2] (Live Sequence Chart) that supports the high-level description of system behavior in terms of input and output events (interactions). -The Gamma Statechart Language (GSL) is a UML/SysML-inspired statechart [7] language supporting different semantic variants of statecharts. ...
... GSCL is a Live Sequence Chart (LSC) [2] variant with restrictions and extensions to facilitate test generation. It can describe scenarios that specify mandatory, forbidden and possible executions of reactive systems in terms of interactions. ...
Chapter
Control systems in railway, automotive or industrial robotic applications are generally tightly integrated into their environment to allow adapting to environmental changes. This paper proposes a contract-based specification and testing approach for adaptive systems based on the combination of a high-level scenario language (LSC variant) and an adaptive contract language (statechart extension). The scenario language supports high-level modeling constructs as well as configurable options for test generation. The adaptive contract language supports the flexible definition of scenario contract activation and deactivation based on environmental changes or interactions. Tests can be derived from adaptive contract descriptions using the combination of graph-traversal algorithms and integrated model checker back-ends. The applicability of the approach is demonstrated in the context of the Gamma framework.
... Specifying context-aware requirements (i.e., context-dependent requirements and requirements that change the system context) with b-threads -requires explicit, first-class citizen idioms for referencing and changing the system context -something that is not defined for BP. In [13] and [14], context idioms were proposed for two implementations of BP, in live-sequence charts (LSC) [12] and in JavaScript (respectively). Using the extended languages with firstclass citizen context idioms, they demonstrated how the new idioms allow for a direct specification of context-aware requirements, resulting in a better alignment between the requirements and the specification. ...
... As we demonstrate in Section 10.2, a COBP model that is based on these semantics, allows for applying reasoning techniques on the entire system (i.e., context, behavior, and execution mechanism) with no further input needed, as opposed to some COP implementations that allow for applying reasoning techniques only for part of the model, or require a manual translation of the code into a formal model. Furthermore, one of the key advantages of scenariobased programming (SBP) [12] in general, and of BP in particular, is the amenability of the software artifacts to formal analysis and synthesis. As we elaborate in Section 11, most of the tools for BP and SBP rely on the mathematically rigorous nature of the semantics in providing tools for running formal analysis and synthesis algorithms. ...
... The work on BP began with scenario-based programming (SBP), a way to create executable specifications of reactive systems, introduced through the language of live sequence charts (LSC) and its Play-Engine implementation [12,25]. As explained in Section 3.4, while BP allows for behavioral specification only, the LSC language includes idioms for both behavioral and data specifications. ...
Article
Full-text available
Context Modern systems require programmers to develop code that dynamically adapts to different contexts, leading to the evolution of new context-oriented programming languages. These languages introduce new software-engineering challenges, such as: how to maintain the separation of concerns of the codebase? how to model the changing behaviors? how to verify the system behavior? and more. Objective This paper introduces Context-Oriented Behavioral Programming (COBP) — a novel paradigm for developing context-aware systems, centered on natural and incremental specification of context-dependent behaviors. As the name suggests, we combine behavioral-programming (BP) — a scenario-based modeling paradigm — with context idioms that explicitly specify when scenarios are relevant and what information they need. The core idea is to connect the behavioral model with a data model that represents the context, allowing an intuitive connection between the models via update and select queries. Combining behavioral-programming with context-oriented programming brings the best of the two worlds, solving issues that arise when using each of the approaches in separation. Methods We begin with providing abstract semantics for COBP and two implementations for the semantics, laying the foundations for applying reasoning algorithms to context-aware behavioral programs. Next, we exemplify the semantics with formal specifications of systems, including a variant of Conway’s Game of Life. Then, we provide two case studies of real-life context-aware systems (one in robotics and another in IoT) that were developed using this tool. Throughout the examples and case studies, we provide design patterns and a methodology for coping with the above challenges. Results The case studies show that the proposed approach is applicable for developing real-life systems, and presents measurable advantages over the alternatives — behavioral programming alone and context-oriented programming alone. Conclusion We present a paradigm allowing programmers and system engineers to capture complex context-dependent requirements and align their code with such requirements.
... On the other hand, domain-expert knowledge, represented as executable specifications (ES), does offer explainability, ease of enhancement, and amenability to formal analysis. ES can be defined using classical procedural programming, structural and behavioral modeling, rule-based systems, specialized formalisms (such as Statecharts [7], scenario-based programming [8][9][10], temporal logic [11]), and more. Still, the required expertise in the problem domain is costly and hard to acquire. ...
... Subsection headings are adapted from the titles of the main cited articles. All of these efforts are based on a specific ES paradigm called behavioral programming (BP) -a modeling approach focused on allowing users to specify the system behavior in a natural and intuitive manner that is aligned with how humans perceive the system requirements [8][9][10]. A behavioral program consists of a set of scenarios (that state what to do) and anti-scenarios (that state what is not allowed to happen), which are interwoven at runtime, yielding cohesive behavior. ...
Article
Full-text available
Deep learning (DL), which includes deep reinforcement learning (DRL), holds great promise for carrying out real-world tasks that human minds seem to cope with quite readily. That promise is already delivering extremely impressive results in a variety of areas. However, while DL-enabled systems achieve excellent performance, they are far from perfect. It has been demonstrated, in several domains, that DL systems can err when they encounter cases they had not hitherto encountered. Furthermore, the opacity of the produced agents makes it difficult to explain their behavior and ensure that they adhere to various requirements posed by human engineers. At the other end of the software development spectrum of methods, behavioral programming (BP) facilitates orderly system development using self-standing executable modules aligned with how humans intuitively describe desired system behavior. In this paper, we elaborate on different approaches for combining DRL with BP and, more generally, machine learning (ML) with executable specifications (ES). We begin by defining a framework for studying the various approaches, which can also be used to study new emerging approaches not covered here. We then briefly review state-of-the-art approaches to integrating ML with ES, continue with a focus on DRL, and then present the merits of integrating ML with BP. We conclude with guidelines on how this categorization can be used in decision making in system development, and outline future research challenges.
... We achieve this by extending and integrating two approaches: the Lagrangian-PPO algorithm [15] for DRL training, and the scenario-based programming (SBP) [16,17] framework for encoding user-defined constraints. ...
... Scenario-Based Programming. Scenario-based programming (SBP) [16,28] is a paradigm designed to facilitate the development of reactive systems, by allowing engineers to program a system in a way that is close to how it is perceived by humans -with a focus on inter-object, system-wide behaviors. In SBP, a system is composed of scenarios, each describing a single, desired or undesired behavioral aspect of the system; and these scenarios are then executed in unison as a cohesive system. ...
Preprint
Full-text available
Deep reinforcement learning (DRL) has achieved groundbreaking successes in a wide variety of robotic applications. A natural consequence is the adoption of this paradigm for safety-critical tasks, where human safety and expensive hardware can be involved. In this context, it is crucial to optimize the performance of DRL-based agents while providing guarantees about their behavior. This paper presents a novel technique for incorporating domain-expert knowledge into a constrained DRL training loop. Our technique exploits the scenario-based programming paradigm, which is designed to allow specifying such knowledge in a simple and intuitive way. We validated our method on the popular robotic mapless navigation problem, in simulation, and on the actual platform. Our experiments demonstrate that using our approach to leverage expert knowledge dramatically improves the safety and the performance of the agent.
... For the verification process with UML [7] the diagrams are divided into three sections: First, structure diagrams describing the architecture, second interaction diagrams representing the time-related communication between modules and finally, behavior diagrams representing the implementation of a module. In [8] methods were developed to define a temporal property. Thereby, important information (e.g. ...
... 6 E is a set of events with unique IDs of a task with 7 E = ({send, receive, begin(fi ), constrain} × AE). 8 M is a set of messages or signals, M ⊆ (E × E). 9 A is a set of assignments with A ⊆ (C × M). The assertion generation process shown in Fig. 4 works in two steps. ...
Conference Paper
Full-text available
Nowadays mixed-signal systems are still verified by simulation. The verification process lacks on support of formal verification methods. To bridge the verification gap an assertion based design is essential. This requires formal assertions to describe the demanded temporal behavior. Therefore, we define a formal semantics for mixed-signal assertions. Our approach enables extracting formal mixed-signal assertions from an existing formal system specification in UML. The result is an improved assertion-based design method for verifying mixed-signal circuits which is demonstrated on a Σ/∆-converter.
... Model simulation not only serve as a useful tool to assess the dynamics of a complex system but also enables detection of bugs early in the design and development process, without needing a physical prototype of the system in place, therefore substantially reducing the time, cost and effort in system-engineering. There are various modeling frameworks such as finitestate-machines (FSMs) [11], Petri-Nets [31], ordinarydifferential-equations (ODEs) [12], message-sequencecharts (MSCs) [13], timed-automata [7] and hybridautomata [21] to name some and each one is wellsuited to model a particular category of systems. For instance, time-automata are well-suited to real-time sys-tems whereas Petri-Nets are ideal for concurrent systems modeling. ...
... Therefore, the number of discrete trajectory states for a given time-horizon T is computed as N = (T − τ )/δ (see line 2). The algorithm computes trajectory states until a point (v) intersects with a transition's Jump predicate (Jump(e)) or all the trajectory states in the given time-horizon have been computed (see lines [8][9][10][11][12][13][14][15][16][17]. Line 8 computes the successor trajectory state using an ODE solver. ...
Article
Full-text available
Model-based-design (MBD) in systems engineering is a well-accepted technique to abstract, analyse, verify, and validate complex systems. In MBD, we design a mathematical model of the system to virtually execute and test systems via model simulations to understand the system dynamics better. Computing model simulations have their challenges; one is to ensure that the simulation trajectory preserves the model semantics. Besides, computing many simulation trajectories over a long time horizon must be time-efficient for rapid respond to system engineers. In this work, we address these challenges in simulating models of Cyber-Physical Systems (CPS), particularly systems possessing mixed discrete-continuous dynamics. We focus on the subclass of CPS’s hybrid automata models, where Jump predicates are restricted to polygonal constraints and present a numerical simulation engine that can efficiently compute many random simulations in parallel by exploiting the parallel computing capability in modern multicore processors. Our simulation engine implements a lock-free parallel breadth-first-search (BFS) like algorithm and is implemented in the model-checking tool XSpeed. In addition, an application of our simulation engine in property verification of CPS models has been illustrated on two benchmarks. Some model coverage metrics have been defined that users of the tool can specify to set the desired thoroughness of testing with simulations. We demonstrate the performance gains of our simulation engine over SpaceEx and CORA, the modern model checkers and simulators for affine hybrid systems.
... Here we first define the expected system behavior from the SoS user perspective. Therefor we create a SoS feature specification where each feature is defined by one or more usage scenarios written in the gherkin syntax 6 . Listing 1.3 shows a first feature specification that describes a user interaction with the app. ...
... In this paper we use SMLK, which was extended to support an iterative and continuous modeling of system behavior in an SoS context. This modeling language is based on Live Sequence Charts (LSCs) [6]. A recent LSC variant are Modal Sequence Diagrams (MSDs) [12]. ...
Preprint
Full-text available
[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 abstraction and hierarchy levels as well as scopes of responsibility. [Question/Problem] We address the challenge of SoS requirements specification, where requirements can describe the SoS behavior, but also the behavior of CSs that are developed independently. [Principal Ideas] To support the requirements specification in an SoS environment, we propose a scenario-based and iterative specification technique. This allows requirements engineers to continuously model and jointly execute and test the system behavior for the SoS and the CS in order to detect contradictions in the requirement specifications at an early stage. [Contribution] In this paper, we describe an extension for the scenario-modeling language for Kotlin (SMLK) to continuously and formally model requirements on SoS and CS level. To support the iterative requirements specification and modeling we combine SMLK with agile development techniques. We demonstrate the applicability of our approach with the help of an example from the field of e-mobility.
... Scenario-Based Modeling (SBM) (Damm and Harel, 2001;Harel and Marelly, 2003;Harel et al., 2012b) is a notable candidate that fits this description. In SBM, systems are modeled through the specification of scenario objects: objects that represent individual behaviors of the system being modeled. ...
... The general research question that this paper addresses, namely how to effectively model complex systems and then repair these models, has been studied extensively. Here, we focused on the scenariobased modeling paradigm, in which system behaviors are modeled as scenarios (Damm and Harel, 2001;Harel and Marelly, 2003;Harel et al., 2012b). There are numerous related approaches for modeling event-driven reactive systems: notable examples include Esterel (Berry and Gonthier, 1992), Lustre (Halbwachs et al., 1991), Signal (Le Guernic et al., 1991), and Petri Nets (Holloway et al., 1997). ...
Preprint
Repairing legacy systems is a difficult and error-prone task: often, limited knowledge of the intricacies of these systems could make an attempted repair result in new errors. Consequently, it is desirable to repair such systems in an automated and sound way. Here, we discuss our ongoing work on the automated repair of scenario-based models: fully executable models that describe a system using scenario objects that model its individual behaviors. We show how rich, scenario-based models can be model-checked, and then repaired to prevent various safety violations. The actual repair is performed by adding new scenario objects to the model, and without altering existing ones - in a way that is well aligned with the principles of scenario-based modeling. In order to automate our repair approach, we leverage off-the-shelf SMT solvers. We describe the main principles of our approach, and discuss our plans for future work.
... Reasoning. One of the key advantages of BP is the amenability of the software artifacts to formal analysis and synthesis [8,48]. Most of the tools for BP rely on the mathematically rigorous nature of the semantics in providing tools for running formal analysis and synthesis algorithms [8]. ...
... SMLK is a Kotlin-based framework that leverages the concepts of Live Sequence Charts (LSCs) [52], the Behavioral Programming (BP) paradigm [53], and the Scenario Modeling Language [54]. An SMLK program consists of scenarios, which are threads that capture individual behavioral aspects that are loosely coupled via shared events. ...
Preprint
Full-text available
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 research gap, we propose a technique that starts with the early identification of validation concerns from a stakeholder perspective, which we use to systematically design tests that drive a scenario-based modeling and automated analysis of system requirements. We discover that Natural Language Processing (NLP) techniques are suitable to automate the test-case design and hence enable the application of our technique to real-world stakeholder requirements. To ensure complete and consistent requirements and test specifications in a form that is required in automotive development projects, we develop a Model-Based Systems Engineering (MBSE) methodology. This methodology supports system architects and test designers in the collaborative application of our technique and in maintaining a central system model, in order to automatically derive the required specifications. We evaluate our methodology by applying it at KOSTAL (Tier1 supplier) and within student projects as part of the masters program Embedded Systems Engineering. Our study corroborates that our methodology is applicable and improves existing requirements and test specification processes by supporting the integrated and stakeholder-focused modeling of product and validation systems, where the early definition of stakeholder and validation concerns fosters a problem-oriented, iterative and test-driven requirements modeling.
... Comme les présente l'étude [Harel and Thiagarajan, 2003], des extensions aux MSC existent dans le but d'élargir leur expressivité. On voit par exemple les diagrammes de séquences en direct (Live Sequence Charts) proposés dans [Damm and Harel, 2001]. Il s'agit d'une version multimodale des diagrammes de séquences que nous utilisons, qui permet notamment de distinguer des évènements possibles, nécessaires ou interdits. ...
Thesis
Les systèmes distribués sont omniprésents, cependant leur implémentation est complexe et sujette aux erreurs. Pour les vérifier, ils peuvent être modélisés en système d’automates communicants, où chaque automate représente le comportement d'un élément du système. Les propriétés liées à la vérification, telles que le problème de l'accessibilité, restent indécidables dans un tel modèle. En effet, un système d’automates communiquant de façon asynchrone est Turing équivalent. C’est pourquoi l'utilisation d'approximations est donc nécessaire. La k-synchronisabilité est l’une de ces approximations. Un système est k-synchronisable si pour toute exécution, il existe une exécution équivalente pouvant être divisée en phases, appelées k-échanges, contenant k messages. Dans cette thèse, nous nous intéressons à l'analyse des systèmes k-synchronisables : nous montrons que le problème de l’accessibilité est décidable et nous nous interrogeons sur la k-synchronisabilité d’un système donné. Pour ce deuxième point, nous regardons le cas où un k est passé en paramètre, et le cas où il faut trouver le k tel que le système est k- synchronisable. Nous prouvons que ces deux problèmes sont décidables lorsque le système communique en boîte aux lettres. Le premier problème est également décidable en pair-à-pair, mais, avec ce type de communication, le deuxième problème reste ouvert. Nous complétons cette étude en identifiant certaines implications contre-intuitives de la notion de k-synchronisabilité, celles-ci nous ont poussés à définir des variantes de la k-synchronisabilité. Une étude comparative de différentes classes de systèmes, soit étudiées ou définies dans cette thèse, soit provenant de la littérature, conclut nos travaux.
... This an approach that promotes the use of scenarios and antiscenarios for describing complex behaviours. The approach is based on Statecharts [27] and Life sequence charts (LSC) [11]. See more details about Statecharts, LSC and executable specification in Appendix B. ...
Preprint
Full-text available
Testing is a significant aspect of software development. As systems become complex and their use becomes critical to the security and the function of society, the need for testing methodologies that ensure reliability and detect faults as early as possible becomes critical. The most promising approach is the model-based approach where a model is developed that defines how the system is expected to behave and how it is meant to react. The tests are derived from the model and an analysis of the test results is conducted based on it. We will investigate the prospects of using the Behavioral Programming (BP) for a model-based testing (MBT) approach that we will develop. We will develop a natural language for representing the requirements. The model will be fed to algorithms that we will develop. This includes algorithms for the automatic creation of minimal sets of test cases that cover all of the system's requirements, analysing the results of the tests, and other tools that support the testing process. The focus of our methodology will be to find faults caused by the interaction between different requirements in ways that are difficult for the testers to detect. Specifically, we will focus our attention to concurrency issues such as deadlocks and logical race condition. We will use a variety of methods that are made possible by BP, such as non-deterministic execution of scenarios and use of in-code model-checking for building test scenarios and for finding minimal coverage of the test scenarios for the system requirements using Combinatorial Test Design (CTD) methodologies. We will develop a proof-of-concept tool kit which will allow us to demonstrate and evaluate the above mentioned capabilities. We will compare the performance of our tools with the performance of manual testers and of other model-based tools using comparison criteria that we will define and develop.
... We use the scenario modeling language for Kotlin (SMLK) to formalize functional requirements. SMLK is a Kotlinbased framework that leverages the concepts of Live Sequence Charts (LSCs) [29], the Behavioral Programming (BP) paradigm [30], and the Scenario Modeling Language [31]. An SMLK program consists of scenarios, which are threads that capture individual behavioral aspects that are loosely coupled via shared events. ...
Conference Paper
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 interactions (e.g., e-mobility systems). In this paper, we address this research gap and propose an integrated and iterative scenario-based technique for the specification of requirements and test scenarios. Our idea is to combine both a top-down and a bottom-up integration strategy. For the top-down approach, we use a behavior-driven development (BDD) technique to drive the modeling of high-level system interactions from the user's perspective. For the bottom-up approach, we discovered that natural language processing (NLP) techniques are suited to make textual specifications of existing components accessible to our technique. To integrate both directions, we support the joint execution and automated analysis of system-level interactions and component-level behavior. We demonstrate the feasibility of our approach by conducting a case study at Kostal (Tier1 supplier). The case study corroborates, among other things, that our approach supports practitioners in improving requirements and test specifications for integrated system behavior.
... Formalisms that can be described as top-down include Petri nets and its derivatives such as Coloured Petri Net (CPN) [69] and formalisms derived from Message Sequence Chart (MSC) [22] such as Live Sequence Chart (LSC) [48], which may be referred to as Interaction Languages (ILs). In Universal Modeling Language (UML) [24], Sequence Diagrams are included as an adaptation of MSC into UML. ...
Thesis
Interactions represent asynchronous communications in a distributed context and can be represented graphically in an intuitive manner while allowing the specification of precise scheduling policies for ordering events. In this thesis, we formalize such models as an Interaction Language (IL) taking the form of a term algebra which includes strict and weak sequencing, alternative and parallel composition and four semantically distinct loops to express nuances when repeating behaviors.This IL is equipped with a semantics associating a set of traces (sequences of events) to each interaction. A denotational formulation as a homomorphism allows the use of rewriting to define equivalence classes and normal forms. An operational formulation, proven equivalent to the first, allows further applications in formal verification.During the execution of a distributed system, communication logs might be collected locally. Without a global clock, events cannot be reordered globally. Hence analyzing an execution comes back to analyzing a set of local traces that we call a multi-trace. In addition one might start the observation too late or end it too early on any local component. As a result, a multi-trace might correspond to a partially observed execution. Taking advantage of the operational semantics we define algorithms for identifying multi-traces as being observations of behaviors specified by an interaction model.We have implemented our approach in a formal verification tool: HIBOU, which allows the specification and drawing of interactions, the exploration of their semantics, the computation of normal forms or the analysis of multi-traces.The IL can be extended to include data in the form of locally defined variables. Guards, formulated as Boolean expressions on variables can condition the execution of individual actions, while messages can carry data.This extension has also been implemented and we use symbolic execution to animate models and perform the analyses. An industrial case study has been carried out in the context of the DisTA FUI project.
... Scenario-based requirements engineering addresses the message-based coordination of software-intensive systems and enables, if underpinned with formal languages, automatic requirements validation techniques for improving the quality of a requirements specification. One of such requirements engineering approaches bases on a recent visual Live Sequence Chart [DH01] variant compliant to the Unified Modeling Language [Obj15], so-called Modal Sequence Diagrams (MSDs) [HM08]. ...
Technical Report
Full-text available
Scenario-based requirements engineering addresses the message-based coordination of software-intensive systems and enables, if underpinned with formal languages, automatic requirements validation techniques for improving the quality of a requirements specification. One of such requirements engineering approaches bases on a recent visual Live Sequence Chart variant compliant to the Unified Modeling Language, so-called Modal Sequence Diagrams (MSDs). The usage of patterns is known to be constructive thanks to assembling solutions by means of reusable building blocks that are proven in practice, so that recurring problems do not need to be solved over and over again. Thus, patterns also gained momentum in the area of requirements documentation. In this technical report, we introduce a model- and scenario-based pattern catalog for MSD requirements. Our MSD requirement pattern catalog consolidates and unifies 86 requirement patterns from three well-known, practice-oriented requirement pattern catalogs, each covering different aspects.
... A comprehensive thereon with specific focus on autonomous robotic systems is provided in [74]. Of all these approaches, particularly noteworthy are is the work by Brill, Damm, Klose, Wittke et al. [75][76][77] and by Bontemps et al. [78] on Live Sequence Charts. These are a extension to MSCs [25] to allow for verification of, e.g., partial ordering of messages or liveness properties, and through extensions, verification of time behavior [79,80]. ...
... We use the scenario modeling language for Kotlin (SMLK) to formalize functional requirements. SMLK is a Kotlinbased framework that leverages the concepts of Live Sequence Charts (LSCs) [29], the Behavioral Programming (BP) paradigm [30], and the Scenario Modeling Language [31]. An SMLK program consists of scenarios, which are threads that capture individual behavioral aspects that are loosely coupled via shared events. ...
Preprint
Full-text available
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 interactions (e.g., e-mobility systems). In this paper, we address this research gap and propose an integrated and iterative scenario-based technique for the specification of requirements and test scenarios. Our idea is to combine both a top-down and a bottom-up integration strategy. For the top-down approach, we use a behavior-driven development (BDD) technique to drive the modeling of high-level system interactions from the user's perspective. For the bottom-up approach, we discovered that natural language processing (NLP) techniques are suited to make textual specifications of existing components accessible to our technique. To integrate both directions, we support the joint execution and automated analysis of system-level interactions and component-level behavior. We demonstrate the feasibility of our approach by conducting a case study at Kostal (Tier1 supplier). The case study corroborates, among other things, that our approach supports practitioners in improving requirements and test specifications for integrated system behavior.
... Reasoning. One of the key advantages of BP is the amenability of the software artifacts to formal analysis and synthesis [8,10]. Most of the tools for BP rely on the mathematically rigorous nature of the semantics in providing tools for running formal analysis and synthesis algorithms (see [10] for more information). ...
... To address the problem of the imprecise semantics regarding universal/existential modal semantics, the Modal profile [17] syntactically extends UML Interactions with modeling constructs as known from Live Sequence Charts [11]. Thereby, this profile introduces a UML-compliant form of Live Sequence Charts, called Modal Sequence Diagrams (MSDs). ...
Thesis
Systems in the automotive industry achieve complex functionalities through the interaction in dynamically interconnected system networks. The individual systems offer partial functions developed within extensive development networks, which are then integrated to create a functionality that can be experienced by the user. For the successful development and validation of these systems, requirement and test specifications play a vital role, as these specifications form the basis for development work across disciplines and organisa- tions. However, it is challenging to specify requirements and tests in a way that they can be easily edited and communicated, while also precisely defining the expected system properties. This thesis describes a comprehensive model-based approach. Starting from a central system model, early and automated analysis of requirements is supported, leading to complete and consistent requirement and test specifications derived from the system model. The appropriate combination of techniques from Model-Based Systems Engineering (MBSE), Natural Language Processing (NLP), and scenario-based modeling enables a formal yet intuitive and application-oriented specification of requirements and tests.
Chapter
Domain modelling, as per the approach of this paper, offers the possibility of describing software application domains in a precise and comprehensive manner – well before requirements capture can take place. We endow domain modelling with appropriate analysis and description calculi and a systematic method for constructing domain models. The present paper is a latest exposé of the domain science & engineering as published in earlier papers and a book. It reports on our most recent simplifications to the domain analysis & description approach.
Chapter
Full-text available
Computer science education has been researched in Israel for a few decades, both at the K-12 and the undergraduate levels. The rich variety of the investigated topics addressed from the very beginning issues beyond the introductory course and programming, including the nature of the discipline and its fundamental ideas and concepts, which are stable, unlike the more technological aspects. Understanding the nature of the discipline and mapping its fundamental ideas and concepts constitute the basis on which curricula stand. Therefore, we chose to organize this chapter around ideas and concepts of CS. In line with this perspective, we will discuss research of all age levels: K-12, undergraduate, and even the graduate level, as well as research relating to teachers. We will present design-based research, which accompanied the design of new curricula, as well as studies aiming at identifying phenomena, or investigating educational hypotheses. We will also point out current challenges and possible future directions.
Article
Full-text available
Control systems are typically tightly embedded into their environment to enable adaptation to environmental effects. As the complexity of such adaptive systems is rapidly increasing, there is a strong need for coherent tool‐centric approaches to aid their systematic development. This paper proposes an end‐to‐end component‐based specification, design and verification approach for adaptive systems based on the integration of a high‐level scenario language (sequence chart variant) and an adaptation definition language (statechart extension) in the open source Gamma tool. The scenario language supports high‐level constructs for specifying contracts and the adaptation definition language supports the flexible activation and deactivation of static contracts and managed elements (state‐based components) based on internal changes (e.g., faults), environmental changes (e.g., varying context) or interactions. The approach supports linking managed elements to static contracts to formally verify their adherence to the specified behavior at design time using integrated model checkers. Implementation can be derived from the adaptation model automatically, which can be tested using automated test generation and verified at runtime by contract‐based monitors.
Chapter
RoboStar is a toolkit for model-based development using a domain-specific notation, RoboChart, with enriched UML-like state machines and a custom component model. We present RoboCert: a novel notation, based on UML sequence diagrams, which facilitates the specification of properties over RoboChart components. With RoboCert, we can express properties of a robotic system in a user-friendly, idiomatic manner. RoboCert specifications can be existential or universal, include timing notions such as deadlines and budgets, and both safety and liveness properties. Our work is faithful to UML where it can be, but presents significant extensions to fit the robotics application needs. RoboCert comes with tooling support for modelling and verification by model checking, and formal semantics in tock-CSP, the discrete-time variant of CSP.KeywordsRoboChartTimed propertiesCSPSequence diagrams
Article
Autonomous systems emerge from the need to progressively replace human operators by autonomous agents in a wide variety of application areas. We offer an analysis of the state of art in developing autonomous systems, focusing on design and validation, and showing that the multi-faceted challenges involved go well beyond the limits of weak AI. We argue that traditional model-based techniques are defeated by the complexity of the problem, while solutions based on end-to-end machine learning fail to provide the necessary trustworthiness. We advocate a hybrid design approach, which combines the two, adopting the best of each, and seeks tradeoffs between trustworthiness and performance. We claim that traditional risk analysis and mitigation techniques fail to scale, and discuss the trend of moving away from correctness at design time and towards reliance on runtime assurance techniques. We argue that simulation and testing remain the only realistic approach for global validation, and show how current methods can be adapted to autonomous systems. We conclude by discussing the factors that will play a decisive role in the acceptance of autonomous systems, and by highlighting the urgent need for new theoretical foundations.
Chapter
Model-based design (MBD) in systems engineering is a well-accepted technique to abstract, analyze, verify, and validate complex systems. In MBD, we design a mathematical model of the system to virtually execute and test systems via model simulations to understand the system dynamics better. Computing model simulations have their challenges: one is to ensure that the simulation trajectory preserves the model semantics. Besides, computing many simulation trajectories over a long time-horizon must be time-efficient for rapid response to system engineers. In this work, we address these challenges in simulating models of Cyber-Physical-Systems (CPS), particularly systems possessing mixed discrete-continuous dynamics. We focus on the subclass of CPS’s hybrid-automata models, where jump predicates are restricted to polygonal constraints and present a numerical simulation engine that can efficiently compute many random simulations in parallel by exploiting the parallel computing capability in modern multicore processors. Our simulation engine implements a lock-free parallel breadth-first-search (BFS) like algorithm and is implemented in the model-checking tool XSpeed. We demonstrate the performance gains of our simulation engine over SpaceEx and CORA, the modern model checkers and simulators for affine hybrid systems.
Chapter
The 2020 expert survey on formal methods has put one topic into the focus of the formal methods for industrial critical systems community: education and training. Of three overall conclusions, the first one finds the survey to indicate “a consensus about the essential role of education”. At the same time, survey results and individual expert statements indicate largely open challenges. In this work, we analyse the 2020 expert survey results from an education and training perspective, and we discuss the proposal of an integrative approach with respect to these challenges. A central enabler for the integrated approach is the modern, inclusive interpretation of formal methods as put forth in the survey report and a differentiated understanding of roles (or stakeholders) in formal methods for industrial critical systems.
Thesis
In dieser Arbeit wird ein modellbasierter Testansatz für kooperierende autonome Systeme auf Basis farbiger Petri-Netze vorgestellt. Dazu werden zunächst verschiedene Modellierungssprachen zusammengetragen, die potenziell geeignet erscheinen, der hohen Komplexität derartiger Systeme gerecht zu werden. Anhand eines aufgestellten Kriterienkatalogs werden die Ansätze hinsichtlich ihrer Einsetzbarkeit bewertend verglichen. Aufbauend auf der Wahl farbiger Petri-Netze für die weitere Verfolgung des Ansatzes werden Überdeckungskriterien als objektiv messbare Testziele eingeführt und zueinander in Relation gesetzt. Die Generierung der Testfallmengen stellt dabei ein multi-objektives Optimierungsproblem dar. Während die strukturelle Überdeckung hinsichtlich eines ausgewählten Kriteriums zu maximieren ist, soll die Anzahl der Testfälle aus Gründen der Wirtschaftlichkeit möglichst niedrig gehalten werden. Zur Lösung dieses gegenläufigen Optimierungsproblems werden sowohl analytische als auch heuristische Verfahren vorgestellt. Der heuristische Ansatz wird dabei in Form von genetischen Algorithmen verfolgt. Die dafür notwendigen Operatoren werden in Bezug auf die gewählte Modellierungssprache der farbigen Petri-Netze detailliert beschrieben. Besondere Bedeutung kommt hierbei einer multiobjektiven Optimierung mittels Pareto-optimaler Lösungen zu, die es dem Anwender erlaubt, zwischen optimalen Lösungsalternativen auszuwählen. Die im Zuge der Arbeit entwickelten Ansätze und Werkzeuge werden schließlich an einer fiktiven Anwendung erprobt. Diese ist inspiriert durch das von der Europäischen Union und dem Bundesministerium für Bildung und Forschung (BMBF) geförderte Projekt „Resilient Reasoning Robotic Co-operating Systems“ (R3-COP). Zudem erfolgt eine Evaluierung der Güte der generierten Testfallmengen mittels eines modellbasierten Mutationstests.
Conference Paper
This paper presents semantics, syntax, and tools for specification and verification of safety and liveness properties of behavioral programs. Verification is performed directly on program code, by traversing its transition system. Liveness properties are defined using “hot states”, in which scenarios are allowed to stay for a finite time, but not forever. Safety properties are defined using assertions which allow labeling program states as having violations, and by analyzing program states for deadlocks detection. The paper defines liveness violations with regards to specific program components and describes an approach for validating the absence of such violations is a system. The proposed approach is supported by BPjs, an open-source tool suite developed by the authors.
Article
Logs are semi-structured text generated by logging statements in software source code. In recent decades, software logs have become imperative in the reliability assurance mechanism of many software systems, because they are often the only data available that record software runtime information. As modern software is evolving into a large scale, the volume of logs has increased rapidly. To enable effective and efficient usage of modern software logs in reliability engineering, a number of studies have been conducted on automated log analysis. This survey presents a detailed overview of automated log analysis research, including how to automate and assist the writing of logging statements, how to compress logs, how to parse logs into structured event templates, and how to employ logs to detect anomalies, predict failures, and facilitate diagnosis. Additionally, we survey work that releases open-source toolkits and datasets. Based on the discussion of the recent advances, we present several promising future directions toward real-world and next-generation automated log analysis.
Book
Full-text available
Ein Alleinstellungsmerkmal dieses Open-Access-Lehrbuchs ist die umfassende Einführung in das Grundlagenwissen über eingebettete Systeme mit Anwendungen in cyber-physischen Systemen und dem Internet der Dinge. Es beginnt mit einer Einführung in das Gebiet und eine Übersicht über Spezifikationsmodelle und -sprachen für eingebettete und cyber-physikalische Systeme. Es gibt einen kurzen Überblick über die für solche Systeme verwendeten Hardware-Geräte und stellt die Grundlagen der Systemsoftware für eingebettete Systeme vor, einschließlich Echtzeit-Betriebssystemen. Der Autor erörtert auch Evaluierungs- und Validierungstechniken für eingebettete Systeme und gibt einen Überblick über Techniken zur Abbildung von Anwendungen auf Ausführungsplattformen, inklusive Multi-Core-Plattformen. Eingebettete Systeme müssen unter engen Randbedingungen arbeiten, daher enthält das Buch auch einen ausgewählten Satz von Optimierungstechniken, mit einem Schwerpunkt bei Software-Optimierungstechniken. Das Buch schließt mit einer kurzen Übersicht über das Testen. Die vierte Auflage wurde aktualisiert und überarbeitet, um neue Trends und Technologien zu berücksichtigen, wie z. B. die Bedeutung von cyber-physischen Systemen (CPS) und dem Internet der Dinge (IoT), die Entwicklung von Single-Core-Prozessoren hin zu Multi-Core-Prozessoren und die zunehmende Bedeutung von Energieeffizienz und thermischen Fragen. Der Inhalt Einleitung - Spezifikation und Modellierung - Hardware eingebetteter Systeme - Systemsoftware - Bewertung und Validierung - Abbildung von Anwendungen (Scheduling) - Optimierung - Test Der Autor Prof. Dr. Peter Marwedel erhielt die Grade eines Dr. rer. nat. in Physik und eines Dr. habil. in Informatik von der Universität Kiel. Von 1989–2014 leitete er den Lehrstuhl für Technische Informatik und Eingebettete Systeme an der Fakultät für Informatik der TU Dortmund. Sein Forschungsinteresse gilt der effizienten Realisierung eingebetteter und cyber-physikalischer Systeme. Den Sonderforschungsbereich 876 zur ressourceneffizienten Analyse großer Datensätze hat er mitinitiiert und er war dessen erster stellvertretender Vorsitzender.
Chapter
Full-text available
Zusammenfassung Zur Bewältigung der Komplexität des Entwurfes von Anwendungen eingebetteter Systeme ist die Wiederverwendung von Komponenten ein wichtiges Hilfsmittel.
Chapter
[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 abstraction and hierarchy levels as well as scopes of responsibility. [Question/Problem] We address the challenge of SoS requirements specification, where requirements can describe the SoS behavior, but also the behavior of CSs that are developed independently. [Principal Ideas] To support the requirements specification in an SoS environment, we propose a scenario-based and iterative specification technique. This allows requirements engineers to continuously model and jointly execute and test the system behavior for the SoS and the CS in order to detect contradictions in the requirement specifications at an early stage. [Contribution] In this paper, we describe an extension for the scenario-modeling language for Kotlin (SMLK) to continuously and formally model requirements on SoS and CS level. To support the iterative requirements specification and modeling we combine SMLK with agile development techniques. We demonstrate the applicability of our approach with the help of an example from the field of e-mobility.
Article
With the growing complexity of railway control systems, it is required to preform runtime safety checks of system executions that go beyond conventional runtime monitoring of pre-programmed safety conditions. Runtime verification is a lightweight and rigorous formal method that dynamically analyses execution traces against some formal specifications. A challenge in applying this method in railway systems is defining a suitable monitoring specification language, i.e., a language that is expressive, of reasonable complexity, and easy to understand. In this paper, we propose parameterized modal live sequence charts (PMLSCs) by introducing the alphabet of the specification into charts to distinguish between silent events and unexpected events. We further investigate the expressiveness and complexity theories of the language. In particular, we prove that PMLSCs are closed under negation and the complexity of a subclass of PMLSCs is linear, which allows the language to be used to monitor a system online. Finally, we use PMLSCs to monitor an RBC system in the Chinese high-speed railway and evaluate the performance. The experimental results show that the PMLSC has high monitoring efficiency, and can reduce false alarm rate by introducing alphabets of charts.
Conference Paper
Smart Cities are developing in parallel with the global trend towards urbanization. The ultimate goal of Smart City projects is to deliver a positive impact for the citizens and the socio-economic and ecological environment. This involves the challenge to derive concrete requirements for (technical) projects from overarching concepts like Quality of Life (QoL) and Subjective Well-Being (SWB). Linking long-term, impact oriented goals with project outputs and outcomes is a complex problem. Decision making on requirements and resulting features of single Smart City projects (or systems) is even more com- plex since cities are not like monolithic, hierarchical and well- structured systems. Nevertheless, systems engineering provides concepts which support decision making in such situations. Complex socio-technical systems such as smart cities can be characterized as systems of systems (SoS). A SoS is composed of independently developed systems that nevertheless provide a higher-level integrated functionality. To add new functionality to a SoS, either existing systems must be extended or new systems must be developed and integrated. In both cases, the extension of functionality is usually done in small increments and structured via software releases. However, the decision which features to include in the next release is complex and difficult to manage when done manually. To address this, we make use of the multi- objective next release problem (MONRP) to search for an optimal set of features for a software release in a SoS context. In order to refine the search in an early planning phase, we propose a technique to model and validate the features using the scenario modeling language for Kotlin (SMLK). This is demonstrated with a proof-of-concept implementation.
Preprint
Smart Cities are developing in parallel with the global trend towards urbanization. The ultimate goal of Smart City projects is to deliver a positive impact for the citizens and the socio-economic and ecological environment. This involves the challenge to derive concrete requirements for (technical) projects from overarching concepts like Quality of Life (QoL) and Subjective Well-Being (SWB). Linking long-term, impact oriented goals with project outputs and outcomes is a complex problem. Decision making on requirements and resulting features of single Smart City projects (or systems) is even more complex since cities are not like monolithic, hierarchical and well structured systems. Nevertheless, systems engineering provides concepts which support decision making in such situations. Complex socio-technical systems such as smart cities can be characterized as systems of systems (SoS). A SoS is composed of independently developed systems that nevertheless provide a higher-level integrated functionality. To add new functionality to a SoS, either existing systems must be extended or new systems must be developed and integrated. In both cases, the extension of functionality is usually done in small increments and structured via software releases. However, the decision which features to include in the next release is complex and difficult to manage when done manually. To address this, we make use of the multi-objective next release problem (MONRP) to search for an optimal set of features for a software release in a SoS context. In order to refine the search in an early planning phase, we propose a technique to model and validate the features using the scenario modeling language for Kotlin (SMLK). This is demonstrated with a proof-of-concept implementation.
Chapter
Deep neural networks (DNNs) are becoming widespread, and can often outperform manually-created systems. However, these networks are typically opaque to humans, and may demonstrate undesirable behavior in corner cases that were not encountered previously. In order to mitigate this risk, one approach calls for augmenting DNNs with hand-crafted override rules. These override rules serve to prevent the DNN from making certain decisions, when certain criteria are met. Here, we build on this approach and propose to bring together DNNs and the well-studied scenario-based modeling paradigm, by encoding override rules as simple and intuitive scenarios. We demonstrate that the scenario-based paradigm can render override rules more comprehensible to humans, while keeping them sufficiently powerful and expressive to increase the overall safety of the model. We propose a method for applying scenario-based modeling to this new setting, and apply it to multiple DNN models. (This paper substantially extends the paper titled “Guarded Deep Learning using Scenario-Based Modeling”, published in Modelsward 2020 [47]. Most notably, it includes an additional case study, extends the approach to recurrent neural networks, and discusses various aspects of the proposed paradigm more thoroughly).
Chapter
Full-text available
How can we describe the system which we would like to design, and how can we represent intermediate design information? Models and description techniques for initial specifications as well as for intermediate design information will be shown in this chapter. First of all, we will capture requirements for modeling techniques. Next, we will provide an overview of models of computation. This will be followed by a presentation of popular models of computations, in combination with examples of the corresponding languages. The presentation includes models for early design phases, automata-based models, data flow, Petri nets, discrete event models, von Neumann languages, and abstraction levels for hardware modeling. Finally, we will compare different models of computation and present exercises.
Conference Paper
Full-text available
We present a first step towards a seamless integration of MSCs into the system development process. In particular, we show how scenario-based system requirements, captured in the early system analysis phase using MSCs, are translated into state-based description techniques like Statecharts. To this end, we sketch a schematic integration of MSCs and Statecharts.
Article
Full-text available
Message sequence charts (MSCs) are used in the design phase of a distributed system to record intended system behaviors. They serve as informal documentation of design requirements that are referred to throughout the design process and even in the final system integration and acceptance testing. We show that message sequence charts are open to a variety of semantic interpretations. The meaning of an MSC can depend on, for instance, whether one allows or denies the possibility of message loss or message overtaking, and on the particulars of the message queuing policy to be adopted. We describe an analysis tool that can perform automatic checks on message sequence charts and can alert the user to the existence of subtle design errors, for any predefined or user-specified semantic interpretation of the chart. The tool can also be used to specify time constraints on message delays, and can then return useful additional timing information, such as the minimum and the maximum possible delays between pairs of events.
Article
Full-text available
We give a semantics for Message Flow Graphs (MFGs), which play the role for interprocess communication that Program Dependence Graphs play for control flow in parallel processes. MFGs have been used to analyse parallel code, and are closely related to Message Sequence Charts and Time Sequence Diagrams in telecommunications systems. Our requirements are firstly, to determine unambiguously exactly what execution traces are specified by an MFG, and secondly, to use a finite-state interpretation. Our methods function for both asynchronous and synchronous communications. From a set of MFGs, we define a transition system of global states, and from that a Buchi automaton by considering safety and liveness properties of the system. In order easily to describe liveness properties, we interpret the traces of the transition system as a model of Manna-Pnueli temporal logic. Finally, we describe the expressive power of MFGs by mimicking an arbitrary Buchi automaton by means of a set of MFGs. 1. In...
Article
Full-text available
Message Sequence Chart (MSC) specifications have found their way into many software engineering methodologies and CASE tools, in particular in the area of telecommunications and concurrent real-time systems. MSC specifications often represent early life-cycle requirements and high-level design specifications. We are considering terating and branching MSC specifications according to ITU-T Recommendation Z.120. We show how these specifications can be analyzed with respect to their software architectural content, induding structure and bchavior. We present algorithms for the automated synthesis of Real-Time Object-Oriented Modeling (ROOM) models from MSC specifications and discuss their implementation in the MESA toolset. The automation of the synthesis contributes to making the transition from high-level, message exchange-oriented views to the level of a full life-cycle architecture description more efficient and reliable. This means that we are contributing to making Z.120 MSC specifications more useful in the software engineering process.
Conference Paper
Full-text available
Message Sequence Chart (MSC) specifications have found their way into many software engineering methodologies and CASE tools, in particular to represent early life-cycle requirements and high-level design specifications. We analyze iterating and branching MSC specifications with respect to their software architectural content. We present algorithms for the automated synthesis of Real-Time Object-Oriented Modeling (ROOM) models from MSC specifications and discuss their implementation in the MESA toolset
Article
Full-text available
STATEMATE is a set of tools, with a heavy graphical orientation, intended for the specification, analysis, design, and documentation of large and complex reactive systems. It enables a user to prepare, analyze, and debug diagrammatic, yet precise, descriptions of the system under development from three interrelated points of view, capturing structure, functionality, and behavior. These views are represented by three graphical languages, the most intricate of which is the language of statecharts, used to depict reactive behavior over time. In addition to the use of statecharts, the main novelty of STATEMATE is in the fact that it understands the entire descriptions perfectly, to the point of being able to analyze them for crucial dynamic properties, to carry out rigorous executions and simulations of the described system, and to create running code automatically. These features are invaluable when it comes to the quality and reliability of the final outcome
Article
Full-text available
In this paper we show how to construct optimal bitvector analysis algorithms for parallel programs with shared memory that are as efficient as their purely sequential counterparts, and which can easily be implemented. Whereas the complexity result is rather obvious, our optimality result is a consequence of a new Kam/Ullman-style Coincidence Theorem. Thus using our method, the standard algorithms for sequential programs computing liveness, availability, very business, reaching definitions, definition-use chains, or performing partially redundant expression and assignment elimination, partial dead code elimination or strength reduction, can straightforward be transferred to the parallel setting at almost no cost. Keywords: Parallelism, interleaving semantics, synchronization, program optimization, data flow analysis, bitvector problems, definition-use chains, partially redundant expression elimination, partial dead code elimination. 1 Motivation Parallel implementations are of growing...
Conference Paper
Full-text available
Live sequence charts (LSCs) have been defined recently as an extension of message sequence charts (MSCs; or their UML variant, sequence diagrams) for rich inter-object specification. One of the main additions is the notion of universal charts and hot, mandatory behavior, which, among other things, enables one to specify forbidden scenarios. LSCs are thus essentially as expressive as statecharts. This paper deals with synthesis, which is the problem of deciding, given an LSC specification, if there exists a satisfying object system and, if so, to synthesize one automatically. The synthesis problem is crucial in the development of complex systems, since sequence diagrams serve as the manifestation of use cases – whether used formally or informally – and if synthesizable they could lead directly to implementation. Synthesis is considerably harder for LSCs than for MSCs, and we tackle it by defining consistency, showing that an entire LSC specification is consistent iff it is satisfiable by a state-based object system, and then synthesizing a satisfying system as a collection of finite state machines or statecharts.
Article
We discuss the possibility of a complete system development scheme, supported by semantically rigorous automated tools, within which one can go from an extremely high-level, user-friendly requirement capture method, which we call play-in scenarios, to a final implementation. A cyclic process consisting of verification against requirements and synthesis from requirements plays an important part in the scheme, which is not quite as imaginary as it may sound.
Article
We present a broad extension of the conventional formalism of state machines and state diagrams, that is relevant to the specification and design of complex discrete-event systems, such as multi-computer real-time systems, communication protocols and digital control units. Our diagrams, which we call statecharts, extend conventional state-transition diagrams with essentially three olements, dealing, respectively, with the notions of hierarchy, concurrency and communication. These transform the language of state diagrams into a highly structured' and economical description language. Statecharts are thus compact and expressive--small diagrams can express complex behavior--as well as compositional and modular. When coupled with the capabilities of computerized graphics, statecharts enable viewing the description at different levels of detail, and make even very large specifications manageable and comprehensible. In fact, we intend to demonstrate here that statecharts counter many of the objections raised against conventional state diagrams, and thus appear to render specification by diagrams an attractive and plausible approach. Statecharts can be used either as a stand-alone behavioral description or as part of a more general design methodology that deals also with the system's other aspects, such as functional decomposition and data-flow specification. We also discuss some practical experience that was gained over the last three years in applying the statechart formalism to the specification of a particularly complex system.
Article
This chapter provides the semantic foundation of a formal verification environment for VHDL. The envisaged tool supports specification of system-level hardware designs using an extension of the classical concepts of timing diagrams allowing us to express first-order properties and causality relations between events. A formal semantics of such symbolic timing diagrams is given in terms of a linear time first-order temporal logic. System-level designs expressed in VHDL – an IEEE standard hardware description language – can be verified against temporal logic specifications using a compositional proof system presented in this chapter. This proof-system is proved correct with respect to a formal semantics for VHDL in the style of structural operational semantics based on transition systems. For the special case of VHDL designs using finite data types only, the semantics provides a link to model-checking tools allowing automatic verification of VHDL designs against a temporal logic specification. Such a verification environment is currently under development within the ESPRIT project FORMAT.
Article
Many different methods have been devised for automatically verifying finite state systems by examining state-graph models of system behavior. These methods all depend on decision procedures that explicitly represent the state space using a list or a table that grows in proportion to the number of states. We describe a general method that represents the state space symbolically instead of explicitly. The generality of our method comes from using a dialect of the Mu-Calculus as the primary specification language. We describe a model checking algorithm for Mu-Calculus formulas that uses Bryant's Binary Decision Diagrans (Bryant, R. E., 1986, IEEE Trans. Comput.C-35) to represent relations and formulas. We then show how our new Mu-Calculus model checking algorithm can be used to derive efficient decision procedures for CTL model checking, satisfiability of linear-time temporal logic formulas, strong and weak observational equivalence of finite transition systems, and language containment for finite ω-automata. The fixed point computations for each decision procedure are sometimes complex, but can be concisely expressed in the Mu-Calculus. We illustrate the practicality of our approach to symbolic model checking by discussing how it can be used to verify a simple synchronous pipeline circuit.
Conference Paper
Many different methods have been devised for automatically verifying finite state systems by examining state-graph models of system behavior. These methods all depend on decision procedures that explicitly represent the state space using a list or a table that grows in proportion to the number of states. We describe a general method that represents the state space symbolically instead of explicitly. The generality of our method comes from using a dialect of the Mu-Calculus as the primary specification language. We describe a model checking algorithm for Mu-Calculus formulas that uses Bryant's Binary Decision Diagrams (1986) to represent relations and formulas. We then show how our new Mu-Calculus model checking algorithm can be used to derive efficient decision procedures for CTL model checking, satisfiability of linear-time temporal logic formulas, strong and weak observational equivalence of finite transition systems, and language containment for finite !-automata.
Conference Paper
This paper presents a toolset we built for supporting verification of Statemate designs. Statemate is a widely used design tool for embedded control applications. Designs are translated into finite state machines which are optimized and then verified by symbolic model checking. To express requirement specifications the visual formalism of symbolic timing diagrams is used. Their semantics is given by translation into temporal logic. If the model checker generates a counterexample, it is retranslated into either a symbolic timing diagram or a stimulus for the Statemate simulator.
Conference Paper
This paper reports experiences and results gained during the evaluation of the visual formalism STD as specification method for formal verification, performed in cooperation with industrial partners. The visual formalism STD (Symbolic Timing Diagrams) was developed continuously since 1993 by OFFIS as a specification method, which satisfies several needs: (1) It is based on the principles used in the familiar notation of timing diagrams (as conventionally used by hardware designers). (2) It is a method amenable to formal verification, using stateof-the art verification tools efficiently (in particular, symbolic modelchecking). (3) It supports compositional verification, which is an approach to verify large designs in a compositional way (breaking up proofs of requirements stated for a full design into a sequence of smaller proof tasks, which imply the global proof task). The formalism (with the supporting tools) has been integrated into an established verification environment (CheckOff-M), which allows to verify industrial-scale designs by model-checking.
Conference Paper
When dealing with timing constraints, the Z.120 standard of Message Sequcnce Charts (MSCs) is still evolving along with several proposals. This paper first reviews proposed extensions of MSCs to dcscribe timing constraints. Secondly, the paper describes an analysis technique for timing consistency in iterating and branching MSC specifications. Thc analysis extends efficient current techniques for timing analysis of MSCs with no loops nor branchings. Finally, the paper extends our syntactic analysis of process divergence to MSCs with timing constraints.
Article
this paper is part of a project aiming at advanced support for dynamic modelling in OO software development. We will use the OMT method developed by Rumbaugh et al. as a guideline, but it should be emphasized that the results can be exploited in other methods as well. OMT consists of three modelling techniques: object modelling for describing the static relations and properties of objects, dynamic modelling for describing the behaviour of objects and functional modelling for describing the input--output relations of operations. Of these models, OMT emphasizes the role of the object model---this part is relevant for all applications. Dynamic modelling is needed for specifying the external behaviour of active CCC 0038--0644/94/070643--16 Received 1 November 1993 1994 by John Wiley & Sons, Ltd. Revised 14 March 1994 software such as embedded real-time systems or interactive user interfaces. Since most modern systems have components falling into these categories, dynamic modelling is essential in many cases. Functional modelling is used mainly in computation-oriented applications, such as spreadsheet programs, compilers, CAD systems, etc
Article
Many different methods have been devised for automatically verifying finite state systems by examining state-graph models of system behavior. These methods all depend on decision procedures that explicitly represent the state space using a list or a table that grows in proportion to the number of states. We describe a general method that represents the state space symbolically instead of explicitly. The generality of our method comes from using a dialect of the Mu-Calculus as the primary specification language. We describe a model checking algorithm for Mu-Calculus formulas that uses Bryant's Binary Decision Diagrams (1986) to represent relations and formulas. We then show how our new Mu-Calculus model checking algorithm can be used to derive efficient decision procedures for CTL model checking, satisfiability of linear-time temporal logic formulas, strong and weak observational equivalence of finite transition systems, and language containment for finite !-automata. The fixed point co...
Article
Message Sequence Charts (MSCs) are increasingly supported in software engineering tools and methodologies for communication systems. The last Z.120 standard extends MCs with operators to organize them in a compositional, hierarchical fashion to describe systems with non-trivial sizes. When dealing with timing constraints, the standard is still evolving along with several proposals. This paper first reviews proposed extensions of MSCs to describe timing constraints. Secondly, the paper describes an analysis technique for timing consistency in iterating and branching MSC specifications. The analysis extends efficient current techniques for timing analysis of MSCs with no loops or branchings. Finally, we use an example to illustrate our analysis technique.
Conference Paper
An approach to the specification and verification of system-level hardware designs is presented. It is based on Timing Diagrams, a graphical specification language with an intuitive semantics, which is especially appropriate for the description of asynchronous distributed systems such as hardware designs. Timing Diagrams and their semantics are formally defined based on a translation to temporal logic. It is shown that for the resulting type of formulas there is an efficient model checking procedure, thus allowing fully automatic verification of hardware designs
Conference Paper
We present an effective method to translate a statechart into an ordered binary decision diagram (OBDD) representation of its transition system. By that it becomes possible to verify a system specified by a statechart by symbolic model checking, one of the most advanced automatic verification techniques. The method exploits the hierarchy in the relevance of information as is implied by the state structure and admits some redundancy to keep the “decoding effort” of each OBDD small. The method is implemented in the ESPRIT project FORMAT, where OBDD based transition systems serve as a common ground to verify specifications in VHDL or (a variant of) statecharts against temporal logic, symbolic timing diagrams, and each other
Conference Paper
The temporal logic model algorithm of E.M. Clarke et al. (ACM Trans. Prog. Lang. Syst., vol.8, no.2, p.244-63, 1986) is modified to represent a state graph using binary decision diagrams (BDDs). Because this representation captures some of the regularity in the state space of sequential circuits with data path logic, one is able to verify circuits with an extremely large number of states. This new technique is demonstrated on a synchronous pipelined design with approximately 5×10<sup>20</sup> states. The logic that is used to specify circuits is a propositional temporal logic of branching time, called CTL or Computation Tree Logic. The model checking algorithm handles full CTL with fairness constraints. Consequently. it is possible to handle a number of important liveness and fairness properties. which would otherwise not be expressible in CTL. The method presented is not necessarily a replacement for brute-force state-enumeration methods but an alternative that may work efficiently when the brute force methods fail
Article
We explore how automated tools might support the dynamic modeling phase of object oriented software development. We use the Object Modeling Technique as a guideline and notational basis, but in principle our approach is not tied to any particular OO methodology. We assume, however, that dynamic modeling exploits scenarios (as in OMT) describing examples of using the system being developed. Our techniques can easily be adopted for various scenario representations, such as sequence diagrams or collaboration diagrams in UML
Article
Statecharts, popular for modeling system behavior in the structural analysis paradigm, are part of a fully executable language set for modeling object-oriented systems. The languages form the core of the emerging Unified Modeling Language. The authors embarked on an effort to develop an integrated set of diagrammatic languages for object modeling, built around statecharts, and to construct a supporting tool that produces a fully executable model and allows automatic code synthesis. The language set includes two constructive modeling languages (languages containing the information needed to execute the model or translate it into executable code)
Article
This paper presents an approach towards real-time verification of Statemate designs. Statemate is a widely used design tool for embedded control units. These embedded control units are usually contained in industrial products and often implement concurrent systems. In our approach designs including all timing information are translated into untimed Kripke Structures which are optimized and then verified by symbolic model-checking. Real-time requirements are expressed by TCTL formulae interpreted over discrete time. A reduction from TCTL model-checking to CTL model-checking is presented in order to use a CTL model-checker for the verification task. Some experimental results with the underlying toolset are given.
Article
The paper presents an approach to the specification and verification of out-of-order execution in the design of micro-processors. Ultimately, the appropriate statement of correctness is that the out-of-order execution produces the same final state (and all relevant intermediate actions, such as writes to memory) as a purely sequential machine running the same program. 1 Introduction Modern processor architectures such as the PowerPC or the DEC Alpha employ aggressive implementation techniques to sustain peak-throughput of instructions. Multiple functional units inside the data-path allow for concurrent execution of multiple instructions and allow to hide latencies stemming from data-dependencies as well as varying pipeline delays. The design of controllers maintaining consistency to sequential program execution on the face of a mixture of out-of-order execution of instructions, speculative execution of instructions, interrupts, and load/store buffers is both challenging and error-pron...
Article
A crucial aspect of the architecture of a software system is its decomposition into components and the specification of component interactions. In this paper we use an enhanced variant of Extended Event Traces [SHB96] as a graphical technique for the description of such component interactions. It allows us to define interaction patterns that occur frequently within an architecture, in the form of diagrams. The diagrams may be instantiated in various contexts, thus allowing reuse of interaction patterns. We present several examples to show the applicability of our notation. In addition, we provide a formal semantics for our graphical notation, based on sets of traces. Furthermore, we compare our approach to connector specifications in WRIGHT [AG94], another description language for component interaction in software architectures. * This work was sponsored by the Bundesministerium fr Bildung, Wissenschaft, Forschung und Technologie (BMBF) under the project `ENTSTAND' and by th...
Article
. This paper reports experiences and results gained during the evaluation of the visual formalism STD as specification method for formal verification, performed in cooperation with industrial partners. The visual formalism STD (Symbolic Timing Diagrams) was developed continuously since 1993 by OFFIS as a specification method, which satisfies several needs: (1) It is based on the principles used in the familiar notation of timing diagrams (as conventionally used by hardware designers) . (2) It is a method amenable to formal verification, using state-- of--the art verification tools efficiently (in particular, symbolic model-- checking). (3) It supports compositional verification, which is an approach to verify large designs in a compositional way (breaking up proofs of requirements stated for a full design into a sequence of smaller proof tasks, which imply the global proof task). The formalism (with the supporting tools) has been integrated into an established verification...
Message Sequence Chart (MSC)-Annex B: Algebraic Semantics of Message Sequence Charts
  • Z Itu-Ts Recommendation
ITU-TS Recommendation Z.120: Message Sequence Chart (MSC)-Annex B: Algebraic Semantics of Message Sequence Charts, ITU-TS, Geneva, 1995.
A visual formalism for real time requirement speci cations
  • K Feyerabend
  • B Josko
K. Feyerabend and B. Josko. A visual formalism for real time requirement speci cations. In M. Bertran and T. Rus (eds.), Transformation-Based Reactive Systems Development, Proc. 4 th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software, ARTS'97, Lecture Notes in Computer Science 1231, pp. 156{168, Springer-Verlag, 1997.
  • Itu-Ts Recommendation
ITU-TS Recommendation Z.120: Message Sequence Chart (MSC), ITU-TS, Geneva, 1996.
A Graphical Description Technique for Communication in Software Architectures
  • M Broy
  • C Hofmann
  • I Oger
  • M Schmidt
M. Broy, C. Hofmann, I. Kr oger and M. Schmidt. A Graphical Description Technique for Communication in Software Architectures. In Joint 1997 Asia Paci c Software Engineering Conference and International Computer Science Conference (APSEC'97/ICSC'97), 1997.
The projection of a trace 2 traces(A(m)) on V ( jV ) is obtained from by simply restricting all states n to V
  • V Let
  • Var
Let V var(A(m)). The projection of a trace 2 traces(A(m)) on V ( jV ) is obtained from by simply restricting all states n to V.