Early Embedded Software Design Space Exploration Using UML-based Estimation

Size: px
Start display at page:

Download "Early Embedded Software Design Space Exploration Using UML-based Estimation"

Transcription

1 Early Embedded Software Design Space Exploration Using UML-based Estimation Marcio F. da S. Oliveira 1 Lisane B. de Brisolara 1 Luigi Carro 1,2 Flávio R. Wagner 1 1 Computer Science Institute Federal University of Rio Grande do Sul PO Box 15064, Porto Alegre, Brazil {mfsoliveira, lisane, flavio}@inf.ufrgs.br 2 Electrical Engineering Department Federal University of Rio Grande do Sul Av. Osvaldo Aranha, 103, Porto Alegre - Brazil carro@ece.ufrgs.br Abstract In order to quickly implement an embedded system that is mainly based on software, two orthogonal approaches have been proposed: Platform-based Design, which maximizes the reuse of components; and Model Driven Development, which rises the abstraction level by using object-oriented concepts and UML. However, with this increasing of the abstraction level, software engineers do not have an exact idea of the impact of their modeling decisions on important issues such as performance, energy, and memory footprint for a given platform. In our approach, analytical estimation of data and program memory, performance, and energy are obtained directly from UML models. Experimental results show a very small estimation error when software components are reused and their costs on the target platform are already known. Real-life applications are modeled in different ways and demonstrate the effectiveness of the estimates in an early design space exploration, allowing the designer to quickly compare different modeling solutions, with estimation errors as low as 5%. 1 Introduction Embedded everywhere is an expression that is getting materialized with the new generation of computer systems. This is a reality in sectors such as automotive, airplanes, telecommunication, consumer electronics, and medical devices. Such systems are increasingly required to operate in real-time and rely on embedded hardware and software. This situation makes the design of embedded systems an ever-growing challenge. Therefore, several design methodologies have been proposed to address the problem of modeling and designing complex real-time embedded systems, satisfying tight performance and cost constraints. Platform-Based Design (PBD) [1] is a successful strategy that implements a meet-in-the-middle strategy to maximize the reuse of pre-designed components and provides a variety of abstraction levels, integrating the development effort of different design teams and achieving the best customisation of the design according to the system requirements. PBD environments must provide a rich and pre-characterized library of software and hardware components, allowing a designer to rapidly assemble a system. Furthermore, this pre-characterized library reduces dramatically the verification phase and the uncertainty about the system properties, thus improving the design productivity. Simultaneously to PBD, the use of higher abstraction levels has been adopted in order to handle the increasing complexity. In this context, UML [2] has emerged as a language to document and specify embedded systems, and the Model Driven Architecture (MDA) [3] is promoted as a new approach to develop embedded system in a modelcentric way. The MDA approach provides mechanisms to improve the portability, interoperability, maintainability, and reusability of models. MDA relies on guided model transformations starting from high-level models until detailed and platform specific models are obtained. Moving the development focus from code to model suggests the support to a fast design space exploration in the early design steps, where the design effort is now concentrated and modeling decisions can lead to substantially superior improvements. However, at this level software engineers do not have an exact idea of the impact of their decisions on essential issues such as performance, energy, and memory footprint for a given embedded platform. It would be desirable that the designer could evaluate the candidate solutions as early as possible, using the same abstraction level as in the system specification. This work proposes early software design space exploration using an UML-based estimation methodology, where estimates for performance, energy consumption, and memory footprint can be used as a guide to select the most adequate modeling solution. An estimation tool called SPEU (System Properties Estimation with UML) has been developed to implement this methodology. Since estimates are

2 obtained by an analytical method and do not rely on simulation, design space exploration can be quickly performed. Experimental results show that, by using those estimates, the designer can effectively analyze the impact of alternative UML modeling decisions, with a very reasonable accuracy regarding the final system implementation, thus allowing true UML-based design space exploration. Furthermore, results show that, in a platform-based approach, the reuse of information on the costs of pre-defined components leads to substantially better estimates from the UML models. The remaining of this paper is organized as follows. Section 2 discusses related work. The proposed estimation methodology and tool are presented in Section 3. Section 4 illustrates a design space exploration scenario, where four alternative modeling solutions for the same application are compared and estimates are used to select the most adequate solution. Section 5 draws main conclusions and introduces future work. 2 Related work Due to the increasing importance of software development in embedded systems design, several works have discussed various aspects of automatic embedded software modeling, development, and estimation. Li and Malik [4] propose a method to obtain the number of executions for basic blocks of the application code using linear equations. A linear programming method can be used to maximize these equations and obtain the worst-case execution time. However, if only static information is available, relatively large errors in the performance analysis might be expected. Nevertheless, the relative errors allow effective design space exploration. The SPADE methodology for design space exploration of heterogeneous signal processing architectures [5] distinguishes between application and architecture models and uses trace-driven simulation techniques for co-simulation. SPADE yields performance for architecture blocks out of a library of generic building blocks, e.g. in form of processor utilization or the number of read/write stalls on the I/O ports. SPADE raises the abstraction level as our proposal, but the designer must use C++ and an API to specify the system and perform simulations to obtain the estimates. In [6], Smith et al. propose a UML-based quantitative approach to evaluate software systems. This approach focuses on the system s use cases and associated critical scenarios. To build the execution model, a sequence diagram representing a key scenario is translated into an execution graph. Software and computer resource requirements are added to this graph, and the model is solved. A similar approach for performance analysis is presented in [7], which uses the UML-SPT [8] profile. In this approach, desired values for performance measures, such as response time, are manually added to the model. A performance model is then derived, from which the performance analyses are computed by simulation or by analytical techniques. However, performance-related information has to be explicitly specified in UML diagrams. Chen et al. [9] propose a design methodology that uses a UML Platform profile to model both application and platform. In this methodology, the analysis and synthesis tools available in the Metropolis framework are used to support design space exploration. This work, however, is based on a very intrusive methodology, enforcing the designer to use a very particular modeling approach. It also relies on simulation to obtain performance estimations. These previous approaches rely on simulation and lowlevel information to perform design space exploration. They lack an efficient estimation method to obtain performance information such as number of instructions or execution time. In previous UML-based approaches, this information must be manually specified in the models. Moreover, these approaches do not consider important requirements for embedded systems, like memory size and energy consumption. In this context, we propose a multi-variable estimation methodology, allowing a designer to check different system requirements to perform design space exploration. Besides performance, also energy and memory footprint can be estimated. Moreover, our approach is not based on simulation, thus requiring less time to obtain estimates and less information about the system implementation, when compared to other approaches. 3 UML-based estimation methodology We propose a design space exploration methodology for embedded software design, which is based on an analytical UML-based estimation approach that allows the estimation of system properties by mapping the application model into a given pre-characterized platform. The estimation support at UML level requires the definition of three aspects: i) the UML modeling rules; ii) the platform repository model that stores information about reused components; iii) the estimation method that allows the evaluation of high-level models. An estimation tool called SPEU (System Properties Estimation with UML) has been developed to support this methodology. 3.1 Modeling rules UML 2.0 is used to specify the application under development, following the designer s favorite UML modeling

