Evaluation and comparison of inter-processor communication techniques in model-based design flows/tools

Size: px
Start display at page:

Download "Evaluation and comparison of inter-processor communication techniques in model-based design flows/tools"

Transcription

1 Evaluation and comparison of inter-processor communication techniques in model-based design flows/tools Pratiksha Dilip Deshmukh Computer Science in Applications Embedded Systems Group Technical University of Kaiserslautern Kaiserslautern, Germany Abstract Model-based design provides an efficient approach to establish a common framework for communication throughout the design process supporting the development cycle. It has many advantages over traditional sequential design approach. Instead of using complex structure and extensive software code, the model-based design can be used to define models with advanced functional characteristics. It increases the level of abstraction. The generated software through model-based design is then deployed onto real heterogeneous platform with some specific MoC. It verifies the generated software for any design disturbance and to remove it. With the help of above advantages of model-based design, it seems more helpful to study the communication between two components of a distributed system. For example, the Inter-processor communication in a distributed system comprises of a number of processing elements which are interconnected with a frame to transmit data or sharing resources with each other. Over the communication synthesis stage of the inter-processor communication, the scheduling code for inter-partition communication or the interfaces for the ease of communication between two components are automatically added to the design. This scheduling code or interfaces serve as a bridge between the partitions or interface. Model-based design can be used to study the communication synthesis to simplify the complex structure. This paper presents the study and comparison of three of the inter-processor communication techniques such as Interface Wrapper, Ptolemy II and Virtual Function Bus with respect to model-based design flows/tools. These inter-processor communication techniques are based upon different MoCs and communication synthesis methods over heterogeneous platform. 1 Introduction Model-based design is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems[3]. It provides an efficient approach to establish a common framework throughout the design process. The models built using model-based design lead to rapid prototyping, software testing and verification. Model-based design is also proved efficient to study the inter-processor communication over distributed systems. In a distributed system, e.g. multi-core processor, a single computing component contains two or more independent processing units. In heterogeneous system contain two or more processors or cores. These systems are designed to run multiple instructions at the same time. Inter-processor communication is a set of methods To appear in EPTCS.

2 2 [Pratiksha Dilip Deshmukh] of exchanging data between two or more processing elements in multicore processors and between two or more processors in heterogeneous systems re-configurable hardware platform. [12]. Semantics is also an important part in the interaction between different components in heterogeneous platform. Semantics roughly means what the design means and how it actually works. Incompatibility and inconsistency can arise when a component is used in domain for which it is not originally designed. Domain defines the laws of concurrent interaction between different components. A collection of such rules is called as Models of Computation (MoC). The MoC specifies what constitute a component, execution and concurrency mechanism and communication mechanism. Depending upon the passive way to activate the component in the communication, the MoCs can be event driven, data-flow driven, and time driven and custom ones. Hence, with the help of the abstraction approach of model-based design and MoC, different inter-processor communication can be evaluated for compatibility and consistency. The model-based design flows are developed for abstraction based on different MoCs.The design flow for the inter-processor communication model for hardware and software subsystem over heterogeneous platform consists out of overall design steps like simulation, verification, mapping, communication refinement and synthesis. This will generate the final executable code which is deployed over the multiprocessor platform. A model-based design abstraction for Inter-processor communication is as shown in figure 1 below. The application behavior of the model based design flow can be explained with the help of different behavior model. In the following example we have considered the dataflow behavior model to give view of the application behavior of the model-based design flows. Here the vertices represent the computational units while the edges represent the connecting unidirectional buffer. In the partitioned model, the computational units are assigned to different Processing elements (PEs). Final but most important stage in the proposed design flow is the System and Communication Refinement phase. In this stage, all the processing elements communicate with each other with the help of different MoC or bus systems, for instance CAN, FlexRay, etc. and the information regarding communication is integrated with the designed abstraction. Here the automatic generation of code for the inter-partition or interface communication takes place. Interfaces are also inserted into the design for the hardware synthesis. This stage is called as the communication synthesis phase. This stage is different in different design flows. The main purpose of this topic is to study different communication technique and to come to a conclusion with the comparison among them with the help of model-based design. Figure 1: model-based design flow abstraction of Inter-Processor Communication The article is structured as follows: Section 2 illustrate the overview of the design flow of three inter-process communication technique used in 2.1Interface Wrapper[15] which intends to address some of the limitation present in supporting hardware and software synthesis of the same source code with

3 [Inter-Processor Communication Techniques Evaluation and Comparison] 3 the software that scales on multicore platforms, 2.2 Ptolemy II [14] which is an open-source simulation and modeling tool intended for experimenting with system design techniques, particularly those that involve combinations of different types of models and finally 2.3 Virtual function bus [13] which is logical entity that facilitates the concept of relocatability within the AUTOSAR software architecture by providing a virtual infrastructure that is independent from any actual underlying infrastructure and provides all services required for a virtual interaction between AUTOSAR components with respect to model-based design. Section 3 introduces the Communication Refinement used in the design flow which is responsible for the Partitioning of the dataflow program, interconnection of different hardware and between hardware and software. Section 4 explains the comparison between the Communication Refinement stage of the three inter-processor communication technique used as Interface Wrapper, Ptolemy II and Virtual Function Bus (VFB) respectively with respect to section 3. Finally section 5 concludes the paper by discussing the advantages of the approach. 2 The Design flows Before evaluation and comparison of the communication synthesis and inter-processor communication techniques of a distributed system, it is important to study the design flow of the system to know about the domain and in turn the laws of concurrent interaction which are designed originally. The selection of MoC for a system is also depending upon the system architecture. For example, in interface wrapper the architecture is divided into dataflow models. Design flow also gives s the view of the functional design which is the process of translating the initial system concept into an actual implementation that performs the required function. Following Section gives an overview of the design flow of three inter-process communication technique used in Interface Wrapper, Ptolemy II and Virtual Function Bus. This section intends to address the system design architecture and MoCs supporting these inter-processor communication techniques. 2.1 Interface Wrapper : Interface Wrapper is an inter-processor communication technique used for Hardware-Software synthesis over distributed platform especially heterogeneous platform. Over a heterogeneous platform, the architecture is divided into a dataflow models. These DPN models are then simulated and assigned to different PEs with partitioning. To obtain the communications over these partitions, Interface wrapper uses PCI Express and Ethernet. The design flow for the Hardware-software synthesis over heterogeneous platform consists of four steps as illustrated as shown in figure 2. It consists of five steps which includes Architecture and application level modeling, simulation, profiling, partitioning, scheduling, communication synthesis and finally generation of the source code. These steps are explained in detail as below: Stage.1: Application and Architecture Model: It is the stage of specification of the application and the definition of platform architecture. The application model uses the elementary dataflow program that uses a directed graph. In these directed graphs, the vertices represent computational units or actors and the edges represent the stream of data. The dataflow program language[8] used resembles more to Kahn model semantic. A simple dataflow program as a graph is as shown in figure 3 where the circle represents the computational units or actors while the connecting edges represent the connecting link between computational units or the stream of data. Interface Wrapper uses the model with an extension to the dataflow MoC. In this DPN MoC, vertices

