An RTOS API Translator for Model-driven Embedded Software Development *

Size: px
Start display at page:

Download "An RTOS API Translator for Model-driven Embedded Software Development *"

Transcription

1 An RTOS API Translator for Model-driven Embedded Software Development * Ji Chan Maeng, Jong-Hyuk Kim, and Minsoo Ryu College of Information and Communications, Hanyang University {jcmaeng, jhkim, msryu}@rtcc.hanyang.ac.kr Abstract In this paper, we present a model-driven approach to RTOS-based embedded software development and an automated tool that can produce RTOS-specific code. Our contributions are two fold. First, we defined generic RTOS APIs (Application Programming Interfaces) that can capture most of typical RTOS services but are not bound to any specific RTOS. The generic RTOS APIs can be used as a means for describing application s RTOSrelated behavior at an early design stage. We then developed an automated transformation tool that can generate functional code by transforming generic RTOS APIs into RTOS-specific APIs. Our tool, called TransPI, is able to produce C code aimed at POSIX-compliant RTOSs, and is also configurable to target other RTOSs that do not conform to the POSIX standard. 1. Introduction Increasing software complexity has given rise to model-driven software development. With a model-driven approach, a developer can work at a high level of abstraction since he just needs to focus on building an abstract application model without being concerned about specifics of hardware and software platforms [4, 12]. Automated tools can then be used to produce a final implementation through model-to-code transformation [3, 13]. Thus, the model-driven approach can provide a significant productivity gain, and even alleviate the maintenance problem since software changes can be made by modifying the original model and regenerating the code. Model-Driven Architecture (MDA) of the Object Management Group (OMG) is one of the most noticeable results [1]. An important goal of MDA is to separate the specification of abstract system behavior and functionality from the specification of concrete implementation details. To do so, MDA depends on two important types of models, Platform Independent Model (PIM) and Platform Specific Model (PSM). A PIM is a model that does not rely on any implementation technologies, and can be built using UML (Unified Modeling Language). A PSM is a model that contains enough implementation details so that code can be generated from it. It can be viewed as an intermediate form of the code that combines the specification of PIM with the details that specify how the application uses and interact with a particular type of platform. Therefore, to generate executable code through an MDA approach, we need two stages of model mapping, as shown in Figure 1(A). Unfortunately, MDA provides little support for the development of RTOS-based embedded software. As described in the MDA Guide Version [5], MDA focuses primarily on middleware target platforms such as EJB, Web Services,.NET, and CORBA [16]. These middleware platforms allow applications to run independent of programming language and underlying operating system, thus providing better productivity and portability by hiding implementation-specific details. However, a typical embedded system has crucial requirements such as real-time performance and limited resources. These requirements are commonly supported by a real-time operating system, whereas the use of middleware is much likely to fail to meet these requirements [2]. As a result, many embedded applications are designed and implemented to run directly on top of RTOS (Real-Time Operating System). In this paper, we present a model-driven approach and an automated transformation tool, called TransPI, for the development of RTOS-based embedded software. The proposed approach can be viewed as a variation of MDA with an emphasis on RTOS platforms. As shown in Figure 1(B), a major difference from MDA is that ours can capture application s RTOS-related behavior at an early design stage and produce a concrete RTOS-specific implementation at the final stage. To do so, we first defined generic RTOS APIs (Application Programming Interfaces) that can represent most of typical RTOS services but are not bound to any specific RTOS. In our approach, the generic RTOS APIs are used as a means for * This work was supported in part by the Korea Research Foundation Grant funded by the Korean Government (MOEHRD) KRF D00625 and by IT Leading R&D Support Project funded the Ministry of Information and Communication