3 methodology. However, some extensions are needed to add design information in order to allow the automatic estimation without compromising the abstraction level. The most important UML diagrams used in our approach are Use Cases, Sequence, Class, and Deployment Diagrams. These diagrams must be decorated with stereotypes and tagged values to increase the information about the model. The application structural model is specified in the Class Diagram. In this diagram, besides the definition of the application classes, the designer must also identify multiplicity for vectors, matrix attributes, and expected multiplicity for class instances. Access methods, such as getter and setter ones, are usually employed in the object-oriented programming approach. To identify these methods the get or set prefix must precede the class field name that has its method invoked. The suffix Content must be used, indicating that the method is accessing the structure contents, like vector or matrix positions. A distinction between these types of methods is important because they have different costs. The application behavioral model is based on Sequence Diagrams and must specify iteration and conditional execution, interaction between objects, and dependences between execution scenarios. Additionally, the number of loop iterations can be specified to improve the estimation. The services required by the application from the platform resource model must be specified in the Sequence Diagram. Figure 1 illustrates how a designer can specify the required services, using a Sequence Diagram for the wheelchair movement actuating scenario. The designer can use UML-SPT stereotypes and platform specific objects, such as a scheduler, as emphasized by the dotted rectangle in Figure 1. Another way to specify required services is an explicit call of a service for a reserved object called platforms, such as the math library services idiv, atan, and sqrt. The invoked method must have the same signature as the service contained in the platform resource model, from which the estimation tool will get the service costs. This form of specification is emphasized by the continuous rectangles in Figure 1. These techniques provide a good way of hiding the platform details from the designer and identifying the reused platform components. Using the Deployment Diagram, the designer must map the software components to available processing units. This mapping is used to identify the processor, its available services, and the costs associated with these services, including the instruction set. Figure 1: Joystick interface reading sequence diagram for movement actuating scenario. 3.2 Platform repository concepts In a PBD context a large number of hardware and software components are provided to be reused during the system development. To evaluate different solutions at a high abstraction level, the reused components must be precharacterized in terms of performance, energy, memory footprint, and others. In our methodology, this information is stored in a platform repository, whose data model is based on the General Resource Model from UML-SPT. Currently, the platform repository contains information on processing units (different versions of a Java microcontroller [10]), scheduling and timer services, a real-time API [11] implemented on top of the Java microcontroller, and a math library. As additional architectural aspects, information is stored about the supported data types and the instruction set, such as size, number of execution cycles, and energy consumption for each instruction. Program and data memory allocation aspects are also considered, including dynamic frame allocation, reserved memory, data type, and method allocation rules. In order to add new IP resources to the platform repository, the IP component provider must attach this architectural information to his/her IPs. After the repository is populated with adequate information on the platform components, the designer just needs to map the application into the platform model. This mapping allows one to evaluate a general application model (Platform Independent Model - PIM), when mapped to a specific system platform that corresponds to the Platform Specific Model (PSM), according to the MDA approach.

4 3.3 Estimation process Our approach allows the estimation of performance, energy consumption, and data and program memory size. These system properties are the basis for other requirement analyses, such as quality of service (QoS) assessment on issues like communication, schedulability, and resource usage. After these estimates, other deeper analyses can be performed, as suggested in [7]. Using a similar approach to [6], the estimation focuses on use cases and scenarios that describe them, since they provide the basics for the object-oriented methodology. The estimation methodology flow is illustrated in Figure 2 and described in the sequence. Fig. 2: Estimation methodology flow. 1. Select use cases and scenarios: Use cases and scenarios that are critical to meet the application requirements are identified. Therefore, only a subset of Sequence Diagrams will be used in the estimation process. This step is based on the designer s experience and must be a risk-driven process. 2. Increase model information: If needed, the designer can add more information about the system, such as the number of executions for a scenario, the best and worst-case scenarios, or loop bounds. 3. Application Analysis: After the two previous manual steps, the application model is automatically analyzed in terms of structure and behavior. Structural analysis is performed using class diagrams, such that information about classes, objects, number of methods, and other are extracted. The behavioural analysis is based on the sequence diagrams and captures information about interaction between objects, dependences between scenarios, loop and conditional executions, and references to reused components and its services. By the end of this analysis, a platform-independent signature is generated, containing information on structure and a pseudo-trace. The reused platform services are also included in the pseudo-trace as symbolic instructions (high-level, platform-independent instructions), and their costs are extracted from the platform repository after the application-mapping step. The pseudo-trace, expressed in an XML format, corresponds to the model behavior and is described as an oriented graph, where each node is a symbolic instruction and edges indicate the next symbolic instructions. Before the estimation process, the symbolic instruction set provided by the SPEU tool must be mapped to the real instruction set of processors that are available in the platform repository. This mapping is stored in another repository, to keep the platform repository independent from the SPEU tool. For processors available in our platform repository, the SPEU tool already contains this mapping. Other symbolic-real instruction mappings can be provided by the SPEU developers, by a platform provider, or by the designer, with help from the SPEU tool. 4. Application Mapping: The application signature must be mapped to platform components in order that cost estimates may be obtained. This mapping uses Deployment Diagrams and references to reused components indicated in the Sequence Diagrams. After the mapping, a new signature is generated. It contains the costs of symbolic instructions, extracted from their mapping into a processor instruction set. 5. Estimation: The estimates of memory, performance, and energy are computed for each scenario. The SPEU tool can operate in two modes, depending whether the designer knows the best and worst-case (BC and WC) execution paths or not. In the first case, the scenarios are explicitly modeled following the BC and WC, so the SPEU estimates just add symbolic instruction costs for memory, performance, and energy. In the second mode, the SPEU tool can estimate the BC and WC scenarios by handling the estimation as an optimization problem. The tool uses an ILP (Integer Linear Programming) formulation to analyze the pseudo-trace (instruction flow graph), as proposed in [7]. This estimation is static, and simulation is not required. Using ILP, SPEU estimates performance and energy. The data memory is estimated after the results of ILP, when BC and WC execution paths are already known. To estimate the data memory, all preallocated filed and static objects are analyzed in the application s Class Diagram and in the reused services. After that, the maximum dynamic allocation cost for stacking of Java frames is extracted from the pseudo-trace and added to the pre-allocated data memory values. In both SPEU modes, the program memory is estimated by listing the instructions for each method and service (but avoiding the inclusion of repeated methods). After that, the program memory costs for all instructions and services are added. 6. Feedback: The estimation results can be annotated back into the model and used to explore other candidate solutions.