4 4 [Pratiksha Dilip Deshmukh] Figure 2: The Design-Flow for Hardware-Software synthesis over heterogeneous platform Figure 3: Dataflow program as graph or actors executes through computational steps or firings. During a firing, actor may take data from the input edge and produce data on output edge and these results in change of internal state. The firing rule is associated with each firing function which corresponds to a particular pattern matching on the input

5 [Inter-Processor Communication Techniques Evaluation and Comparison] 5 edge and the current internal state. The firing occurs only when data is available on the input stream. One important characteristic of all dataflow models is that individual actor preserves their own state and does not share memory with each other. It uses CAL (Cal Actor Language)[9] which is a domain-specific language which helps to analyze actors and determination of associated MoCs which is a property for efficient optimization in code generation. Static scheduling by correct-by construction sequence of firing can be an example of such optimization. The Architecture model used in Interface Wrapper is based upon the System-Level Architecture Model. This architecture is a unidirectional graph where each vertex represents a processing element e.g. CPU of FPGA (Field-Programmable Gate Array)[2] and edges represents links as transfer of data to and from operator. Figure 4: Mapping initial application graph. The model is sequential and permits to describe architecture with different levels. For example, multicore processor can be represented as a single level, where all the lower level details will be represented as vertex and point-to-point connection. Stage 2: Simulation, Co-verification and Profiling : In the second stage the application is validated for functionality using simulation. It also provides the input for the profiling stage. In this stage, the simulation of the dataflow graph of CAL is interpreted using an interpreter supported by RVC-CAL. It is a part of the Open RVC-CAL Compiler with infrastructure dedicated to RVC-CAL language. This interpreter simulates the intermediate representation of each actor transformed by the front end of ORCC [4].A profiler is also build over interpreter to extract the high-level metric during the execution of dataflow program simulation. The aim of the simulation and profiling is to calculate the complexity of the actors. The complexity can be calculated by counting the number of instructions and operators used in expressions. The relative bandwidth of FIFOs is extracted in the profiling stage by counting number and size of data exchanged during execution. Stage 3: Space Exploration : Partitioning : This stage provides the mapping of the algorithm onto the architecture. It can be obtained by partitioning and scheduling of the dataflow program. Partitioning includes tasks such as assignment of processing element (PE) for each actor in the dataflow program while scheduling orders the execution order of actors. The numbers of processing elements are kept lower than the number of dataflow actors to imply that more than one actor can be assigned to a single processing unit. The mapping of the application graph is shown in Figure 4.Here the each color represents the allocation of the actor to a particular processing element. An example of partitioning of a CAL dataflow program is explained in figure 5. Here, simulations are made to find the correct par-

6 6 [Pratiksha Dilip Deshmukh] tition with insertion of wrappers and actors which represent the behavior of the interfaces included in the architecture. A request to rewrite the CAL program is made in case of no partition condition. After the validation of architecture for partitions, attributes are added in correspondence with the Hardware and software components. This is the stage where the Interface Wrapper is added to the design which becomes functional in communication synthesis phase. Once the choice of the actors is made, each part is translated for FPGAs using CAL2HDL and for processors using CAL2C. Figure 5: Example of partitioning of Data-flow graph Figure 6: Scheduling of Data-flow graph Scheduling : There are several possible ways for scheduling of the dataflow graph. Once the partitioning is decided, scheduling of the execution order of the actors over a particular Processing Element (PE) starts. There is no need of particular scheduling strategies because actors assigned to different PE

7 [Inter-Processor Communication Techniques Evaluation and Comparison] 7 can run in parallel. Scheduling is necessary when the numbers of actors assigned to a Processing Element (PE) are more than one. The execution list of order of execution of the actor is generated at compile time and run time. The compile time execution of actor scheduling is termed as Static Scheduling while the run time scheduling is termed as Dynamic Scheduling. The scheduling is shown in figure 6 where different colors represent allocation to different processing elements (PEs). Stage 4: Communication Synthesis : The automatic addition of scheduling code needed for interpartition communication and interfaces for communication between components takes place in this stage. This insertion will be considered later during the synthesis phase which is discussed in section 3. Stage 5: Code Generation : This stage is comprised of picking of all the partitioned of the architecture with the interconnection that are necessary for the communication across the partition to generate the corresponding source code. Once the choice of the actors is made for the partition, each part is translated into the correct language by two tools: CAL2HDL for FPGAs and CAL2C for processors. Finally the generated source code is compiled using the native compilers. 2.2 Ptolemy II The Ptolemy II studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components and Cyber-Physical System (CPS)[11], which combine computing and network with physical dynamics. It uses well-defined MoC that supports the interaction between components in a sequential multi-processor design environment. One of the results of the Ptolemy II includes parallel scheduling technique and optimizing inter-processor communications in parallel implementations. It is an open-source modeling and simulation tool. The key goal of Ptolemy II to minimize the accidental differences in syntax, semantics, and pragmatics between domains, and maximize the interoperability of designs expressed in different domains. Ptolemy II relates four distinct classes of syntaxes i.e. block diagrams, bubble-and-arc diagrams, imperative programs, and arithmetic expressions. These different syntaxes allow Ptolemy to deal with various design domains. For example, Block diagram are used to explain the concurrent composition of communicating components. It also integrates number of semantic domains. It is designed to support specification type of interaction between components in design such as type of interaction, type of message and type of communication etc. Domains and Model of Computation : The semantic domain of the Ptolemy II deals with the laws for interaction between components. These rules are called as MoC.The rules that constitute the MoC are subdivided into three categories. First set of rules specify the constitution of a component, the second one specify the execution and concurrency mechanism and the third category specifies the communication mechanism. To support the heterogeneous platform, these MoC supports each other for concurrent execution. The Roles of Models in Design : There are three major parts of process implementing systems in Ptolemy i.e. Modeling, Design and Simulation as shown in figure 7. Figure 6 gives the diagrammatic representation of the co-relation and inter-dependence between the modeling, design and simulation stage. Modeling imitates the system to reflect the properties. Models help to get a deeper understanding of a system. Design is a systematic creation component to achieve the desired functionality. Simulation focuses on the question that how a model will behave in a particular environment. Simulation is a prerequisite for the testing phase of the design to check the in-order functioning.