2 incorporating abstract RTOS-related behavior into an application design model. We then developed an automated transformation tool that can generate code by transforming generic RTOS APIs into RTOS-specific APIs. Our tool, called TransPI, is able to produce C code aimed at POSIX-compliant RTOSs, and is also configurable to target other RTOSs that do not conform to the POSIX standard [6]. (A) (B) Figure 1. (A) the MDA and (B) our approach. The work reported in this paper is a result of a collaborative project that began early in 2005 between the Seoul National University and Hanyang University. The goal of the project was to develop an integrated modelbased tool set, called HOPES, aimed at embedded software development [7, 8]. As shown in Figure 1(B), our approach consists of three stages. At the first stage, a developer creates an Application Behavior Model (ABM) through specifying application s functionality using a data flow model [14, 17] and generic RTOS APIs. At the second stage, a code synthesizer produces an intermediate form of code, called RTOS Independent Code (RIC). At the final stage, a target RTOS is chosen and the RIC is transformed into RTOS Specific Code (RSC) through TransPI. In the HOPES project, our role was to support the mapping of RIC to RSC, and the work reported here contains our major contributions made for the HOPES project. Specifically, they include generic RTOS APIs to capture application s RTOS-related behavior and an automated tool for RIC-to-RSC transformation. Commercial CASE tools have been available for model-driven software development [9, 10, 11]. Rhapsody by I-Logix [10] is one of them, which has been widely used in industry long before the release of MDA by OMG. Within Rhapsody, a developer can create a PIM using standard UML [15, 18]. Rhapsody can then produce final code directly from the PIM without having an explicit PIM-to-PSM transformation stage. Rhapsody can support the development of RTOS-based software by providing a virtual machine layer, called OS-dependent adapter, which handles interaction with the underlying RTOS. To the best of our knowledge, a common technique to achieve platform independence in existing CASE tools is to target application software for a platform-neutral virtual machine such as Rhapsody s OS-dependent layer. We believe that our transformation-based approach is superior to the virtual machine approach in many ways. First, the transformation-based approach can avoid runtime overheads that would be incurred by the use of a virtual machine layer. Note that a virtual machine should have wrapper functions that invoke real RTOS calls, and this incurs extra overheads both in time and space for every function call. This may be a serious problem for many performance- and resource-critical embedded systems. Second, the transformation-based approach can provide another important benefit for maintaining legacy software that was not developed through a model-driven approach. For example, it is possible to extend transformation tools to support reverse transformation, i.e., code-to-model transformation. Reverse transformation would allow a developer to derive a model from legacy code and then generate another code for a different target RTOS, or to change the legacy software by modifying the derived model and regenerating code. We will show that our TransPI is able to generate RIC (RTOS Independent Code) from RSC (RTOS Specific Code), i.e., reverse transformation. The rest of this paper is organized as follows. Section 2 describes how to develop generic RTOS APIs and how to use them for RTOS behavior modeling. Section 3 describes the design of TransPI. Section 4 presents its implementation and experimental results. Section 5 concludes this paper. 2. A Model-Driven Approach Using Generic RTOS APIs A typical RTOS provides a range of services including task management, memory management, file system management, and I/O management. An important observation is that such RTOS services are available for applications in the form of APIs (Application Programming Interfaces), i.e., networking through socket APIs and inter-process communications through message queue APIs. For this reason, and to permit easy incorporation of RTOS behavior into an application design model, we chose to abstract RTOS APIs for the specification of RTOS-related behavior. Note that a usual RTOS provides more than hundreds of APIs whose semantics and syntax are different across RTOSs. This motivated us to take POSIX standard as a starting point, and also considered POSIX [20] real-time profiles and power management APIs. 2.1 Definition of Generic RTOS APIs POSIX is a set of standards specified by the IEEE to define the application programming interfaces (APIs) for