5 4 Case study: Early SW Design Exploration This section presents a design space exploration scenario, where four alternative modeling solutions for the same application are proposed. After that, the estimation results extracted from the UML models are used to compare and select the most adequate solution. Moreover, every candidate solution was implemented on the target platform, and the values estimated by SPEU were compared to the results obtained through cycle-accurate simulation using a power simulator [12]. For each solution, a synthesis tool [10] was used to obtain the hardware description and the Java byte codes for the application. The case study consists of a real-time embedded system dedicated to the automation and control of an intelligent wheelchair that helps people with special needs. This wheelchair has several functions, such as movement control, collision avoidance, navigation, target pursuit, battery control, system supervision, task scheduling, and automatic movement. This experiment will focus only on the wheelchair movement control use case, which is essential to the system and incorporates critical hard real-time constraints. To implement the movement control, several components provided by the platform can be reused, such as a mathematical library to solve the control equations, a realtime Java API, and RTOS components [11]. Consequently, the platform aspects considered in the estimation methodology also take into account costs related to the real-time scheduler. Furthermore, the application was mapped to only one processing unit, a multi-cycle-rtc FemtoJava [11], in order to concentrate the experiments on the design space that can be explored when a designer develops different UML modeling solutions. The movement controller use case has two responsibilities: sensing the movement, thus getting information about the speed and angle, and actuating in the wheelchair motors. To obtain the values for speed and angle, two sensors are used, one for each wheel. The sensoring function reads the values from the sensors and converts them into speed and angle, which are required for other components such as the display output interface and the navigation system. To actuate, the system receives values from a joystick or a vocal command interface and writes the values to the actuator interface. Values read from the joystick can be directly written to the actuator; or they may be converted into a standardized representation in order to use the movement controller component together with a standard input interface. These two alternatives will be explored in different modeling solutions. Another point to be explored is the model flexibility in terms of number of threads, object encapsulation, and interaction between objects. The first modeling solution converts the joystick values into the standard representation. This solution uses finegrain capsules, i.e., the system responsibilities are distributed among a larger number of threads and objects. This modeling approach is flexible and allows high software reuse. In this way, it is easy to extend and insert new components into the system. This solution uses four threads, and each one was modeled as a sequence diagram. Two threads implement the movement actuating function, while the other ones implement the movement sensoring function. The values obtained by SPEU for the movement control use case, according to the first modeling solution, are presented in Table 1. The table also shows exact values obtained after synthesis and cycle-accurate simulation, as well as the relative error of the estimated values against the exact ones. In this table, memory values are represented in bytes and performance ones in cycles. Energy consumption is evaluated in gate switching activity, as in [12,13]. Both performance and energy were estimated in terms of BC and WC executions. First Solution Property SPEU Exact Error (%) Program memory 5,460 6, BC Data memory WC Data memory BC Performance 27,383 28,588-04,21 WC Performance 40,106 41, BC Energy 38,723,290 40,569, WC Energy 56,477,333 58,863, Table 1: Estimation results for the first solution. An error of 12.37% in the estimated data memory size was found, because the dynamic memory allocation for operations in the stack memory is not estimated for all instructions. The BC and WC estimates for data memory were the same, since the maximum value of dynamic allocation was found in the scheduler that must be considered in both cases. This happened also for the other modeling solutions. Besides, there is an error of 12.61% in the estimated value for program memory, because in some cases an algorithm can be hidden in the method body. This occurs when the designer does not express the contents of a method body, which can be a complex algorithm that cannot be easily expressed in UML Sequence Diagrams. This also occurs for some instructions that implement a method but cannot be extracted from the UML diagrams, such assignments and arithmetic instructions. However, it is important to highlight that the behavior that is more relevant for the performance estimation, such as method invocations, memory accesses, conditional executions, interaction executions, and reused services, are all captured. As a consequence of the errors on the number of executed instructions, there are errors also in the estimated values for performance and energy.