8 8 [Pratiksha Dilip Deshmukh] Finally the analysis phase of the design gives the deeper understanding of the functionality through the individual study of the components. Figure 7: The roles of models in design Actor Models : Ptolemy II supports the modeling of heterogeneous systems by using a hierarchical component-based architecture and well-defined MoC computation. The basic component of this architecture is called an actor. Actors are components that execute concurrently and share data with each other by sending messages via ports. A simple actor model is shown in figure 8. In figure 7, actor A communicates with actor B and C via ports with the help of a relation link to share data and resources concurrently. Figure 8: Simple actor model

9 [Inter-Processor Communication Techniques Evaluation and Comparison] 9 A Model of Computation with Push and Pull Processing: Push-Pull Model : A model of computation describes how components in a concurrent system can communicate and compute data. Different systems may desire different MoCs and some complex systems need more than one MoC. The execution of MoCs usually starts from the data source or event source and propagates to downstream components. It supports heterogeneous mix of MoCs. Push-Pull model of communication is one of the many MoCs used in Ptolemy II for component interaction. It supports a mixture of data-driven and demand-driven communications. Push represents message transfer that is initiated by the producer. On the contrast, Pull represents message transfer that is initiated by the consumer. This MoC has been implemented as the Component Interaction (CI) domain in Ptolemy II, a hierarchical and heterogeneous modeling environment. 2.3 Virtual Function Bus The AUTOSAR [1] software architecture is an open standard automotive software architecture that has been developed by a joint group of automotive vendors and stakeholders in order to create an integrated standard infrastructure for vehicle software development. The basic principle of AUTOSAR software is to design the relocatability of components among different architectures. AUTOSAR uses a three-layered architecture: Basic Software: Its a standardized functional module in AUTOSAR without any dedicated work but serve as a service provider that are necessary to run the functional part of the upper software layer. Runtime environment : It consists of the middleware which is used to abstract the network-topology for the inter- and intra-ecu information exchange between the components of application software and between the basic software and the applications respectively. Application Layer : It consists of the software components that interact at runtime. Visual representation of the AUTOSAR Architecture is as shown in Figure 9. In order to achieve a high degree of transparency against the underlying hardware infrastructures; the AUTOSAR standard introduces Virtual Function Bus (VFB) as architectural concepts. Figure 8 shows the AUTOSAR architecture in brief. The AUTOSAR software components are connected to the operating system, other system services and AUTOSAR Real-Time Environment (RTE) via a logical connection platform called as Virtual Function Bus (VFB). Virtual Function Bus: The virtual function bus[5] can be described as a system modeling and communication concept. It is logical entity that facilitates the concept of relocatability within the AUTOSAR software architecture by providing a virtual infrastructure that is independent from any actual underlying infrastructure and provides all services required for a virtual interaction between AUTOSAR components. In order to fulfill the goal of transferability, AUTOSAR defines a layered SW architecture and a formal description language for Software Components so that these components can be implemented independently from the underlying hardware. Due to this abstraction a virtual function bus can be used to assemble and integrate these components to a virtual AUTOSAR system and to verify the consistency of the communication relationship between software

10 10 [Pratiksha Dilip Deshmukh] Figure 9: AUTOSAR Architecture 3 Communication Synthesis After the mapping of the components to different processing elements in communication interface synthesis, some more transformations are needed for the interaction between the components to take place. These transformations are done in the communication synthesis phase with the addition of the scheduling code for the communication across the partition and interfaces which serve as communication link between components. Communication synthesis or semantics is an important part of study of inter-processor communication techniques. It gives the view of the design flow and interaction between different components. The rules for the interaction are called as Model of Computation (MoC). Here, Communication synthesis section discusses the inter-processor communication techniques used in Interface Wrapper, Ptolemy II and VFB for the communication between different components. The communication over components varies according to the architecture of the platform, MoCs used and component interaction model used. Subsequent section discusses the communication synthesis for Interface Wrapper, Ptolemy II and VFB in detail. 3.1 Interface-Wrapper The main objective of the communication synthesis in interface-wrapper is to develop a methodology for a unified specification for mapping of the hardware-software components onto a heterogeneous platform using dataflow model based on CAL language. The CAL based design flow is already explained in section 2.1.

11 [Inter-Processor Communication Techniques Evaluation and Comparison] Partitioning with addition of Communication Wrapper : During the partitioning phase of CAL model [16], Interface Wrapper are added to the design. The wrappers are defined with respect to the interface present in the platform. The Wrapper structure is designed to handle the integration of large variety of interfaces. It is composed of a generic part to handle the interface interconnections and an adapter which is specific for each interface. The wrapper does not have any effect on performance of the micro-controller used in adapter. Figure 10 shows the example of partitioning with the addition of communication wrapper for each external interface. Figure 10: Example of Partitioning with addition of Interface Wrapper CAL Wrapper Overview : An interface wrapper or communication wrapper is used to connect the interfaces to connect the devices. In partitioned CAL dataflow, the parameters change is required only for the right adapter. Figure 11 gives an overview of the interface wrapper ob the hardware side. The wrapper must be able to serialize the data from channels and de-serialize the data to the proper channel with the help of serializer and de-serializer Automatic communication interface synthesis : The algorithm and architecture mapping phase along with partitioning and scheduling result into a transformed dataflow graph. But in order to exhibit the communications across the partitions, some more transformations need to be applied over the dataflow graph. These transformations include insertion of additional vertices to represent the communication between partitions. This communication uses the appropriate MoC between different Processing Elements (PEs). The selection of these MoCs depends upon the architecture. Such transformation adds some vertices or actors in the dataflow graph which will help for (de) serialization of data and inclusion of interfaces between partitions in dataflow graph. The aim of the process of serialization is to schedule the communication between that is allocated on different partitions

12 12 [Pratiksha Dilip Deshmukh] Figure 11: Overview of Interface Wrapper on hardware side at runtime. The fact is that when several edges from the dataflow graph are associated to a single medium of the architecture, data need to be interlaced in order to be able to share the same underlying medium. In this case, to emulate the history of FIFOs in order to schedule data in the serialization, virtual FIFOs are used to connect the serializer to the actors on the sender side. On contrary with respect to traditional FIFOs that store data and maintain the state i.e. read/write counters, virtual FIFOs maintains the state while data are directly stored into a single FIFO from the incoming actor. Data is scheduled by the actors without any specific scheduling strategy. To retrieve the data on the receiver side, a header is places at the beginning of each data that defines the destination FIFO and the size of the payload illustrated as in figure 12. Figure 12: Header and Payload of stored data in Serialization FIFO Figure 13. Illustrates the insertion of the serializer vertex between the blue partitions which is connected to the red partition with two outgoing FIFOs. This reconfigurable hardware and multi-processor platform can use various inter-process communication methods through various physical/logical interconnections (PCI Express, Ethernet, etc.) to implement the interaction between PEs.