3 UNIX-based software, and it is now maintained by a joint working group called the Austin Group. The latest version is POSIX Standard which consists of four major components; Base Definitions volume, System Interfaces volume, Shell and Utilities volume, and Rationale (Informative) volume. Here, the System Interfaces volume the actual OS APIs that are defined in eight categories including signal, standard I/O streams, STREAMS, XSI interprocess communication, real-time, threads, sockets, tracing, and others. Note that the POSIX standard is not restricted to OSrelated services. The POSIX standard has been designed to cover all the aspects of application programming. Examples include mathematical functions such as sin() and cos() functions. In fact, the POSIX set is a superset of the standard C library functions (ISO/IEC 9899:1999) and the mathematical functions are supported by the standard C library (math.h). The definition of generic RTOS APIs was rather straightforward. Our approach was to first group related POSIX APIs and organize them into coherent clusters, and then remove redundant or RTOS-irrelevant APIs from them. Note that the POSIX API set contains a number of APIs that have similar functionalities. For example, printf(), fprintf(), and sprintf() have an identical function of printing formatted data except they print to different display targets. Table 1. Generic RTOS APIs (85 APIs in total). Category Task Real-Time Power Memory File Network Device Others Generic RTOS APIs THREAD_CREATE, (21 APIs) MQ_SEND, (15APIs) PM_POWER_OFF,... (8 APIs) MEMALLOC, MMAP, (4 APIs) CHDIR, CLOSE, (17 APIs) SOCK_ACCEPT, (9 APIs) IOCTL, POLL, SELECT (3 APIs) CTIME, GETITIMER, (8 APIs) Our taxonomy of APIs is based on typical RTOS services such as task, memory, file, network, and device management. We reclassified POSIX APIs into eight categories based on these services in mind while separately considering real-time and power management issues. 2.2 RTOS-related Behavior Specification Using Generic RTOS APIs Based on generic RTOS APIs, the application s RTOSrelated behavior can be easily incorporated into a toplevel ABM (application behavior model). This can be best explained through the following example. Figure 2 shows a top-level data flow diagram of H.263 decoder example, which was also used in our experiments. The H.263 decoder consists of five major components: main controller, AVI Reader, Divx decoder, MPEG audio decoder, and frame buffer manager. The main controller is responsible for the execution and coordination of the other four elements by using appropriate RTOS services. Specifically, it creates four threads for pipelined concurrent execution of AVI Reader, Divx decoder, MPEG audio decoder, and frame buffer manager. This requires the main controller to invoke three generic RTOS APIs, THREAD_CREATE, THREAD_JOIN, and THREAD_EXIT. Similarly, the other four components rely on generic RTOS APIs to perform their required functions such as access to multimedia data residing on secondary storage, dynamic allocation of required memory, and destruction of threads. Figure 2. RTOS-related behavior specification with generic RTOS APIs. Note that the above example has been constructed through the entire HOPES tool set. Our approach to the application s behavioral modeling uses a data flow model for describing overall functionality and an extended finite state machine model [8] for specifying detailed behavior of each component. Each component in Figure 2 has been modeled as a finite state machine, whose precise behavior can be specified by a set of states, events, guard conditions, and actions. Here, we do not delve into how the extended finite state machine can specify detailed behavior. Interested readers are referred to [8]. 3. Design of TransPI An important goal of our API translator development is configurability, which is crucial for handling a diversity of target RTOSs ranging from POSIX-compliant RTOSs to those that do not support POSIX APIs. This gave rise to the development of a rule-based API translator, called TransPI. TransPI relies on a set of rules that govern transformation of generic RTOS APIs into RTOS-specific APIs. TransPI allows a developer to modify these transformation rules and/or add new rules. Therefore, TransPI can be configured to target any particular RTOS by specifying transformation rules specific to the chosen RTOS.