6 These results demonstrate that at a very high abstraction level it is already possible to estimate the system properties with an error less than 15%. The estimates are highly correlated to the results obtained in the final implementation. Improvements in the estimates can be achieved when more pre-characterized components are reused in the application, since the costs of their functions are already known. Since estimates do not depend on simulation, they support a very fast design space exploration at a very high abstraction level, with an acceptable accuracy. The additional modeling solutions demonstrate that there is a very large design space to be explored, when the designer considers different alternatives for encapsulating functions into threads and deciding on the number of threads and on the way they interact. The estimation methodology supports a very fast and reasonably accurate exploration of the impact of these alternatives on the final system implementation. The second modeling solution was developed as a lightweight one. It uses only static objects and does not use threads to implement the movement control. Instead, it directly uses the interrupt control system. The movementactuating scenario in the second solution has a lower encapsulation of functions than the first solution. The class Navigator has been removed, and its responsibilities were incorporated into the main class MovementController. The SensorDriver class is now responsible for reading both wheel sensors, while in the first solution we had two objects of the same class, one for each wheel, so that the number of objects has been reduced. Moreover, the second solution also converts the joystick values into a standard representation. Table 2 shows the estimated (using SPEU) and exact values (after synthesis and cycle-accurate simulation) obtained for the second solution, measured as a percentage of the values from the first solution. The second solution is better in all six cost metrics, by large differences. Although the second solution is faster, saves more energy, and presents lower memory footprint, it is very limited in terms of flexibility, due to its static design and its low degree of encapsulation. As the first solution has higher costs and the second one is static and inflexible, we designed a third solution to obtain intermediate results in terms of performance and flexibility. This third solution uses the same number of classes and objects as the first one. However, it uses only one thread for executing both the actuating and sensoring functions. A reduced encapsulation allows some objects to directly interact with other ones, as in the second solution. We also kept the conversion of the joystick values into a standard representation. Second x First Solution Property Estimated Exact Program memory % % BC Data memory % % WC Data memory % % BC Performance % % WC Performance % % BC Energy % % WC Energy % % Table 2: Results for the second solution. We obtained better performance results than in the first solution, due to the smaller number of threads and objects, thus reducing the platform scheduling overhead and the interaction between objects. But the second solution is still much better than the third one, due to the scheduling overhead and dynamic memory allocation, as shown in Table 3. However, in the third solution new components can be deployed more easily than in the second one, because it uses dynamic allocation of objects and a scheduler, making it easier to expand the system or to change the components configuration. Third x First Third x Second Property Estimated Exact Estimated Exact Program memory % % % % BC Data memory % % 22.53% 15.86% WC Data memory % % 22.53% 15.86% BC Performance % % % % WC Performance % % 47.60% 50.27% BC Energy % % % % WC Energy % % 49.81% 50.40% Table 3: Results for the third solution. In this context, the fourth solution was designed using an architecture that is similar to the third one. However, differently of the three previous alternatives, joystick values are not converted into a standard representation in the actuating scenario. The fourth solution presents similar encapsulation as the third solution, with only one thread, and the same extended SensorDrive class as in the second solution. Moreover, in the movement sensoring scenario a more efficient algorithm was used, avoiding the computation of the angle and speed values when this is not required. With these changes, some of the flexibility presented by the first and third solutions was lost, in order to reach a performance closer to the second solution. Table 4 presents results for the fourth solution, when compared to the second and third ones. The fourth solution presents improvements around 11% in the best-case execution and 33% in the worst-case execution, when compared to the third solution. However, the second solution still

7 presents best performance in the best-case execution, because it does not have the scheduling overhead. Fourth x Second Fourth x Third Property Estimated Exact Estimated Exact Program memory % % -3.48% -2.19% BC Data memory 24.07% 13.17% -1.95% -2.32% WC Data memory 24.07% 13.17% -1.95% -2.32% BC Performance % % % % WC Performance -1.87% 0.60% % % BC Energy % % % % WC Energy -0.14% 1.03% % % Table 4: Results for the fourth solution. The SPEU tool provides quantitative information about physical metrics that can be used by the designer in the development process already in its initial stages. Observing the estimates provided by SPEU and the system requirements, the designer can explore the design space using the estimates as a guide to select the most adequate modeling solution. 5 Conclusions and future work In this paper, we have presented an approach for early and fast embedded software design space exploration using a UML-based estimation tool called SPEU. This tool provides analytical estimates about physical system properties (memory footprint, energy consumption, and performance) directly obtained from the UML model, with reasonable accuracy, thus allowing a designer to select the most adequate modeling solution for further detailed implementation and analysis, without depending on costly synthesis-andsimulation evaluation cycles. Selecting the best modeling solution already at a very high abstraction level, for instance using UML for modeling, might result in significant gains in terms of physical characteristics. Moreover, the high-level exploration of candidate solutions may avoid software architectural problems, since the application analysis already at UML level can indicate problems when the cost to fix them is much smaller. These facts reinforce the need for an early design space exploration environment. Future work will address the further integration of SPEU with the MDA concepts and the development of a tool that fully supports an MDA approach. Moreover, a complete approach for better representing the platform and its services is being defined in order to facilitate the system modeling. More experiments including different embedded system application domains must be performed. References [1] Sangiovanni-Vinventelli A. et al.: Benefits and Challenges for Platform Based Design. Design Automation Conference, San Diego, June Proceedings, ACM, [2] Object Management Group (OMG). Unified Modeling language version 2.0 UML, OMG document n. formal/ [3] Mraidha C.; Robert S.; Gérard S.; Servat D.: MDA Platform for Complex Embedded System Development. In Proceedings of Design Methods and Application for Distributed Embedded Systems, IFIP TC-10 Work Conference on DIPES, [4] Li, Yau-Tsun Steven; Malik, Sharad: Performance Analysis of Embedded Software Using Implicit Path Enumeration. In Design Automation Conference (DAC). p ACM Press, [5] Lieverse, P.; Wolf, P.V.; Vissers, K.; Deprettere, Ed. A Methodology for Architecture Exploration of Heterogeneous Signal Processing Systems. Journal of VLSI Signal Processing Systems, v.29 n.3, p , November [6] Smith, C. U.; Williams, L. G.: Software Performance Engineering. In: UML for Real: Design of Embedded Real- Time Systems. Kluwer Academic Publishers, [7] Petriu, D.C.; Woodside, C. M.: Performance analysis with UML: layered queueing models from the performance profile. In: UML for Real: Design of Embedded Real-Time Systems. Kluwer Academic Publishers, [8] Object Management Group (OMG). UML Profile for Schedulability, Performance, and Time, OMG document n. ptc/ [9] Chen, R.; Sgroi, M.; Martin, G.; Lavagno, L.; Sangiovanni- Vicentelli, A.; Rabaey, J.: Embedded System Design Using UML and Platforms. In Proceedings of Forum on Specification and Design Languages (FDL 2002), September, [10] Ito, S.; Carro, L.; Jacobi, R.: Making Java Work for Microcontroller Applications. In: IEEE Design & Test of Computers. vol. 18, n. 5, Sept-Oct 2001 [11] Wehrmeister, M. A.; Becker, L. B.; Wagner, F. R.; Pereira, C. E: On Object-Oriented Platform-based Design Process for Embedded Real-Time Systems. Proceedings of IEEE International Symposium on Object-oriented Real-time distributed Computing, [12] Beck, A. C.; Mattos, J. C. B.; Wagner, F. R.; Carro, L. "CACO-PS: A General Purpose Cycle-Accurate Configurable Power Simulator". In: SBCCI'03 16th Symposium on Integrated Circuits and Systems Design. São Paulo, Brazil, September 2003 [13] Talarico, C.; Rozenblit, J. W.; Malhotra, V.; Stritter, A.: A New Framework for Power Estimation of Embedded Systems. IEEE Computer. v. 38, n. 2. p , 2005.