13 [Inter-Processor Communication Techniques Evaluation and Comparison] 13 Figure 13: Insertion of Serializer vertex 3.2 Ptolemy II Ptolemy Director : Ptolemy II supports the modeling of heterogeneous systems by using a hierarchical component-based architecture and well-defined MoC. Actor is the basic component. The interaction between actors within a composite actor is defined by a MoC and implemented by a director of that composite actor. The semantics of a model is not determined by the framework, but rather by software component in the model called a director, which implements a MoC. In Ptolemy II, director can tuned to different MoCs and each director represents a particular MoC on domain. Component Interaction Model is one of the examples of such domain on MoC. Component Interaction (CI) domain in Ptolemy II, a hierarchical and heterogeneous modeling environment uses MoC that supports Push-Pull communication between software components. It supports a mixture of data-driven and demand-driven communications. Push represents message transfer that is initiated by the producer. On the contrast, Pull represents message transfer that is initiated by the consumer. This MoC has been implemented as the Component Interaction (CI) domain in Ptolemy II, a hierarchical and heterogeneous modeling environment Component Interaction model : An actor encapsulates its computation and internal state. It interacts with its environment and other actors via a well-defined interface, which includes ports and parameters. Ports represent the points of communication. Parameters are used to configure the computation of an actor. And the channel of communication between actors is implemented by a receiver object contained by ports. A receiver defines the communication protocol between actors. The director defines the ordering of actor execution. A MoC is implemented by a particular director and receiver. The component interaction models uses push-pull model of communication. Ports, connections and actors serve as the basic component of this models which are explained in detail below: Push port vs. pull port : Each port contains an attribute named push/pull, which can be configured with three possible values: push, pull and agnostic. A port is a push port if the attribute is set to push, and is a pull port if the attribute

14 14 [Pratiksha Dilip Deshmukh] is set to pull. An agnostic port can be either push or pull. The exact type is resolved according to its connected ports with the assumption that connected ports have to be the same type Push connection vs. pull connection : The type of a connection is defined by the two ports at its endpoints. A connection is push type if it connects two push ports; a connection is pull type if it connects two pull ports Passive vs. active actors : The push-pull model classifies actors as two kinds, passive actors and active actors. Passive actors include Source actors, Sink actors, actors with pull inputs and pull outputs, actors with push inputs and push outputs and queue actors. Active actors include those that can either initiate production of data or can pull requests, such as Source actors with push outputs, sink actors with pull inputs and schedule actors. The difference between Passive Vs. active actors is also explain in figure 14 below. Figure 14: Passive Vs.Active actors Operational Semantics : The push-pull model follows multi-threaded execution. Here only actors posses its own thread of execution. All the passive actors share a single thread managed by the director which schedules them to execute. From above, we can say that execution of the push-pull model uses both process-based and scheduler based approach. The operational semantics for three types of active actors are explained as below: 1. An active actor fires with some frequency or according to an interrupt or event arrival. When an actor fires, pushing of data to its connected downstream actor takes place. This pushing of data causes the downstream actor to be enqueued into AsynchronousPushedActors queue.

15 [Inter-Processor Communication Techniques Evaluation and Comparison] An active sink actor fires only when it is ready to process the data. While firing, it issues a pull request for connection to its upstream actor. This connection with the upstream actor causes it to be enqueued to the AsynchronousPulledActors queue. It waits until the request is satisfied and then continues to process it. 3. A schedule actor models a component that can control the time and target to distribute data with the help of pull inputs and push outputs. When a schedule actor fire, it requests data from some of its connected upstream actors and wait until the data is ready, and then pushes the token to its connected downstream actors. Firstly, the upstream actors is to be added to Asynchronous- PulledActors queue and the second step causes the downstream actors be added to the AsynchronousPushedActors queue. In contradiction with active actors, the execution of passive actors is controlled by the director. Another possible approach of executing passive actors is to execute them in the calling thread of the active actor. The semantics can be better understood with the help of an example. Figure 15 shows a simple router model that consists of a FromDevice actor which listens to input network interface and outputs the received data. The identification and classification of data into three different queues is done by the Classifier actor. The ToDevice actor requests data when it is notified to fill the output network interface and The RoundRoubinSelector select data from the three queues according to the round-roubin algorithm when the ToDevice actor request data. In this model, FromDevice and ToDevice are the active actors. At the beginning, FromDevice has no data to output and waits for input and ToDevice requests data. The RoundRoubinSelector is added to the AsynchronousPulledActors queue and director is ready to handle the request. The RoundRoubinSelector waits for the data from first input. Due to unavailability of data, it then requests to queue 1. Queue 1 has no data. As Queue1 is a queue actor with push input, the propagation interrupted. Now assume that FromDevice receives input and fires. This causes the Classifier to be added into AsynchronousPushedActors queue. The Director become active and fires the Classifier actor and data is sent to Queue 1 and it will be triggered to fire. Here the data is first enqueued and checked whether any request is waiting for data which in turn call the director to fire again and satisfy it. Finally the RoundRoubinSelector is activated to fire and sends data to the ToDevice actor. This execution will continue with new data arrival and firing requests. 3.3 Virtual Function Bus In AUTOSAR, the most important concept is the hierarchical classification, which is fundamental to the AUTOSAR. These different layers have different missions and implement different functions. Each layer uses the interface provided by the layer underneath. In section 2.3, we have already discussed the basic concept of Virtual Function Bus and the software component view of AUTOSAR Communication Paradigm : The central structure in AUTOSAR has well-defined ports, through which component can interact with each other. AUTOSAR interface defines the services or data that can be provided or required by a port of a component. The AUTOSAR interface can be of two types i.e. Client-Server Interface or Sender-Receiver Interface. Client-Server Interface model is the widely used communication model in

16 16 [Pratiksha Dilip Deshmukh] Figure 15: Simple Router Model distributed systems while Sender-Receiver Interface model gives solution to the asynchronous distribution of information where a sender sends the information to one or many receivers. Both communication models are supported by AUTOSAR but there are some differences such as the content, the multiplicity, concurrency and ordering, etc. These interface models are explained in details as below: Figure 16: Client-Server Communication 1.Client-Server Communication : It is a widely used communication pattern in distributed systems. Here the server is a provider of a service and the client is a user of a service. The client initiates the communication, requesting that the server performs a service, transferring a parameter set if necessary. The server waits for the incoming communication requests from a client, performs the requested service, and dispatches a response to the clients request. The direction of the initiation of the request can be used to identify the sender and the receiver. A single component can be both a sender and a receiver depending on the server realization. The client can be blocked i.e. Syn-