4 3.1 API Usage Patterns and Scoping Through a preliminary investigation, we found that many generic RTOS APIs have some patterns in their usage. For example, a SEM_WAIT() that attempts to acquire a lock must be followed by a SEM_POST() that releases the lock. Furthermore, when these APIs are transformed into RSC, some extra routines such as sem_init() and sem_destroy() should also be added at proper locations in the code. 3.2 Transformation Rules TransPI provides a dedicated transformation language that can be used to specify transformation rules. The key elements of the transformation language include 7 major directives: INCLUDE AT, DECLARE AT, INITIALIZE AT, INSERT AT, REPLACE BY, FINALIZE AT, and DELETE. INCLUDE AT: include a required header file at a specified location. DECLARE AT: declare variables at a specified location. INITIALIZE AT: insert an initialization routine at a specified location. INSERT AT: insert a code fragment at a specified location. REPLACE WITH: replace a code fragment with at a specified code. FINALIZE AT: insert a finalization routine at a specified location. DELETE: delete a specified code fragment. Using the above directives, we can specify a family of transformation rules for each API pattern. Generally, each pattern can have at most five transformation rules: initialize, open, transform, close, and finalize rules. Figure 4 illustrates the transformation rules for SEMAPHORE pattern, which is subject to four transformation rules. (A) Before transformation (B) After transformation Figure 3. Transformation of SEMAPHORE pattern into POSIX compliant C code. To handle such patterns in our transformation, we introduced a notion of API pattern into the design of TransPI. We defined an API pattern as a group of one or more APIs that must be used in a synchronous manner to meet their predefined semantics. Figure 3 illustrates an example of RIC and its transformation into POSIX compliant RSC. It shows that SEM_WAIT and SEM_POST constitute a SEMAPHORE pattern and that the transformation replaces SEM_WAIT and SEM_POST with sem_wait() and sem_post(), respectively. The transformation also inserts additional code including: the declaration of a semaphore variable, sem_init(), and sem_destroy(). Our TransPI specially handles some APIs that access shared resources such as semaphores. Such shared resources are often accessed by several concurrent threads and/or processes, and this raises a question of which thread or process should initialize and destroy the shared resources. To address this problem, we chose to create two additional files, init.c and wrapup.c, to insert code required for initialization and finalization at a global scope, respectively. Figure 4. Transformation rules for SEM pattern. 4. Implementation and Experiments TransPI has been implemented in C, and consists of the following three major stages. Stage 1 (initialization): It reads in two configuration files, one for a list of API patterns and the other for a set of transformation rules. Stage 2 (model analysis): It accepts RIC as input and identifies generic APIs and patterns. Stage 3 (code generation): It performs a two-pass transformation based on given transformation. In the first pass, it transforms individual generic RTOS APIs into

