Component-Oriented Engineering
|
|
|
- Martin Wilkins
- 10 years ago
- Views:
Transcription
1 Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008
2
3 Component-Oriented Engineering the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Improving embedded software development productivity is rapidly becoming the overwhelming mantra of product companies across a wide range of industries. The increasing importance of software to the value of products in such diverse industries as automotive and consumer electronics has lead to a huge growth in embedded software, as well as a corresponding growth in delivery and quality challenges. Recognizing the need for new software development approaches to successfully address these growing challenges, industry is increasingly looking to modeling and software component technologies to help them succeed. Industry specific component frameworks such as the Software Communications Architecture (SCA) for software defined radios, and AUTOSAR (AUTomotive Open System ARchitecture) for the automotive industry, are being promoted as a means of moving towards an integration model of development in order to improve productivity and quality. Within this context, applications may be largely assembled from pre-existing components, rather than being developed each time from first principles. Model Driven Development (MDD) and Component-Based Development (CBD) have promised such a paradigm for some time, but have not fully delivered on that promise. This paper cites some reasons for the gap within the embedded software domain and proposes a new approach to help organizations realize the promise.. 1 Background Component-Based Development (CBD) is now well established in the IT industry. Leading componentbased technologies include J2EE, Microsoft.NET and IBM Websphere. A component is an encapsulated unit of functionality with a well-defined interface that allows it to connect to other components, and be independently deployed. Component-based applications are defined by assembling components. The main benefits associated with component-based technologies include: reduced system development time and cost, enhanced quality, and reduced system evolution and maintenance cost. Over the past decade as standard component-based specifications have been developed, the importance of CBD has grown rapidly in the embedded system industry. Examples include both industry independent specifications such as the CORBA Component Model (CCM) and OSGi, as well as domain-specific specifications such as the AUTomotive Open System ARchitecture (AUTOSAR) in the automotive industry and the Software Communications Architecture (SCA) in the Software Defined Radio (SDR) industry. Other industry segments like telecommunications and consumer electronics have been using componentbased technologies without adopting standard specifications. Coincidently, Model Driven Development (MDD) 1 has gained popularity with pioneering efforts from companies such as Rational, ObjecTime, Telelogic and I-Logix. The term MDD refers to a variety of development approaches that are centered on the use of software models as a primary form of expression. 1. The OMG has coined the term Model Driven Architecture (MDA) to refer to a variety of model-based development techniques built around UML and model transformation techniques. MDA introduces the concepts of Independent Model (PIM) and Specific Model (PSM). The transition between PIM and PSM is achieved using well-defined reusable model transformations. 1
4 Models can be analyzed and validated, and code may in turn be generated from the models, which range in completeness from system skeletons to fully deployable products. Industry has, however, been slow to embrace these technologies despite their promise to significantly improve developer productivity. Concerns with key issues, like scalability, performance and runtime overhead, and imposed programming models, has led those with demanding system performance requirements to opt for the status quo and to continue to use custom tailored and handcrafted solutions. Zeligsoft has been focused on CBD and MDD since its founding in The company is led by a group of industry veterans who have been leaders in these fields over the past couple of decades, and collectively they have logged over 100 years of experience. Zeligsoft has witnessed the typical challenges with these approaches and has defined a methodology referred to as Component-Oriented Engineering and a toolset to address these shortcomings and unleash the full power of model driven and component-based development within the embedded software space. 2 Component-Oriented Engineering (COE) Component-Oriented Engineering is a software development methodology focused on addressing the challenges of complex embedded systems characterized by distributed applications and heterogeneous multiprocessor platforms 2. COE derives its inspiration and key attributes from three main sources: n Component-Based Development (CBD) COE has been created to support the development of component-based software through the entire development process. COE directly addresses development issues associated with component definition, application design, application deployment on platforms, and testing at different levels. n Model Driven Development (MDD) COE is an advanced MDD methodology for embedded systems. It is centered on the use of models to specify the different system aspects. COE provides capabilities to analyze and validate system properties early and often in the development process, and provides advanced generation capabilities that automatically generate optimized code, XML descriptor files, documentation and other types of models. n Agile Software Development (ASD) COE builds on the core principles of ASD to provide a user-centric, lightweight methodology that enables developing software in a highly iterative fashion, driven by a test-based approach to ensure quality and reduce risks usually associated with conventional development methodologies. COE is agnostic with respect to the approach used to specify behavior models, and is open to any behavior model that respects the defined protocols and platform constraints. It thus enables greater reuse of existing software assets. Additionally, because of the key importance of QoS in embedded systems, COE places a strong emphasis on this aspect in particular real-time and performance properties. As such, support for QoS analysis and validation form an integral part of the methodology and are used throughout the process. Component-Oriented Engineering is unique in terms of its: 1. Explicit support for a platform concept 2. Scenario-driven development approach 3. Use of domain specializations to support customization 2. s are heterogeneous with respect to processors (single-core, multicore, GPP, DSP, FPGA), communication mechanisms, RTOS, middleware, etc. 2
5 Domain Specialization Architecture / Design Configuration & Deployment Code Generation Execution & Monitoring Sequence Diagrams (SD) Component Library Alternative Behaviour Implementations Domain Library Model Framework Model Framework Model IntelFramework Intel Intel Domain Model Framework Application Domain supported analysis & validation Deployment Domain supported analysis & validation Intel Feedback loop for iterations n A domain is selected from the library, or tailored for the specific development environment and/or required platform n Scenarios developed in SDs generate the system level component spec, with components selected from the component library or created as required n Alternative behaviour implementations are used to refine (complete) the components n A configuration and deployment process assigns components to processing elements and/or provision services n Code is generated from validated deployments using Deployment Aware Generation (DAG) n Code is compiled using native compilers spec d in the Domains, and then delivered to the target where execution and monitoring begin Figure 1: Component-Oriented Methodology overview 2.1 Concept Component-Oriented Engineering is unique in its formal recognition of platforms as first class objects within the methodology. Other methodologies may implicitly acknowledge platforms through the use of concepts, such as Independent Models (PIM) in MDA, but only COE requires that developers recognize a platform entity and manage relationships between applications and platforms via another important concept that of a deployment. Within COE, the deployment process is an integral part of the overall development process and is no longer simply a post-development activity 3. The integration of application, platform and deployment enables advanced model analysis and validation. In particular, this facilitates rapid what-if analysis of alternative target configurations. In this way the developer can easily tune the application early, rather than suffering the costly implications of performing these changes late in the product life cycle. These analysis and validation capabilities are critical to ensuring a degree of correctness that is required in mission critical applications. Moreover, detailed platform and deployment information is necessary to drive high-performance automated model transformations (such as code generation) that are key to meeting the performance requirements demanded in many embedded applications, while still achieving the productivity gains expected from higher level domain representations. 3. In reality most methodologies require the developer to make deployment related decisions early in the development cycle. These decisions are reflected in the architecture/design that then make it costly to evolve implementations to accommodate new platforms. 3
6 Application Applications in COE are created by assembling a set of components and providing connections between compatible ports (formal interfaces) on adjacent components. Using MDD techniques, individual components and the overall application model can be validated for correctness at any point in the development process. Complex embedded systems are built on heterogeneous platforms that are composed of multiple layers, each layer addressing a different aspect of the overall system. Typical platform layers include a hardware layer composed of different types of processors (GPP, DSP, FPGA), memory buses and interconnections, and the RTOS layer and middleware layers 4 that provide services to application components. Similarly to applications, platform layers can be individually defined in a componentbased manner. The component model can also be used to analyze and validate the configuration and generate code and configuration files. Deployment One of the core innovations and benefits introduced by COE is the ability to graphically manage deployments as part of the development process. This supports a unique exploratory approach to refining target/deployment choices in order to optimize the product according to specified engineering goals. A deployment is an allocation of application components to platform (software or hardware) level components. Similarly to applications and platforms, deployments can be modeled and validated. Resources required by the application components can be assessed against those provided by the platform components and a determination made about the correctness of the deployment. Further, the deployment is the first design element from which code and other related artifacts can be generated for the application and optimized for the allocation decisions. Domain Customization of the COE development enviroment is provided by domains, which tailor the COE framework for platform intelligence and component model frameworks. intelligence contains rules and parameters to support static analysis and validation that is essential to achieving the QoS objectives of many embedded applications. Component model frameworks further refine the modeling rules and basic constructs. Domains also include model transformation engines that correspond to the selected component framework. Some examples of component frameworks are the Software Communications Architecture (SCA) for software defined radios, AUTOSAR for automotive and the CORBA Component Model (CCM). 4. A complex embedded system typically uses many different middleware layers. 4
7 2.2 Scenario Driven COE s scenario-driven approach plays a central role in facilitating a more productive and correctnessfocused approach to development. Two distinct types of scenarios are supported: n Test scenarios n Deployment and configuration scenarios Test Scenarios: Test scenarios supported by sequence diagrams may be used to build the specification for components as well as their interactions with other components. These may then be used to drive the creation of automated test suites which may also be used to provide automated regression suites, component test suites and/or system test suites. As in Agile Software Development (ASD) this approach to early specification and use of test cases tends to be more effective and less expensive than traditional test approaches. Deployment and configuration scenarios: Perhaps the most novel aspect of COE the platform deployment process enables the developer to rapidly explore the implications of different configurations early in the life cycle. This helps avoid costly mistakes and save weeks of development and re-design effort. In a world of increasingly distributed architectures (e.g. multicore processors), exploring alternative deployment scenarios in this way offers a powerful mechanism for dealing with the added design complexity associated with these complex distributed systems. Moreover, this process allows the designer to quickly determine the performance implications of different allocations. In addition to the usual configuration options, COE also allows different behavior models/implementations to be plugged into a component over the product s development life cycle as long as the behavior complies with the component interfaces and constraints. The software engineer may start with a high-level prototype (or stub) to be followed by a more complete and/or efficient implementation later in the cycle. Deployment and configuration scenarios provide the developer with powerful mechanisms for early and tangible feedback on design effectiveness. Together with test scenarios, this approach supports the iterative and test early; test often principle of Agile Software Development. 2.3 Domain Specialization One challenge for any development methodology and tool is that in the real world there will always be numerous component model frameworks as well as company specific variations. How can one develop a methodology and tool suite to practically support this variety? This challenge is further exacerbated by the multitude of platforms that must be understood by the tool in order to produce efficient implementations that are required by the embedded market. In order to tackle this challenge, COE incorporates the concept of domains, where a domain is an entity that encapsulates specific platform knowledge, component framework information and associated transformation engines. Domains can then be specialized to accommodate a specific target platform as well as a component framework such as AUTOSAR, SCA, or CCM. Moreover, domains may be further specialized to accommodate any industry standard component framework. Domains are used to complete the COE framework in order to provide a modeling and design solution. 3 Process Integration and Life cycle Support To maximize productivity improvement and facilitate adoption of the methodology, COE was designed to integrate smoothly with existing development processes. COE incrementally adds a componentdriven aspect to the existing system/software development methodologies and processes. Moreover, it is agnostic with respect to the approach used to implement the components (code). This means that component developers can choose to implement 5
8 components using an MDD approach or a codecentric approach, and they can select different programming languages, like C, C++ or Java, depending of the type of component. From a life cycle perspective, COE focuses on the component-based aspect of the entire product development life cycle, including component definition, system integration, and testing from individual components to integrated systems. It integrates with existing methods and tools to provide support for the other development aspects such as requirements management, component implementation and version control. 4 COE Addresses Typical MD/CBD Shortcomings Three commonly cited reasons for not adopting MDD or CBD technologies, despite their substantial promise of improved productivity, are: 1. Scalability issues 2. Inefficient code (implementations) 3. Awkward and/or restrictive programming models that compromise productivity Component-Oriented Engineering embraces the key elements of MDD and CBD and further extends them with novel capabilities that significantly leverage the productivity benefits of these approaches. In addition, COE and the Zeligsoft toolset effectively address these three concerns most often raised over adopting any of these methods. Figure 2: Screenshots from the Zeligsoft implementation of Component-Oriented Engineering 6
9 Scalability: Veterans of the MDD industry have developed the Zeligsoft toolset. They have designed the Zeligsoft development environment from day one to ensure scalability. This is important because it is very difficult to re-engineer a tool suite for performance. Innovative UI models have been adopted to help effectively manage the browsing of very large designs. Inefficient code: intelligence that is embedded in the domain specializations, combined with the COE deployment process, provide the necessary information from which very efficient code can be produced. The Zeligsoft implementation of COE incorporates a patented, Deployment-Aware Generation (DAG) capability that has proven its ability to generate very efficient code in demanding customer environments. Restrictive programming models: COE is open to any programming model and tool that the developer wishes to use to specify component behavior. In fact, it is even possible to define and implement a proprietary programming model using domain specializations. Moreover, COE can be easily incorporated into virtually any life cycle development methodology that is in use in the organization, thus helping to improve its acceptance in organizations with well-established methodologies and processes. 5 The Future of COE Over 20 years ago, object-oriented programming offered the promise of greater development efficiency via increased software reuse. Programs would be composed from a collection of reusable software objects and classes. Decoupling of data from procedures, along with proper encapsulation, intended to achieve massive reuse and the industrialization of software development. These changes alone, however, proved insufficient to launch the world of massive reuse that many had envisioned 5. COE progresses the state of the art, by focusing on the structural aspect of software that is fundamental to achieving effective reuse. It is essentially agnostic with respect to the type of behavior modeling that is adopted, and it treats platforms as first class entities within its modeling framework in order to ensure the performance and correctness that is required in embedded systems. COE leverages the abstract modeling benefits of MDD and formal model transformations in order to support static analysis, validation and automated generation of tests and code. With support from the Object Management Group (OMG) and some very influential industrial partners, acceptance of Model Driven Development has increased tremendously over the past several years. MDD as well as Component-Based Development have taken root across the entire embedded software development industry as evidenced, in part, by the increase of industry standard component frameworks and modeling languages such as AUTOSAR (automobile industry), SCA (software defined radios), MARTE (real-time UML) and others. COE has the potential to dramatically transform embedded software development from an exercise of creation from first principles, to one of assembling solutions from a set of reusable components, inventing new components to fill specific needs. The potential to more effectively leverage the creative powers of talented developers, reduce development costs, reduce product defects and gain time-to-market is truly exciting. 5. Brad J. Cox, November 1990, Planning the Software Industrial Revolution 7
10 Information about Zeligsoft can be found at or contact References 1. Crnkovic, I., Larsson, S., and Chaudron, M., Component-based Development Process and Component Lifecycle. Journal of Computing and Information Technology 13 (4), P: (November 2005). 2. Schmidt, D.C.. Model-Driven Engineering. IEEE Computer 39 (2), P: (February 2006). 3. Agile Alliance. Agile Software Development Manifesto. 13 Feb
11
12 Contact Information Website: Toll-free (North America): ZELIGSW ( ) Direct dial: Zeligsoft, Zeligsoft CE, Zeligsoft CX, and DAG are trademarks of Zeligsoft Inc. All other trademarks are the property of their respective companies. Version 1.2 Printed in Canada Copyright 2008.
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 [email protected]
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
A Management Tool for Component-Based Real-Time Supervision and Control Systems
A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Five best practices for deploying a successful service-oriented architecture
IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative
Development of AUTOSAR Software Components within Model-Based Design
2008-01-0383 Development of AUTOSAR Software Components within Model-Based Design Copyright 2008 The MathWorks, Inc. Guido Sandmann Automotive Marketing Manager, EMEA The MathWorks Richard Thompson Senior
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
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
Applying Agile Methods in Rapidly Changing Environments
Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay, Aniruddha Gokhale*, Douglas Schmidt Institute for Software Integrated Systems Vanderbilt University, Nashville
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
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
Use service virtualization to remove testing bottlenecks
Use service virtualization to remove testing bottlenecks Discover integration faults early by pushing integration testing left in the software lifecycle Contents 1 Complex, interconnected applications
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge.
Global distributed development White paper July 2009 Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge. Integrating MDD and SPL to effectively
OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study
OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study Michael Guttman CTO, The Voyant Group [email protected] Overview of Voyant H.Q. West Chester, PA Business
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Systems and software product lines: the new frontier for business innovation.
Systems and software product line solutions To support your product delivery objectives Systems and software product lines: the new frontier for business innovation. 2 The key to business success depends
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
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
Asset Based Development
IBM Software Group Asset Based Development Grant Larsen [email protected] November 2003 Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started Agenda Introduction
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
Software development for the on demand enterprise. Building your business with the IBM Software Development Platform
Software development for the on demand enterprise Building your business with the IBM Software Development Platform An on demand business is an enterprise whose business processes integrated end-to-end
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Software Architecture
Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
What SOA can do for Software Dependability. Karl M. Göschka [email protected] Vienna University of Technology
What SOA can do for Software Dependability Karl M. Göschka [email protected] Vienna University of Technology Overview Dependability challenges Control loop: Adaptivity and evolution The SOA potential
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
CMMI and IBM Rational Unified Process
IBM Software Group CMMI and IBM Rational Unified Process A practical route to greater development maturity CMMI Made Practical, London, 19-20 th March, 2007 Keith Mantell IBM Rational, UK [email protected]
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
What You Need to Know About Transitioning to SOA
What You Need to Know About Transitioning to SOA written by: David A. Kelly, ebizq Analyst What You Need to Know About Transitioning to SOA Organizations are increasingly turning to service-oriented architectures
System Component Deployment in a Realtime Embedded Software Defined Radio (SDR) Architecture
System Component Deployment in a Realtime Embedded Software Defined Radio (SDR) Architecture Dawn Szelc The MITRE Corp. Lead System Engineer Mark Adams Exigent International VP Wireless Engineering Outline
Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
Agile Modeling and Design of Service-Oriented Component Architecture
Agile Modeling and Design of Service-Oriented Component Architecture Zoran Stojanovic, Ajantha Dahanayake, Henk Sol Systems Engineering Group, Faculty of Technology, Policy and Management, Delft University
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)
Autonomic computing: strengthening manageability for SOA implementations
Autonomic computing Executive brief Autonomic computing: strengthening manageability for SOA implementations December 2006 First Edition Worldwide, CEOs are not bracing for change; instead, they are embracing
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Introduction to OpenUP (Open Unified Process)
Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture
Trends in Embedded Software Development in Europe. Dr. Dirk Muthig [email protected]
Trends in Embedded Software Development in Europe Dr. Dirk Muthig [email protected] Problems A software project exceeds the budget by 90% and the project time by 120% in average Project Management
How To Create A C++ Web Service
A Guide to Creating C++ Web Services WHITE PAPER Abstract This whitepaper provides an introduction to creating C++ Web services and focuses on:» Challenges involved in integrating C++ applications with
Service-Oriented Architecture and its Implications for Software Life Cycle Activities
Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012
Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow
Approach to Service Management
Approach to Service Management In SOA Space Gopala Krishna Behara & Srikanth Inaganti Abstract SOA Management covers the Management and Monitoring of applications, services, processes, middleware, infrastructure,
Component Based Software Design using CORBA. Victor Giddings, Objective Interface Systems Mark Hermeling, Zeligsoft
Component Based Software Design using CORBA Victor Giddings, Objective Interface Systems Mark Hermeling, Zeligsoft Component Based Software Design using CORBA Victor Giddings (OIS), Mark Hermeling (Zeligsoft)
A new approach to automotive electric/electronic engineering life-cycle management
IBM Software Automotive A new approach to automotive electric/electronic engineering life-cycle management Managing engineering data and processes using a single source of truth 2 A new approach to automotive
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
Six ways to accelerate Android mobile application development
Six ways to accelerate Android mobile application Creating an integrated solution for collaboration among teams Contents 1 Weaving the invisible thread of innovation 2 Android : vast opportunities and
Prerequisites for Successful SOA Adoption
George Feuerlicht University of Technology, Sydney [email protected] 1. INTRODUCTION The adoption of SOA (Service Oriented Architecture) has gained momentum in the past two years, and the predictions
Advanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
Continuous System Integration of Distributed Real-time and Embedded Systems
Continuous System Integration of Distributed Real-time and Embedded Systems and Douglas Schmidt Vanderbilt University Nashville, TN, USA OMG s Workshop on Distributed Object Computing for Real-time and
Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes
Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes by Walker Royce Vice President and General Manager Strategic Services Rational Software
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be
A Software Development Platform for SOA
A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa [email protected] 2004 IBM Corporation Agenda IBM Software Group
Establishing a business performance management ecosystem.
IBM business performance management solutions White paper Establishing a business performance management ecosystem. IBM Software Group March 2004 Page 2 Contents 2 Executive summary 3 Business performance
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: [email protected] Outline I Introduction II Foundations III The Development
Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry
March 2004 Rational Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry Why companies do it, how they do it, and what they get for their effort By Dave Brown, Karla Ducharme,
Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction
Web Services - A Consultant s View From IT Stategy to IT Architecture Hans-Peter Hoidn, Timothy Jones, Jürg Baumann, Oliver Vogel February 12, 2003 Copyright IBM Corporation 2002 Agenda Introduction I.
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:
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
Chapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011
A Data Centric Approach for Modular Assurance The Real-Time Middleware Experts Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011 Gabriela F. Ciocarlie Heidi Schubert
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Software Development for Medical Devices
Overcoming the Challenges of Compliance, Quality and Cost An MKS White Paper Introduction Software is fast becoming the differentiator for manufacturers of medical devices. The rewards available from software
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
THE EVOLUTION OF COMPONENT BASED SOFTWARE ENGINEERING FROM THE TRADITIONAL APPROACH TO CURRENT PRACTICES
International Journal of Engineering and Management Research, Vol. 2, Issue-3, JUNE 2012 ISSN No.: 2250-0758 Pages: 45-52 www.ijemr.net THE EVOLUTION OF COMPONENT BASED SOFTWARE ENGINEERING FROM THE TRADITIONAL
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany [email protected]
Agile Business Process Automation
Agile Business Process Automation by David Nichols Currently there is a lot of excitement and competition in the Business Process Automation space, however, despite the plethora of BPA platforms available,
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix
Model-driven development solutions To support your business objectives IBM Rhapsody edition comparison matrix IBM Rhapsody 7.5 edition: capabilities and comparisons The enclosed table compares the capabilities
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
Industry Challenges in Embedded Software Development
Industry Challenges in Embedded Software Development Don Wilson Raytheon Company [email protected] (520)545-9429 7 July 2005 Copyright 2005 Raytheon Company. All rights reserved. Industry Challenges
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption Sunil Shah Technical Lead IBM Rational Agenda Organization s Challenges from a Delivery Perspective Introduction
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,
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
NFV Reference Platform in Telefónica: Bringing Lab Experience to Real Deployments
Solution Brief Telefonica NFV Reference Platform Intel Xeon Processors NFV Reference Platform in Telefónica: Bringing Lab Experience to Real Deployments Summary This paper reviews Telefónica s vision and
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
IBM Rational Asset Manager
Providing business intelligence for your software assets IBM Rational Asset Manager Highlights A collaborative software development asset management solution, IBM Enabling effective asset management Rational
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