17 [Inter-Processor Communication Techniques Evaluation and Comparison] 17 chronous Communication or non-blocked i.e. asynchronous communication after the initiation of the service request until the arrival of the response. The image gives a view of the client-server communication modeling according to AUTOSAR VFB View. Figure 17: Sender-Receiver Communication 2.Sender-Receiver Communication : The sender-receiver pattern gives solution to the asynchronous distribution of information, where a sender distributes information to one or several receivers. The sender is not blocked (asynchronous communication) and neither expects nor gets a response from the receivers (data or control flow), i.e. the sender just provides the information and the receivers decides autonomously when and how to use this information. It is the responsibility of the communication infrastructure to distribute the information. The image illustrates the sender-receiver Communication modeling in AUTOSAR VFB view. With the help of explicit COMPASS component model on Virtual Function bus, abstract Superclass ExplicitConnector is specialized with two abstract classes, class ClientServerConnector and class SenderReceiverConnector Virtual Function Bus at Application Level AUTOSAR defines Software Components (SWCs) as the application software that runs on the ECU. In AUTOSAR, software components make up the technology that hosts the application software. A software component is an abstraction that allows parts of application software functionality to be encapsulated. The encapsulation reduces the component dependence on the environment. VFB acts as the logic abstraction of the basic software and hardware layer. It is the sum of all communication mechanisms (and interfaces to the basic software) provided by AUTOSAR on an abstract (technology independent) level. When the connections for a concrete system are defined, the VFB allows a virtual integration in an early development phase. AUTOSAR Architecture System Constraint and ECU Descriptions In order to integrate AUTOSAR SW-Components into a network of ECUs, AUTOSAR provides description formats for the system as well as for the resources and the configuration of the ECUs. Mapping on ECUs AUTOSAR defines the methodology and tool support to build a concrete system of ECUs. This includes the configuration and generation of the Runtime Environment (RTE) and the Basic Software (RTOS) on each ECU. From the viewpoint of the AUTOSAR Software Component, the RTE implements the VFB functionality on a specific ECU.

18 18 [Pratiksha Dilip Deshmukh] Figure 18: Virtual Function Bus at Application Level At the application level, components are directly connected and interact via Virtual Function Bus (VFB). The VFB represents the component middleware. The application components are developed using the VFB and to be implemented in application concerns only Runtime Environment The runtime environment provides an actual implementation of communication topology and interaction between components. In simple terms, it provides an actual representation of the virtual concepts of the VFB for one particular ECU. Each ECU has its own RTE implementation which is generated during the ECU Configuration process with ECU mapping as input. The mapping of the real interaction implementation takes place depending upon the former Virtual interaction on the basis of location of the component. The communication mechanisms vary on the basis of mapping of the component on ECU. Components mapped to same ECU can be communicated through Intra-ECU mechanisms while others are communicated through Inter-ECU communication. Hence RTE serve as the static implementation of the specialized communication typologies. Figure 19 describes an example of transformation where the components that were virtually connected via one single virtual machine are mapped to more than one ECUs. Due to this mapping on different ECUs, communication between respective components is implemented via a local or remote connection with RTE Comparison between VFB and RTE : Although the concept of Virtual Function Bus and Runtime Environment (RTE) has some fundamental differences but they share a common application programming interface. The application modeler defines the interaction between the software components and VFB while the programming interface is used by the RTE to provide the runtime environment for the application.

19 [Inter-Processor Communication Techniques Evaluation and Comparison] 19 Figure 19: VFB to RTE mapping Component Deployment : Another dimension is the outcome of how the connected components are deployed relative to each other. Two components can be deployed within the same address space, on the same ECU but different address space and on different ECUs. 4 Comparison between Inter-Processor Communication Techniques Interface Wrapper uses the dataflow MoC. In this MoC, the computational steps or firings are initiated due to arrival of data at the input edge. The vertices take the data from the input edge and produce data on the output edge. The production of data on the output edge acts as a trigger for the next firing. Firing rule is totally associated with the firing function. The firing causes the change of internal state. Whereas Ptolemy II follows the mixture of data-driven and demand driven MoC. Among different methods of communication synthesis used in Ptolemy II, the one discussed i.e. Push-Pull model that uses Push-Pull communication between software components. Here the transfer of the data is initiated by Producer or Consumer by sending Push and Pull message requests respectively. The virtual Function Bus follows the time-based MoC [10] as it supports the Active and Passive Communication Primitives and the interaction between the software components causes a variety of timing dependencies. The passive communication primitive are executed within the thread of execution of the client that are request the service while Active Communication Primitives are those that own at least one thread of execution, thus have to provide at least one interface for activation by the infrastructure services. Ptolemy II is a concept for modeling and simulation and uses mixture of MoC. While interface wrapper is meant for modeling, synthesis and simulation and remain confined to the dataflow MoC. In the communication synthesis phase, Interface wrapper uses the concept of communication between different processing elements with the help of buffers. Ptolemy II uses the component interaction

20 20 [Pratiksha Dilip Deshmukh] models e.g. Push-Pull model for the communication is one of the MoCs while AUTOSAR uses the VFB as logical encapsulation over RTE and software components. In case of Interface wrapper and Ptolemy II, communication synthesis a part of the design flow as this concept are modeled using model-based design. While AUTOSAR architecture is not originally modeled by model-based design. Ptolemy II has advantages over Interface Wrapper. It supports mixture of MoC, while Interfacewrapper can be modeled only on Data-driven model of computation. On the other hand, VFB is meant only for AUTOSAR architecture, while Interface Wrapper is meant for hardware-software synthesis over heterogeneous platform. 5 Conclusion This paper shows that the model-based design provides an efficient approach to establishing a common framework for communication throughout the design process supporting the development cycle. It reduces the complexity of structure and software code. Over different stages of the communication like dataflow behavior, partition, etc. The System and communication refinement in Inter-processor communication techniques gives the insight of communication between different processing elements. This communication follows different MoC. The original system can be mapped and compared with each other with respect to model-based design flows /tools to increase the level of abstraction and to reduce the complexity of the implementation on the original hardware platform. The Inter-processor or Inter-Component communication in any architecture can be studied at abstract level with the help of model-based design. References [1] Autosar. [2] Field-Programmable Gate Array. array. [3] Model-based design. [4] ORCC. [5] Virtual Function Bus in Autosar. virtual-functional-bus/. [6] Christian Bradatsch, Florian Kluge & Theo Ungerer (2014): Comparison of Service Call Implementations in an AUTOSAR Multi-core OS. Type (of report) 21, Institution, Address, doi: /eptcs. Available at Note. [7] Christopher Brooks, Edward A. Lee & Stavros Tripakis (2010): Exploring Models of Computation with Ptolemy II. Organization. [8] Jack B. Dennis (1974): First version of a data flow procedure language, pp Springer Berlin Heidelberg, doi: / Available at [9] J. Eker & J. Janneck (2003): CAL Language Report. Organization. [10] Kay Klobedanz, Christoph Kuznik, Andreas Thuy & Wolfgang Mueller (2010): Timing Modeling and Analysis for AUTOSAR-based Software Development: A Case Study. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 10, European Design and Automation Association, 3001 Leu-