5 RTOS-specific APIs. In the second pass, it inserts extra code segment per API pattern. Note that TransPI allows for reverse transformation, i.e., generation of RIC from RSC. This can be done by providing TransPI with a set of rules for reverse transformation. It is straightforward to derive reverse transformation rules from forward transformation rules. Here, due to space limitation, we do not include how to create a reverse transformation rule with a forward transformation rule. Two cases of experiments were performed to validate TransPI. In the first experiment case, we performed intensive tests on TransPI using Open POSIX Test Suite [19]. Open POSIX Test Suite is freely available on the Web and provides a lot of C code that had been written with POSIX APIs. To check if our tool produces operational code for POSIX compliant RTOSs, we manually converted the POSIX APIs in the original Test Suite C code into generic RTOS APIs and then transformed them back into POSIX-compliant C. In the second experiment case, we applied our TransPI for the development of H.263 decoder. Through preliminary work, we had constructed a RIC that consists of five RIC files, MainController.ric, AviReader.ric, DivxDecoder.ric, MpegAudioDecoder.ric, and FrameBufferManager.ric. TransPI was then used to transform each RIC file into POSIX-compliant C code. We compiled the resulting files and executed the resulting H.263 decoder on top of Linux. Figure 5 shows a snapshot of the produced H.263 decoder running a multimedia application. Figure 5. Snapshot of H.263 decoder. 5. Conclusion In this paper we presented a model-driven approach and a support tool for the development of RTOS-based embedded software. Our major contributions are: (1) generic RTOS APIs that can be used to specify RTOSrelated behavior at modeling level, and (2) an automated tool that can produce RTOS-specific code from RTOSindependent code. There are several future research directions. First, we may extend TransPI to support automatic reverse transformation and this would provide substantial benefits for legacy software management. Note that even with current implementation of TransPI, it is possible to perform reverse transformation by manually specifying the rules for reverse transformation. However, we found that this is time-consuming and error-prone, and we are working on a supplementary tool that can automatically generate reverse transformation rules from forward transformation rules. Second, we will explore the problem of how to incorporate our approach and tool into the existing MDA framework. This problem seems very challenging since we have to find how to combine UML and the notion of generic RTOS API for building a PIM and how to transform the combined model into a PSM. References [1] Thomas O. Meservy and Kurt D. Fenstermacher, Transforming Software Development: An MDA Road Map, IEEE Computer, 38(9): 52 58, September [2] Pieter Van Gorp, Dirk Janssens, and Tracy Gardner, Write Once, Deploy N: a Performance Oriented MDA Case Study, Proceedings of the 8 th IEEE International Enterprise Distributed Object Computing Conference, pp , [3] Jana Koehler, Rainer Hauser, Shubir Kapoor, Fred Y. Wu, and Santhosh Kumaran, A Model-Driven Transformation Method, Proceedings of the 7 th IEEE International Enterprise Distributed Object Computing Conference, pp , [4] Joao Paulo Almeida, Remco Dijkman, Marten van Sinderen, and Luis Ferreira Pires, On the Notion of Abstract Platform in MDA Development, Proceedings of the 8 th IEEE International Enterprise Distributed Object Computing Conference, pp , [5] Object Management Group Inc., "MDA Guide v1.0.1," June [6] The Open Group, "The Open Group Base Specification Issue 6, IEEE Std , 2004 Edition," [7] HOPES, [8] Soonhoi Ha, Hardware/Software Co-design of Multimedia Embedded Systems: PeaCE Approach, white paper, [9] International Business Machines Corporation, "Rational Rose-RT," [10] I-Logix, "Rhapsody," [11] Telelogic AB, "TAU," [12] Stephen J. Mellor, Kendall Scott, Axel Uhl and Dirk Weise MDA Distilled: Principles of Model-Driven Architecture, Addison Wesley, [13] Anneke Kleppe, Jos Warmer and Wim Bast, "MDA Explained: The Model Driven Architecture: Practice and Promise," Addison Wesley, [14] David Harel. "Statecharts: A visual formalism for complex systems," Science of Computer Programming, 8(3): , June [15] Grady Booch, James Rumbaugh, and Ivar Jacobson. "The Unified Modeling Language User Guide," Addison Wesley, 1999 [16] Object Management Group Inc., "CORBA/IIOP Specification," [17] Dohyung Kim and Soonhoi Ha, "Static Analysis and Automatic Code Synthesis of flexible FSM Model," ASP-DAC 2005, January [18] Stephen J. Mellor and Marc J. Balcer, "Executable UML: A Foundation for Model-Driven Architecture," Addison Wesley, [19] Open POSIX Test Suite from A GPL Open Source Project, [20] The Open Group, "IEEE Standard for Information Technology Standardized Application Environment Profile (AEP)-POSIX Realtime and Embedded Application Support, IEEE Std ,"

F-16 Modular Mission Computer Application Software

F-16 Modular Mission Computer Application Software F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer

More information

Building a Flexible Software Factory Using Partial Domain Specific Models

Building a Flexible Software Factory Using Partial Domain Specific Models Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl

More information

Applying MDA in Developing Intermediary Service for Data Retrieval

Applying MDA in Developing Intermediary Service for Data Retrieval Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 dboberic@uns.ac.rs

More information

From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design

From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design Frank P. Coyle and Mitchell A. Thornton Computer Science and Engineering Dept Southern Methodist University Dallas

More information

Clarifying a vision on certification of MDA tools

Clarifying a vision on certification of MDA tools SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September

More information

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Software Engineering for Software-Intensive Systems: III The Development Life Cycle Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development

More information

Developing in the MDA Object Management Group Page 1

Developing in the MDA Object Management Group Page 1 Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG

More information

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation

More information

Layered Approach to Development of OO War Game Models Using DEVS Framework

Layered Approach to Development of OO War Game Models Using DEVS Framework Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701

More information

Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology

Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 1, No. 1, November 2003, 81-87 Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

A SoC design flow based on UML 2.0 and SystemC

A SoC design flow based on UML 2.0 and SystemC A SoC design flow based on UML 2.0 and SystemC Sara Bocchio 1, Elvinia Riccobene 2, Alberto Rosti 1, and Patrizia Scandurra 3 1 STMicroelectronics, AST Agrate Lab R&I, Italy {sara.bocchio, alberto.rosti}@st.com