Using UML as Front-end for Heterogeneous Software Code Generation Strategies

Using UML as Front-end for Heterogeneous Software Code Generation Strategies Using UML as Front-end for Heterogeneous Software Code Generation Strategies Lisane B. Brisolara, Marcio F.S. Oliveira, Ricardo Redin, Luis C. Lamb, Luigi Carro, Flavio Wagner {lisane, mfsoliveira, rmredin,

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

Hardware support in a middleware for distributed and real-time embedded applications

Hardware support in a middleware for distributed and real-time embedded applications Hardware support in a middleware for distributed and real-time embedded applications Elias T. Silva Jr 1,2, Flávio R. Wagner 1, Edison P. Freitas 1, Leonardo Kunz 1, Carlos E. Pereira 1 1 PPGC Instituto

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas Reference: egos-stu-rts-rp-1002 Page 1/7 Authors: Andrey Sadovykh (SOFTEAM) Contributors: Tom Ritter, Andreas Hoffmann, Jürgen Großmann (FHG), Alexander Vankov, Oleg Estekhin (GTI6) Visas Surname - Name

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

BISTed cores and Test Time Minimization in NOC-based Systems

BISTed cores and Test Time Minimization in NOC-based Systems BISTed cores and Test Time Minimization in NOC-based Systems Érika Cota 1 Luigi Carro 1,2 Flávio Wagner 1 Marcelo Lubaszewski 1,2 1 PPGC - Instituto de Informática 2 PPGEE - Depto. Engenharia Elétrica

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

Introduction to Control Systems Design

Introduction to Control Systems Design Experiment One Introduction to Control Systems Design Control Systems Laboratory Dr. Zaer Abo Hammour Dr. Zaer Abo Hammour Control Systems Laboratory 1.1 Control System Design The design of control systems

More information

Role of Executable UML in MDA. Presented by Shahid Alam

Role of Executable UML in MDA. Presented by Shahid Alam Role of Executable UML in MDA Presented by Shahid Alam salam3@connect.carleton.ca 12/2005 Outline Introduction to MDA Executable UML Does it apply to MDA Model Compilers Conclusion Model Driven Architecture

More information

DEVELOPMENT OF DISTRIBUTED AUTOMOTIVE SOFTWARE The DaVinci Methodology

DEVELOPMENT OF DISTRIBUTED AUTOMOTIVE SOFTWARE The DaVinci Methodology DEVELOPMENT OF DISTRIBUTED AUTOMOTIVE SOFTWARE The DaVinci Methodology Dr. Uwe Honekamp, Matthias Wernicke Vector Informatik GmbH, Dep. PND - Tools for Networks and distributed Systems Abstract: The software

More information

USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS

USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS Edison P. Freitas 1, Marco A. Wehrmeister 1,3, Carlos E. Pereira 1,2, Flavio R. Wagner 1, Elias T.

More information

Applying MDA Modeling to Development of Real-Time Software

Applying MDA Modeling to Development of Real-Time Software Applying MDA Modeling to Development of Real-Time Software Using a model-driven architecture approach to developing real-time systems offers developers enhanced communication of the requirements from domain

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD

ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD Oliveira, L.; Neves, B; Carro, L Instituto de Informática Universidade Federal do Rio Grande do Sul {loliveira,bsneves,carro}@inf.ufrgs.br

More information

Properties Preservation in Distributed Execution of Petri Nets Models

Properties Preservation in Distributed Execution of Petri Nets Models Properties Preservation in Distributed Execution of Petri Nets Models Anikó Costa 1, Paulo Barbosa 2, Luís Gomes 1, Franklin Ramalho 2, Jorge Figueiredo 2, and Antônio Junior 2 1 Universidade Nova de Lisboa,

More information

THE IMPLICATIONS OF REAL-TIME BEHAVIOR IN NETWORKS-ON-CHIP ARCHITECTURES

THE IMPLICATIONS OF REAL-TIME BEHAVIOR IN NETWORKS-ON-CHIP ARCHITECTURES THE IMPLICATIONS OF REAL-TIME BEHAVIOR IN NETWORKS-ON-CHIP ARCHITECTURES Edgard de Faria Corrêa 1,2, Eduardo Wisnieski Basso 1, Gustavo Reis Wilke 1, Flávio Rech Wagner 1, Luigi Carro 1 1 Instituto de

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

An MDE-based approach for reconfigurable DRE systems

An MDE-based approach for reconfigurable DRE systems 2012 IEEE 21st International WETICE An MDE-based approach for reconfigurable DRE systems Fatma Krichen 1,2, Amal Ghorbel 2, Brahim Hamid 1, and Bechir Zalila 2 1 IRIT, University of Toulouse, France Email:

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

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

Web Services Annotation and Reasoning

Web Services Annotation and Reasoning Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate

More information

Remotely Sensed Image Processing Service Automatic Composition

Remotely Sensed Image Processing Service Automatic Composition Remotely Sensed Image Processing Service Automatic Composition Xiaoxia Yang Supervised by Qing Zhu State Key Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing, Wuhan University

More information

MDA PLATFORM FOR COMPLEX EMBEDDED SYSTEMS DEVELOPMENT

MDA PLATFORM FOR COMPLEX EMBEDDED SYSTEMS DEVELOPMENT MDA PLATFORM FOR COMPLEX EMBEDDED SYSTEMS DEVELOPMENT Chokri Mraidha, Sylvain Robert, Sébastien Gérard, David Servat CEA LIST CEA SACLAY F-91191 Gif-sur-Yvette Cedex France Phone : +33 169 085 039 {chokri.mraidha;

More information

TUML: A Method for Modelling Temporal Information Systems

TUML: A Method for Modelling Temporal Information Systems TUML: A Method for Modelling Temporal Information Systems 2 Marianthi Svinterikou 1, Babis Theodoulidis 2 1 Intrasoft, GIS Department, Adrianiou 2, 11525 Athens, Greece MSSvin@tee.gr UMIST, Department

More information

Power Efficient Arithmetic Operand Encoding

Power Efficient Arithmetic Operand Encoding Power Efficient Arithmetic Operand Encoding Eduardo Costa, Sergio Bampi José Monteiro UFRGS IST/INESC P. Alegre, Brazil Lisboa, Portugal ecosta,bampi@inf.ufrgs.br jcm@algos.inesc.pt Abstract This paper

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

Quality-of-Service Modeling and Analysis of Dependable Aplication Models

Quality-of-Service Modeling and Analysis of Dependable Aplication Models Quality-of-Service Modeling and Analysis of Dependable Aplication Models András Balogh András Pataricza BUTE-DMIS-FTSRG http://www.decos.at/ 2 Outline Introduction Target application domains Application

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

Worst Case Execution Time Analysis for Synthesized Hardware

Worst Case Execution Time Analysis for Synthesized Hardware Worst Case Execution Time Analysis for Synthesized Hardware Jun-hee Yoo ihavnoid@poppy.snu.ac.kr Seoul National University, Seoul, Republic of Korea Xingguang Feng fengxg@poppy.snu.ac.kr Seoul National

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance Dr. Richard Mark Soley Chairman and CEO Object Management Group, Inc. With thanks to the OMG Systems Assurance Domain Task

More information

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S. 10 Steps to Building an Architecture for Space Surveillance Projects Eric A. Barnhart, M.S. Eric.Barnhart@harris.com Howard D. Gans, Ph.D. Howard.Gans@harris.com Harris Corporation, Space and Intelligence

More information

A Component Framework for HPC Applications

A Component Framework for HPC Applications A Component Framework for HPC Applications Nathalie Furmento, Anthony Mayer, Stephen McGough, Steven Newhouse, and John Darlington Parallel Software Group, Department of Computing, Imperial College of

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

Certification Authorities Software Team (CAST) Position Paper CAST-25

Certification Authorities Software Team (CAST) Position Paper CAST-25 Certification Authorities Software Team (CAST) Position Paper CAST-25 CONSIDERATIONS WHEN USING A QUALIFIABLE DEVELOPMENT ENVIRONMENT (QDE) IN CERTIFICATION PROJECTS COMPLETED SEPTEMBER 2005 (Rev 0) NOTE:

More information

Development of E-Institute Management System Based on Integrated SSH Framework

Development of E-Institute Management System Based on Integrated SSH Framework Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

Object Oriented Methods : Deeper Look Lecture Three

Object Oriented Methods : Deeper Look Lecture Three University of Babylon Collage of Computer Assistant Lecturer : Wadhah R. Baiee Experience has shown that the best way to develop and maintain a large program is to construct it from small, simple pieces,

More information

A Transformation Tool for ODE Based Models

A Transformation Tool for ODE Based Models A Transformation Tool for ODE Based Models Ciro B. Barbosa, Rodrigo W. dos Santos, Ronan M. Amorim, Leandro N. Ciuffo, Fairus Manfroi, Rafael S. Oliveira, and Fernando O. Campos FISIOCOMP, Laboratory of

More information

Software Architecture Recovery based on Dynamic Analysis

Software Architecture Recovery based on Dynamic Analysis Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos 1,2, Cláudia Werner 1 1 COPPE/UFRJ System Engineering and Computer Science Program P.O. Box 68511 ZIP 21945-970 Rio de Janeiro

More information

A Data Collecting and Caching Mechanism for Gateway Middleware in the Web of Things

A Data Collecting and Caching Mechanism for Gateway Middleware in the Web of Things A Data Collecting and Caching Mechanism for Gateway Middleware in the Web of Things Xuchao Chang, Chunhong Zhang, Li Sun Beijing University of Posts and Telecommunications, Beijing, 100876, China E-mail:

More information

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105 European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105 A Holistic Approach in the Development and Deployment of WSN-based

More information

Toward Language Independent Worst-Case Execution Time Calculation

Toward Language Independent Worst-Case Execution Time Calculation 10 Toward Language Independent Worst-Case Execution Time Calculation GORDANA RAKIĆ and ZORAN BUDIMAC, Faculty of Science, University of Novi Sad Set of Software Quality Static Analyzers (SSQSA) is a set

More information

A Feasibility Study for Methods of Effective Memoization Optimization

A Feasibility Study for Methods of Effective Memoization Optimization A Feasibility Study for Methods of Effective Memoization Optimization Daniel Mock October 2018 Abstract Traditionally, memoization is a compiler optimization that is applied to regions of code with few

More information

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd Don t Be the Developer Whose Rocket Crashes on Lift off 2015 LDRA Ltd Cost of Software Defects Consider the European Space Agency s Ariane 5 flight 501 on Tuesday, June 4 1996 Due to an error in the software

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

MDA Driven xuml Plug-in for JAVA

MDA Driven xuml Plug-in for JAVA 2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja

More information

Workpackage WP2.5 Platform System Architecture. Frank Badstübner Ralf Ködel Wilhelm Maurer Martin Kunert F. Giesemann, G. Paya Vaya, H.

Workpackage WP2.5 Platform System Architecture. Frank Badstübner Ralf Ködel Wilhelm Maurer Martin Kunert F. Giesemann, G. Paya Vaya, H. Guidelines for application Deliverable n. D25.6 Guidelines for application Sub Project SP2 ADAS development platform Workpackage WP2.5 Platform System Architecture Tasks T2.5.4 Guidelines for applications

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

APPLYING JAVA ON SINGLE-CHIP MULTIPROCESSORS. Antonio C. S. Beck F., Júlio C. B. Mattos, Luigi Carro. {caco, julius, carro

APPLYING JAVA ON SINGLE-CHIP MULTIPROCESSORS. Antonio C. S. Beck F., Júlio C. B. Mattos, Luigi Carro. {caco, julius, carro APPLYING JAVA ON SINGLE-CHIP MULTIPROCESSORS Antonio C. S. Beck F., Júlio C. B. Mattos, Luigi Carro Instituto de Informática Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil {caco, julius,

More information

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks RESEARCH ARTICLE An Industrial Employee Development Application Protocol Using Wireless Sensor Networks 1 N.Roja Ramani, 2 A.Stenila 1,2 Asst.professor, Dept.of.Computer Application, Annai Vailankanni

More information

Performance and Energy Evaluation of Memory Organizations in NoC-Based MPSoCs under Latency and Task Migration

Performance and Energy Evaluation of Memory Organizations in NoC-Based MPSoCs under Latency and Task Migration Performance and Energy Evaluation of Memory Organizations in NoC-Based MPSoCs under Latency and Task Migration Gustavo Girão, Daniel Barcelos, and Flávio Rech Wagner Federal University of Rio Grande do

More information

Model-Solver Integration in Decision Support Systems: A Web Services Approach

Model-Solver Integration in Decision Support Systems: A Web Services Approach Model-Solver Integration in Decision Support Systems: A Web Services Approach Keun-Woo Lee a, *, Soon-Young Huh a a Graduate School of Management, Korea Advanced Institute of Science and Technology 207-43

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

Web Service Security Method To SOA Development

Web Service Security Method To SOA Development Web Service Security Method To SOA Development Nafise Fareghzadeh Abstract Web services provide significant new benefits for SOAbased applications, but they also expose significant new security risks.

More information

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals Performance Evaluations of a Multithreaded Java Microcontroller J. Kreuzinger, M. Pfeer A. Schulz, Th. Ungerer Institute for Computer Design and Fault Tolerance University of Karlsruhe, Germany U. Brinkschulte,

More information

UML Framework for Intensive Signal Processing Embedded Applications

UML Framework for Intensive Signal Processing Embedded Applications LIFL 2002-n 07 Juillet 2002 Publication LIFL 2002-n 07 UML Framework for Intensive Signal Processing Embedded Applications Cédric Dumoulin, Jean-Luc Dekeyser Laboratoire d'informatique Fondamentale de

More information

UML MODELLING OF DESIGN PATTERNS FOR WIRELESS SENSOR NETWORKS

UML MODELLING OF DESIGN PATTERNS FOR WIRELESS SENSOR NETWORKS UML MODELLING OF DESIGN PATTERNS FOR WIRELESS SENSOR NETWORKS John K. Jacoub, Ramiro Liscano, Jeremy S. Bradbury and Jared Fisher University of Ontario Institute of Technology, Oshawa, Onatrio, Canada

More information

Integration With the Business Modeler

Integration With the Business Modeler Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design

More information

Execution of UML models Present and Future of Research and Practice

Execution of UML models Present and Future of Research and Practice Execution of UML models Present and Future of Research and Practice Federico Ciccozzi, Ivano Malavolta, Bran Selic Mälardalen University, Vrije University, Malina Software Corp. Ericsson Modeling Days

More information

VERY LOW POWER MICROPROCESSOR CELL

VERY LOW POWER MICROPROCESSOR CELL VERY LOW POWER MICROPROCESSOR CELL Puneet Gulati 1, Praveen Rohilla 2 1, 2 Computer Science, Dronacharya College Of Engineering, Gurgaon, MDU, (India) ABSTRACT We describe the development and test of a

More information

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is

More information

Crisis and paradox in distributed-systems development

Crisis and paradox in distributed-systems development IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 2005 Published by the IEEE Computer Society Vol. 6, No. 3; March 2005 Department Editor: Olivier Marin, http://www.cs.vu.nl/~omarin/, Laboratoire d'informatique

More information

Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm

Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm Alessandro Biondi and Marco Di Natale Scuola Superiore Sant Anna, Pisa, Italy Introduction The introduction of

More information

A Model-Driven Approach for the Validation of RTOS Constraints in Real-time Application Models

A Model-Driven Approach for the Validation of RTOS Constraints in Real-time Application Models A Model-Driven Approach for the Validation of RTOS Constraints in Real-time Application Models Wassim El Hajj Chehade 1 and Riham Abdel Kader 2 1,2 Mathematics and Computer Science Department, Beirut Arab

More information

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components Proceedings of the 6th WSEAS Int. Conf. on Software Engineering, Parallel and Distributed Systems, Corfu Island, Greece, February 16-19, 2007 24 Empirical Evaluation and Critical Review of Complexity Metrics

More information

Industrial Ethernet for Distributed Control in Factory Automation

Industrial Ethernet for Distributed Control in Factory Automation 1 Industrial Ethernet for Distributed Control in Factory Automation Alexandre Baratella Lugli, Lúcia R. H. Rodrigues Franco. Abstract The manuscript aims to propose a new way to accomplish the fieldbus

More information

Who Ate My Battery? Why Free and Open Source Systems Are Solving the Problem of Excessive Energy Consumption

Who Ate My Battery? Why Free and Open Source Systems Are Solving the Problem of Excessive Energy Consumption Who Ate My Battery? Why Free and Open Source Systems Are Solving the Problem of Excessive Energy Consumption Jeremy Bennett, Embecosm Kerstin Eder, Computer Science, University of Bristol Why? Ericsson

More information

Choosing IP-XACT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms

Choosing IP-XACT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms hoosing IP-XAT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms Emmanuel Vaumorin (Magillem Design Services) Motivation New needs

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

UML for SOC Design GRANT MARTIN WOLFGANG MÜLLER. Edited by. Tensilica Inc., Santa Clara, CA, USA. and. University of Paderborn, Germany

UML for SOC Design GRANT MARTIN WOLFGANG MÜLLER. Edited by. Tensilica Inc., Santa Clara, CA, USA. and. University of Paderborn, Germany UML FOR SOC DESIGN UML for SOC Design Edited by GRANT MARTIN Tensilica Inc., Santa Clara, CA, USA and WOLFGANG MÜLLER University of Paderborn, Germany A C.I.P. Catalogue record for this book is available

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Software Architecture

Software Architecture Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

Experimental Extensions to RSVP Remote Client and One-Pass Signalling

Experimental Extensions to RSVP Remote Client and One-Pass Signalling 1 Experimental Extensions to RSVP Remote Client and One-Pass Signalling Industrial Process and System Communications, Darmstadt University of Technology Merckstr. 25 D-64283 Darmstadt Germany Martin.Karsten@KOM.tu-darmstadt.de

More information

Verification, Validation, and Test with Model-Based Design

Verification, Validation, and Test with Model-Based Design 2008-01-2709 Verification, Validation, and Test with Model-Based Design Copyright 2008 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Mirko Conrad The MathWorks, Inc. ABSTRACT Model-Based Design with

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

Class-Component Testability Analysis

Class-Component Testability Analysis Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java

Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java Marco Aurélio Wehrmeister 1, Carlos Eduardo Pereira 1,2, Leandro Buss Becker 3

More information

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

Virtual Interaction System Based on Optical Capture

Virtual Interaction System Based on Optical Capture Sensors & Transducers 203 by IFSA http://www.sensorsportal.com Virtual Interaction System Based on Optical Capture Peng CHEN, 2 Xiaoyang ZHOU, 3 Jianguang LI, Peijun WANG School of Mechanical Engineering,

More information

Fast Software-Level Power Estimation for Design Space Exploration

Fast Software-Level Power Estimation for Design Space Exploration Fast Software-Level Power Estimation for Design Space Exploration Carlo Brandolese *, William Fornaciari *, Fabio Salice *, Donatella Sciuto Politecnico di Milano, DEI, Piazza L. Da Vinci, 32, 20133 Milano

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

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

Model-Driven *: Beyond Code Generation

Model-Driven *: Beyond Code Generation Model-Driven *: Beyond Code Generation John Hogg COO, Zeligsoft 2004-05-20 Version 1.0 Introduction MDA is more than a CIM, a PIM and a PSM MDA is a pattern MDA is a philosophy work at the model level

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

MARTE Based Modeling Tools Usage Scenarios in Avionics Software Development Workflows

MARTE Based Modeling Tools Usage Scenarios in Avionics Software Development Workflows MARTE Based Modeling Tools Usage Scenarios in Avionics Software Development Workflows Alessandra Bagnato, Stefano Genolini Txt e-solutions FMCO 2010, Graz, 29 November 2010 Overview MADES Project and MADES

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

User Control Mechanisms for Privacy Protection Should Go Hand in Hand with Privacy-Consequence Information: The Case of Smartphone Apps

User Control Mechanisms for Privacy Protection Should Go Hand in Hand with Privacy-Consequence Information: The Case of Smartphone Apps User Control Mechanisms for Privacy Protection Should Go Hand in Hand with Privacy-Consequence Information: The Case of Smartphone Apps Position Paper Gökhan Bal, Kai Rannenberg Goethe University Frankfurt

More information

KDD, SEMMA AND CRISP-DM: A PARALLEL OVERVIEW. Ana Azevedo and M.F. Santos

KDD, SEMMA AND CRISP-DM: A PARALLEL OVERVIEW. Ana Azevedo and M.F. Santos KDD, SEMMA AND CRISP-DM: A PARALLEL OVERVIEW Ana Azevedo and M.F. Santos ABSTRACT In the last years there has been a huge growth and consolidation of the Data Mining field. Some efforts are being done

More information

Analysis of Sorting as a Streaming Application

Analysis of Sorting as a Streaming Application 1 of 10 Analysis of Sorting as a Streaming Application Greg Galloway, ggalloway@wustl.edu (A class project report written under the guidance of Prof. Raj Jain) Download Abstract Expressing concurrency

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

A Comparison of Maps Application Programming Interfaces

A Comparison of Maps Application Programming Interfaces A Comparison of Maps Application Programming Interfaces Ana Isabel Fernandes, Miguel Goulão, Armanda Rodrigues CITI/FCT, Universidade Nova de Lisboa Quinta da Torre, 2829-516 CAPARICA, PORTUGAL ai.fernandes@campus.fct.unl.pt,

More information

UML Profile for MARTE: Time Model and CCSL

UML Profile for MARTE: Time Model and CCSL UML Profile for MARTE: Time Model and CCSL Frédéric Mallet 1 Université Nice Sophia Antipolis, Aoste team INRIA/I3S, Sophia Antipolis, France Frederic.Mallet@unice.fr Abstract. This 90 minutes tutorial

More information

Intelligent Risk Identification and Analysis in IT Network Systems

Intelligent Risk Identification and Analysis in IT Network Systems Intelligent Risk Identification and Analysis in IT Network Systems Masoud Mohammadian University of Canberra, Faculty of Information Sciences and Engineering, Canberra, ACT 2616, Australia masoud.mohammadian@canberra.edu.au

More information