21 [Inter-Processor Communication Techniques Evaluation and Comparison] 21 ven, Belgium, Belgium, pp Available at [11] Edward A Lee (2008): Cyber physical systems: Design challenges. In: th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), IEEE, pp [12] G. De Micheli (1999): Hardware synthesis from C/C++ models. doi: /date [13] Naveen Mohan & Hannes Zgner (2012): Connecting AUTOSAR VFB to Simulink Environment. Master s thesis. Available at [14] Claudius Ptolemaeus: System Design, Modeling, and Simulation using Ptolemy II, Ptolemy.org, 2014 edition. Available at [15] Ghislain Roquier, Endri Bezati & Marco Mattavelli (2012): Hardware and Software Synthesis of Heterogeneous Systems from Dataflow Programs 2012(21): doi: /2012/ Available at [16] Richard Thavot, Romuald Mosqueron, Julien Dubois & Marco Mattavelli: Hardware synthesis of complex standard interfaces using CAL dataflow descriptions. Available at HardwareSynthesisofComplexStandardInterfacesUsingCALDataflowDescriptions.pdf.

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW 2012-01-0962 AUTOSAR-Compliant Development Workflows: From Architecture to Implementation Tool Interoperability for Round-Trip Engineering and Verification & Validation Copyright 2012 The MathWorks, Inc.

More information

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA Advanced Tool Architectures Edited and Presented by Edward A. Lee, Co-PI UC Berkeley Chess Review May 10, 2004 Berkeley, CA Tool Projects Concurrent model-based design Giotto (Henzinger) E machine & S

More information

A Methodology for Profiling and Partitioning Stream Programs on Many-core Architectures

A Methodology for Profiling and Partitioning Stream Programs on Many-core Architectures Procedia Computer Science Volume 51, 2015, Pages 2962 2966 ICCS 2015 International Conference On Computational Science A Methodology for Profiling and Partitioning Stream Programs on Many-core Architectures

More information

Virtual Validation of Cyber Physical Systems

Virtual Validation of Cyber Physical Systems Virtual Validation of Cyber Physical Systems Patrik Feth, Thomas Bauer, Thomas Kuhn Fraunhofer IESE Fraunhofer-Platz 1 67663 Kaiserslautern {patrik.feth, thomas.bauer, thomas.kuhn}@iese.fraunhofer.de Abstract:

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

AUTOSAR: from concept to code.

AUTOSAR: from concept to code. Embedded software development White paper December 2009 AUTOSAR: from concept to code. Introducing support for behavior modeling tool (BMT) implementation, providing automated code and internal behavior

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

More information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

A unified multicore programming model

A unified multicore programming model A unified multicore programming model Simplifying multicore migration By Sven Brehmer Abstract There are a number of different multicore architectures and programming models available, making it challenging

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

An Encapsulated Communication System for Integrated Architectures

An Encapsulated Communication System for Integrated Architectures An Encapsulated Communication System for Integrated Architectures Architectural Support for Temporal Composability Roman Obermaisser Overview Introduction Federated and Integrated Architectures DECOS Architecture

More information

Buffer Dimensioning for Throughput Improvement of Dynamic Dataflow Signal Processing Applications on Multi-Core Platforms

Buffer Dimensioning for Throughput Improvement of Dynamic Dataflow Signal Processing Applications on Multi-Core Platforms Buffer Dimensioning for Throughput Improvement of Dynamic Dataflow Signal Processing Applications on Multi-Core Platforms Małgorzata Michalska, Endri Bezati, Simone Casale-Brunet, Marco Mattavelli EPFL

More information

The AUTOSAR Timing Model --- Status and Challenges. Dr. Kai Richter Symtavision GmbH, Germany

The AUTOSAR Timing Model --- Status and Challenges. Dr. Kai Richter Symtavision GmbH, Germany The AUTAR Timing Model --- Status and Challenges Dr. Kai Richter Symtavision GmbH, Germany Symtavision GmbH Who we are! Spin-off from Technical University of Braunschweig, Germany, founded May 2005 Timing

More information

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network By Alberto Puggelli Outline SLD challenges Platform Based Design (PBD) Case study: Wireless Sensor Network Leveraging state of the art CAD Metropolis Case study: JPEG Encoder SLD Challenge Establish a

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

A Process Model suitable for defining and programming MpSoCs

A Process Model suitable for defining and programming MpSoCs A Process Model suitable for defining and programming MpSoCs MpSoC-Workshop at Rheinfels, 29-30.6.2010 F. Mayer-Lindenberg, TU Hamburg-Harburg 1. Motivation 2. The Process Model 3. Mapping to MpSoC 4.

More information

MPEG RVC AVC Baseline Encoder Based on a Novel Iterative Methodology

MPEG RVC AVC Baseline Encoder Based on a Novel Iterative Methodology MPEG RVC AVC Baseline Encoder Based on a Novel Iterative Methodology Hussein Aman-Allah, Ehab Hanna, Karim Maarouf, Ihab Amer Laboratory of Microelectronic Systems (GR-LSM), EPFL CH-1015 Lausanne, Switzerland

More information

Verification and Validation of X-Sim: A Trace-Based Simulator

Verification and Validation of X-Sim: A Trace-Based Simulator http://www.cse.wustl.edu/~jain/cse567-06/ftp/xsim/index.html 1 of 11 Verification and Validation of X-Sim: A Trace-Based Simulator Saurabh Gayen, sg3@wustl.edu Abstract X-Sim is a trace-based simulator

More information

Simulation of LET Models in Simulink and Ptolemy

Simulation of LET Models in Simulink and Ptolemy Simulation of LET Models in Simulink and Ptolemy P. Derler, A. Naderlinger, W. Pree, S. Resmerita, J. Templ Monterey Workshop 2008, Budapest, Sept. 24-26, 2008 C. Doppler Laboratory Embedded Software Systems

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Interface Automata and Actif Actors