More information

GPU Profiling with AMD CodeXL

GPU Profiling with AMD CodeXL GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com

More information

Design a medical application for Android platform using model-driven development approach

Design a medical application for Android platform using model-driven development approach Design a medical application for Android platform using model-driven development approach J. Yepes, L. Cobaleda 2, J. Villa D, J. Aedo ARTICA, Microelectronic and Control Research Group 2 ARTICA, Software

More information

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

The Fast Guide to Model Driven Architecture

The Fast Guide to Model Driven Architecture WHITEPAPER The Fast Guide to Model Driven Architecture The Basics of Model Driven Architecture By Frank Truyen frank.truyen@cephas.cc The Fast Guide to Model Driven Architecture The Basics of Model Driven

More information

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno 2009-10

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno 2009-10 Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2009-10 Corso di Ingegneria del Software - B UML other structural diagrams (Implementation Diagrams UML 1.5) v 2.3 Renato Conte - UML:

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

SEMS: The SIP Express Media Server. FRAFOS GmbH

SEMS: The SIP Express Media Server. FRAFOS GmbH SEMS: The SIP Express Media Server FRAFOS GmbH Introduction The SIP Express Media Server (SEMS) is a VoIP media and application platform for SIP based VoIP services. SEMS offers a wide selection of media

More information

Frameworks of Process Improvement for Mobile Applications

Frameworks of Process Improvement for Mobile Applications Frameworks of Process Improvement for Mobile Applications Haeng-Kon Kim Abstract Mobile application development belongs on the complicated, but quite regular software development environment that includes

More information

The Service Availability Forum Specification for High Availability Middleware

The Service Availability Forum Specification for High Availability Middleware The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,

More information

Integrating Legacy Code / Models with Model Based Development Using Rhapsody

Integrating Legacy Code / Models with Model Based Development Using Rhapsody Integrating Legacy Code / Models with Model Based Development Using Rhapsody M.W.Richardson 28/11/06 1 Telelogic AB Model Driven Development Very few Green Field projects are started, nearly always there

More information

All you need are models Anneke Kleppe, Klasse Objecten

All you need are models Anneke Kleppe, Klasse Objecten Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

A UML Introduction Tutorial

A UML Introduction Tutorial A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software

More information

How To Test On A Model Driven Test On An Embedded System

How To Test On A Model Driven Test On An Embedded System Applying Model Driven Techniques to Mobile Testing Sang-Yong Byun Division of Computer Engineering, JeJu National University, Korea byunsy@jejunu.ac.kr Abstract Mobile Embedded Testing is the most important

More information

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Rearchitecting with UML

Rearchitecting with UML Douglas Humphrey Gregory T. Eakman, Ph.D. Version 2.1 June 9, 2004 PathMATE Series Pathfinder Solutions LLC 90 Oak Point Wrentham, MA 02093 USA www.pathfindermda.com 508-384-1392 2004 by Pathfinder Solutions

More information

Embedded UML: a merger of real-time UML and co-design

Embedded UML: a merger of real-time UML and co-design Embedded UML: a merger of real-time UML and co-design Grant Martin Cadence Design Systems, Inc. 555 River Oaks Parkway San Jose CA 95134 USA +1-408-894-2986 gmartin@cadence.com ABSTRACT In this paper,

More information

Application of UML in Real-Time Embedded Systems

Application of UML in Real-Time Embedded Systems Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: aman.kaur@kcl.ac.uk Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems

ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems P S Kritzinger, M Chetty, J Landman, M Marconi and O Ryndina Data Network Architecture Laboratory

More information

Cyclic Architectures in UML

Cyclic Architectures in UML Cyclic Architectures in UML Techletter Nr. 2 What is a Techletter? Well actually nothing more than a newsletter, just that the content mainly focusses on technical items in the UML and in embedded systems

More information

Test Driven Mobile Applications Development

Test Driven Mobile Applications Development , 23-25 October, 2013, San Francisco, USA Test Driven Mobile Applications Development Haeng Kon Kim Abstract Mobile applications testing is the most important factor in its software development. Mobile

More information

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Fifth International Conference on Information Technology: New Generations Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Tihomir Calic, Sergiu Dascalu, Dwight Egbert

More information

How To Develop A Telelogic Harmony/Esw Project

How To Develop A Telelogic Harmony/Esw Project White paper October 2008 The Telelogic Harmony/ESW process for realtime and embedded development. Bruce Powel Douglass, IBM Page 2 Contents 3 Overview 4 Telelogic Harmony/ESW core principles 6 Harmony/ESW

More information

Real Time Developer Studio. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

Real Time Developer Studio. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Real Time Developer Studio Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev French SME, Beneficiary since 2006. Dedicated to the development of a modelling tool for the development of Event driven

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,

More information

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks Designing a Home Alarm using the UML And implementing it using C++ and VxWorks M.W.Richardson I-Logix UK Ltd. markr@ilogix.com This article describes how a simple home alarm can be designed using the UML

More information

Component-Oriented Engineering

Component-Oriented Engineering Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008 Component-Oriented Engineering the dawn of a

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

More information

DEVS Unified Process for Web-Centric Development and Testing of System of Systems

DEVS Unified Process for Web-Centric Development and Testing of System of Systems CRITICAL ISSUES IN C4I 20-21 May 2008 George Mason University, Fairfax, VA DEVS Unified Process for Web-Centric Development and Testing of of s Saurabh Mittal, PhD Bernard P. Zeigler, PhD Arizona Center

More information

Application Architectures

Application Architectures Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch

More information

QoS and Communication Performance Management

QoS and Communication Performance Management Using a Real-Time, QoS-based ORB to Intelligently Manage Communications Bandwidth in a Multi-Protocol Environment Bill Beckwith Objective Interface Systems, Inc. OMG Embedded Workshop The Nature of CORBA

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

More information

The Impact of the Computational Independent Model for Enterprise Information System Development

The Impact of the Computational Independent Model for Enterprise Information System Development Volume No.8, December 200 The Impact of the Computational Independent Model for Enterprise Information System Development Yashwant Singh Jaypee University of IT, Waknaghat, Himachal Pradesh, INDIA Dr.

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB

Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer Dr. Johan Kraft, Percepio AB Debugging embedded software can be a challenging, time-consuming and unpredictable factor in development

More information

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk

More information

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Model-Based Development of Web Applications Using Graphical Reaction Rules

Model-Based Development of Web Applications Using Graphical Reaction Rules Model-Based Development of Web Applications Using Graphical Reaction Rules Reiko Heckel and Marc Lohmann Faculty of Computer Science, Electrical Engineering and Mathematics University of Paderborn D 33098

More information

Best Practices: Extending Enterprise Applications to Mobile Devices

Best Practices: Extending Enterprise Applications to Mobile Devices Best Practices: Extending Enterprise Applications to Mobile Devices by Kulathumani Hariharan Summary: Extending enterprise applications to mobile devices is increasingly becoming a priority for organizations

More information

From Business World to Software World: Deriving Class Diagrams from Business Process Models

From Business World to Software World: Deriving Class Diagrams from Business Process Models From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

Introducing Refactoring to Heavyweight Software Methodologies

Introducing Refactoring to Heavyweight Software Methodologies Introducing Refactoring to Heavyweight Software Methodologies Tiago Massoni Electronic mail: tlm@cin.ufpe.br Abstract Refactoring is the process of changing a software system aiming at organizing the design

More information

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102

More information

A HW/SW Codesign Methodology based on UML

A HW/SW Codesign Methodology based on UML A HW/SW Codesign Methodology based on UML How to apply a model based UML design for an embedded system By Senior Consultant Kim Bjerge (kim.bjerge@teknologisk.dk) Copyright 2008 Danish Technological Institute

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

A Tool Suite for the Generation and Validation of Configurations for Software Availability