Interface Automata and Actif Actors Interface Automata and Actif Actors H. John Reekie Dept. of Electrical Engineering and Computer Science University of California at Berkeley johnr@eecs.berkeley.edu Abstract This technical note uses the

More information

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing 727 A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing 1 Bharati B. Sayankar, 2 Pankaj Agrawal 1 Electronics Department, Rashtrasant Tukdoji Maharaj Nagpur University, G.H. Raisoni

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER CHAPTER 23 Tag Switching Background Rapid changes in the type (and quantity) of traffic handled by the Internet and the explosion in the number of Internet users is putting an unprecedented strain on the

More information

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

Module 17: Interconnection Networks Lecture 37: Introduction to Routers Interconnection Networks. Fundamentals. Latency and bandwidth Interconnection Networks Fundamentals Latency and bandwidth Router architecture Coherence protocol and routing [From Chapter 10 of Culler, Singh, Gupta] file:///e /parallel_com_arch/lecture37/37_1.htm[6/13/2012

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Actor-Oriented Design: Concurrent Models as Programs

Actor-Oriented Design: Concurrent Models as Programs Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract

More information

Code Generation for QEMU-SystemC Cosimulation from SysML

Code Generation for QEMU-SystemC Cosimulation from SysML Code Generation for QEMU- Cosimulation from SysML Da He, Fabian Mischkalla, Wolfgang Mueller University of Paderborn/C-Lab, Fuerstenallee 11, 33102 Paderborn, Germany {dahe, fabianm, wolfgang}@c-lab.de

More information

Impact of Platform Abstractions on the Development Workflow

Impact of Platform Abstractions on the Development Workflow Impact of Platform Abstractions on the Development Workflow Johannes Pletzer, Wolfgang Pree Technical Report September 7, 2009 C. Doppler Laboratory Embedded Software Systems University of Salzburg Austria

More information

Compositionality in system design: interfaces everywhere! UC Berkeley

Compositionality in system design: interfaces everywhere! UC Berkeley Compositionality in system design: interfaces everywhere! Stavros Tripakis UC Berkeley DREAMS Seminar, Mar 2013 Computers as parts of cyber physical systems cyber-physical ~98% of the world s processors

More information

LabVIEW Based Embedded Design [First Report]

LabVIEW Based Embedded Design [First Report] LabVIEW Based Embedded Design [First Report] Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com

More information

Value Added Services (VAS) Traffic Forwarding

Value Added Services (VAS) Traffic Forwarding CHAPTER 12 Revised: June 27, 2011, Introduction This chapter provides an overview of VAS traffic forwarding, explaining what is it and how it works. It also explains the various procedures for configuring

More information

Platform modeling and allocation

Platform modeling and allocation Platform modeling and allocation Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design

More information

From MDD back to basic: Building DRE systems

From MDD back to basic: Building DRE systems From MDD back to basic: Building DRE systems, ENST MDx in software engineering Models are everywhere in engineering, and now in software engineering MD[A, D, E] aims at easing the construction of systems

More information

The Future of the Ptolemy Project

The Future of the Ptolemy Project The Future of the Ptolemy Project Edward A. Lee UC Berkeley With thanks to the entire Ptolemy Team. Ptolemy Miniconference Berkeley, CA, March 22-23, 2001 The Problem Composition Decomposition Corba? TAO?

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR 29.10.2013 SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR Stefan Schmierer Markus Völter, Bernd Kolb CONTEXT. WHAT IS MBEDDR? An extensible set of integrated languages for embedded so3ware

More information

High Performance Computing. University questions with solution

High Performance Computing. University questions with solution High Performance Computing University questions with solution Q1) Explain the basic working principle of VLIW processor. (6 marks) The following points are basic working principle of VLIW processor. The

More information

Applying the Component Paradigm to AUTOSAR Basic Software

Applying the Component Paradigm to AUTOSAR Basic Software Applying the Component Paradigm to AUTOSAR Basic Software Dietmar Schreiner Vienna University of Technology Institute of Computer Languages, Compilers and Languages Group Argentinierstrasse 8/185-1, A-1040

More information

Design methodology for multi processor systems design on regular platforms

Design methodology for multi processor systems design on regular platforms Design methodology for multi processor systems design on regular platforms Ph.D in Electronics, Computer Science and Telecommunications Ph.D Student: Davide Rossi Ph.D Tutor: Prof. Roberto Guerrieri Outline

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

More information

The Ocarina Tool Suite. Thomas Vergnaud

The Ocarina Tool Suite. Thomas Vergnaud The Ocarina Tool Suite Motivation 2 ENST is developing a middleware architecture: PolyORB generic, configurable, interoperable enables middleware verification create a tool chain

More information

Review Sources of Architecture. Why Domain-Specific?

Review Sources of Architecture. Why Domain-Specific? Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design

More information

A Design Space Exploration Framework for Model-Based Software-intensive Embedded System Development

A Design Space Exploration Framework for Model-Based Software-intensive Embedded System Development A Design Space Exploration Framework for Model-Based Software-intensive Embedded System Development Matthias Büker, Stefan Henkler, Stefanie Schlegel, Eike Thaden bueker@offis.de, henkler@offis.de, schlegel@offis.de,

More information

SysteMoC. Verification and Refinement of Actor-Based Models of Computation

SysteMoC. Verification and Refinement of Actor-Based Models of Computation SysteMoC Verification and Refinement of Actor-Based Models of Computation Joachim Falk, Jens Gladigau, Christian Haubelt, Joachim Keinert, Martin Streubühr, and Jürgen Teich {falk, haubelt}@cs.fau.de Hardware-Software-Co-Design

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

Model transformation and scheduling analysis of an AUTOSAR system

Model transformation and scheduling analysis of an AUTOSAR system Model transformation and scheduling analysis of an AUTOSAR system Ahmed Daghsen, Khaled Chaaban, Sébastien Saudrais ESTACA campus ouest Embedded systems laboratory Laval, 53000, France ahmed.daghsen@estaca.fr

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Outline Key issues to design multiprocessors Interconnection network Centralized shared-memory architectures Distributed

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation TKT-1527 Digital System Design Issues Tero Arpinen Introduction to SoC modeling and Models of Computation 1 Reference material A. Jantsch and I. Sander, Models of computation and languages for embedded

More information

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it. MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

More information

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1.

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1. Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and Real Time Systems Page 1 Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and

More information

HW/SW Design Space Exploration on the Production Cell Setup