A Tool Suite for the Generation and Validation of Configurations for Software Availability A Tool Suite for the Generation and Validation of Configurations for Software Availability A. Gherbi 1, A. Kanso 1, F. Khendek 1, M. Toeroe 2 and A. Hamou-Lhadj 1 1 Concordia University, Montréal, Canada

More information

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-12: Real Time Linux

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-12: Real Time Linux REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux Lesson-12: Real Time Linux 1 1. Real Time Linux 2 Linux 2.6.x Linux is after Linus Torvalds, father of the Linux operating

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation

Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation UML for C Developers Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation Jerome L. Krasner, Ph.D. April 2005 EMBEDDED

More information

YAML: A Tool for Hardware Design Visualization and Capture

YAML: A Tool for Hardware Design Visualization and Capture YAML: A Tool for Hardware Design Visualization and Capture Vivek Sinha, Frederic Doucet, Chuck Siska, Rajesh Gupta, Stan Liao, Abhijit Ghosh Center for Embedded Computer Systems, University of California,

More information

Network Scanning: A New Feature for Digital Copiers

Network Scanning: A New Feature for Digital Copiers Network Scanning: A New Feature for Digital Copiers Abstract Introduction The method of implementing electronic document capture and distribution, known as network scanning, into the traditional copier/printer

More information

feature model-driven development Test-Driven Modeling for Model-Driven Development

feature model-driven development Test-Driven Modeling for Model-Driven Development feature model-driven development Test-Driven Modeling for Model-Driven Development Yuefeng Zhang, Motorola Extreme Programming is a code-centric, lightweight software development process. 1 3 One of XP

More information

Automaton Programming and Inheritance of Automata

Automaton Programming and Inheritance of Automata Declarative Approach to Implementing Automata Classes in Imperative Programming Languages Artyom Astafurov, Anatoly Shalyto (research supervisor), Fac. of Information Technologies and Programming St. Petersburg

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Model Transformations and Classification

Model Transformations and Classification http://www.springer.com/3-540-25613-x A Systematic Look at Model Transformations Andreas Metzger Software Systems Engineering, University of Duisburg-Essen, Schützenbahn 70, 45117 Essen, Germany metzger@sse.uni-essen.de

More information

Performance Comparison of RTOS

Performance Comparison of RTOS Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile

More information

Agile MDA A White Paper

Agile MDA A White Paper Agile MDA A White Paper By Stephen J. Mellor MDA is a broad church covering a number of different approaches to model-driven development. Most commonly, people think of models as blueprints that are filled

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

A pattern based approach to defining the dynamic infrastructure of UML 2.0

A pattern based approach to defining the dynamic infrastructure of UML 2.0 A pattern based approach to defining the dynamic infrastructure UML 2.0 Biju K. Appukuttan, Tony Clark 2, Andy Evans 3, Girish Maskeri 4, Paul Sammut 3, Laurence Tratt 2 and James S. Willans 3 Abstract.

More information

POSIX : Certified by IEEE and The Open Group a briefing.

POSIX : Certified by IEEE and The Open Group a briefing. POSIX : Certified by IEEE and The Open Group a briefing. The Source for POSIX Certification http://posixcertified.ieee.org January 2006. Acknowledgements: Thanks to Michael Gonzalez for several of the

More information

25.1 Translational Frameworks (MDA with transformations)

25.1 Translational Frameworks (MDA with transformations) Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.

More information

Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs

Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs Jason Agron jagron@ittc.ku.edu Acknowledgements I would like to thank Dr. Andrews, Dr. Alexander, and Dr. Sass for assistance and advice in both research

More information

What is a metamodel: the OMG s metamodeling infrastructure

What is a metamodel: the OMG s metamodeling infrastructure Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Linux A multi-purpose executive support for civil avionics applications?

Linux A multi-purpose executive support for civil avionics applications? August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability

More information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how

More information

Source Code Translation

Source Code Translation Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven

More information

An Introduction to the UML and the Unified Process

An Introduction to the UML and the Unified Process 3 An Introduction to the UML and the Unified Process 3.1 Introduction This chapter introduces the Unified Modeling Language (UML) notation, its motivation and history. It then presents the Unified Process

More information

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2) RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information