HW/SW Design Space Exploration on the Production Cell Setup HW/SW Design Space Exploration on the Production Cell Setup Communicating Process Architectures 2009, Formal Methods Week Eindhoven University of Technology, The Netherlands, 04-11-2009 Marcel A. Groothuis,

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Network protocols and. network systems INTRODUCTION CHAPTER

Network protocols and. network systems INTRODUCTION CHAPTER CHAPTER Network protocols and 2 network systems INTRODUCTION The technical area of telecommunications and networking is a mature area of engineering that has experienced significant contributions for more

More information

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013 CS 5114 Network Programming Languages Data Plane http://www.flickr.com/photos/rofi/2097239111/ Nate Foster Cornell University Spring 2013 Based on lecture notes by Jennifer Rexford and Michael Freedman

More information

Evaluating OpenCL as a Standard Hardware Abstraction for a Model-based Synthesis Framework: A Case Study

Evaluating OpenCL as a Standard Hardware Abstraction for a Model-based Synthesis Framework: A Case Study Evaluating OpenCL as a Standard Hardware Abstraction for a Model-based Synthesis Framework: A Case Study Omair Rafique and Klaus Schneider Department of Computer Science University of Kaiserslautern Kaiserslautern,

More information

Handling Challenges of Multi-Core Technology in Automotive Software Engineering

Handling Challenges of Multi-Core Technology in Automotive Software Engineering Model Based Development Tools for Embedded Multi-Core Systems Handling Challenges of Multi-Core Technology in Automotive Software Engineering VECTOR INDIA CONFERENCE 2017 Timing-Architects Embedded Systems

More information

Ptolemy II The automotive challenge problems version 4.1

Ptolemy II The automotive challenge problems version 4.1 Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks to Jie Liu, Paul Griffiths, and Steve Neuendorffer MoBIES Working group meeting, 27-28 September 2001, Dearborn

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS Communication Fundamental REMOTE PROCEDURE CALL Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Communication Architecture Fundamentals

More information

6.9. Communicating to the Outside World: Cluster Networking

6.9. Communicating to the Outside World: Cluster Networking 6.9 Communicating to the Outside World: Cluster Networking This online section describes the networking hardware and software used to connect the nodes of cluster together. As there are whole books and

More information

Heterogeneous Processing Systems. Heterogeneous Multiset of Homogeneous Arrays (Multi-multi-core)

Heterogeneous Processing Systems. Heterogeneous Multiset of Homogeneous Arrays (Multi-multi-core) Heterogeneous Processing Systems Heterogeneous Multiset of Homogeneous Arrays (Multi-multi-core) Processing Heterogeneity CPU (x86, SPARC, PowerPC) GPU (AMD/ATI, NVIDIA) DSP (TI, ADI) Vector processors

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Distributed Deadlock Detection for. Distributed Process Networks

Distributed Deadlock Detection for. Distributed Process Networks 0 Distributed Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Systems Abstract The distributed process network (DPN) model allows for greater scalability and performance

More information

Implementation of automotive CAN module requirements

Implementation of automotive CAN module requirements Implementation of automotive CAN module requirements Alan Devine, freescale semiconductors At first glance all CAN modules are very similar, the only difference being the number of message buffers which

More information

E-Commerce. Infrastructure I: Computer Networks

E-Commerce. Infrastructure I: Computer Networks E-Commerce Infrastructure I: Computer Networks Almost all computers today are networked or part of a distributed system. I will provide an overview of networking and a basic description of network technology.

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING 1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation

More information

Modeling and SW Synthesis for

Modeling and SW Synthesis for Modeling and SW Synthesis for Heterogeneous Embedded Systems in UML/MARTE Hector Posadas, Pablo Peñil, Alejandro Nicolás, Eugenio Villar University of Cantabria Spain Motivation Design productivity it

More information

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems 13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems Florian Hölzl and Martin Feilkas Institut für Informatik Technische Universität

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

SystemDesk - EB tresos Studio - TargetLink Workflow Descriptions

SystemDesk - EB tresos Studio - TargetLink Workflow Descriptions SystemDesk - EB tresos Studio - TargetLink Workflow Descriptions Usable with Versions: dspace SystemDesk 4.1 EB tresos Studio 13 or 14 TargetLink 3.4 or TargetLink 3.5 (with patches) February, 2014 1 /

More information

From Signal to Service

From Signal to Service From Signal to Service Challenges for the Development of AUTOSAR Adaptive Applications Automotive Ethernet and AUTOSAR Adaptive are key technologies for highly automated driving and comprehensive connectivity

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems SHIM:A A Deterministic Concurrent Language for Embedded Systems p. 1/28 A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A

More information

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common

More information

Timing Definition Language (TDL) Concepts, Code Generation and Tools

Timing Definition Language (TDL) Concepts, Code Generation and Tools Timing Definition Language (TDL) Concepts, Code Generation and Tools Wolfgang Pree Embedded Software & Systems Research Center Department of Computer Sciences Univ. Salzburg Overview Motivation Timing

More information

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Application Software

More information

Overview of the Cisco Service Control Value Added Services Feature

Overview of the Cisco Service Control Value Added Services Feature CHAPTER 1 Overview of the Cisco Service Control Value Added Services Feature Revised: May 27, 2013, Introduction The VAS feature enables the Cisco SCE platform to access an external expert system for classification

More information

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software Driven Verification at SoC Level. Perspec System Verifier Overview Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to

More information

Distributed Computing Environment (DCE)

Distributed Computing Environment (DCE) Distributed Computing Environment (DCE) Distributed Computing means computing that involves the cooperation of two or more machines communicating over a network as depicted in Fig-1. The machines participating

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

Moore s Law. Computer architect goal Software developer assumption

Moore s Law. Computer architect goal Software developer assumption Moore s Law The number of transistors that can be placed inexpensively on an integrated circuit will double approximately every 18 months. Self-fulfilling prophecy Computer architect goal Software developer

More information

Communications-Oriented Development of Component- Based Vehicular Distributed Real-Time Embedded Systems

Communications-Oriented Development of Component- Based Vehicular Distributed Real-Time Embedded Systems Communications-Oriented Development of Component- Based Vehicular Distributed Real-Time Embedded Systems Saad Mubeen a,b, Jukka Mäki-Turja a,b, Mikael Sjödin a Contact: saad.mubeen@mdh.se, +46 21 10 31

More information

Enhancing validation with Prototypes out of Requirements Model

Enhancing validation with Prototypes out of Requirements Model Enhancing validation with Prototypes out of Requirements Model Michael Deynet, Sabine Niebuhr, Björn Schindler Software Systems Engineering, Clausthal University of Technology, 38678 Clausthal-Zellerfeld,

More information