Development Process Automation Experiences in Japan



Similar documents
SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Automotive System and Software Architecture

Six ways to accelerate Android mobile application development

What is a life cycle model?

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization

Safe Automotive software architecture (SAFE)

A Software Development Platform for SOA

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

MathWorks Automotive Conference 2015 Simon Fürst, 2015/09/24. MODEL-BASED SOFTWARE DEVELOPMENT: AN OEM S PERSPECTIVE.

Talend Metadata Manager. Reduce Risk and Friction in your Information Supply Chain

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Classical Software Life Cycle Models

Software Development In the Cloud Cloud management and ALM

MDE Adoption in Industry: Challenges and Success Criteria

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

Basic Unified Process: A Process for Small and Agile Projects

CMII in Software Development Based on Open Source Tools. CMII Conference Europe 2006 Michael Diers, Olaf Kosel

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

A new approach to automotive electric/electronic engineering life-cycle management

Chap 1. Introduction to Software Architecture

What is a process? So a good process must:

This is an author-deposited version published in : Eprints ID : 15447

Improved SOA Portfolio Management with Enterprise Architecture and webmethods

Systems Engineering: Development of Mechatronics and Software Need to be Integrated Closely

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

MOTION Modeling and Testing for System and Service Solutions. ModelBus. Automation, Integration and Collaboration in Development Processes

Driving Your Business Forward with Application Life-cycle Management (ALM)

Agile Model-Based Systems Engineering (ambse)

Simplify Complex Architectures and See the Potential Impact of New Technologies

Best Practices for CAD Data Migration

Real Time Developer Studio. Emmanuel Gaudin

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Requirements Management

IBM Operational Decision Management v8

OMG releases BPMN What's changed?

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Bridge Development and Operations for faster delivery of applications

Requirement Traceability in Practice

Real Time Embedded Software Development Using Agile Technology An Experience Report

A Business Process Driven Approach for Generating Software Modules

Towards Collaborative Requirements Engineering Tool for ERP product customization

EB TechPaper. Managing complexity with agile development. automotive.elektrobit.com

Effective Team Development Using Microsoft Visual Studio Team System

METHOD & TOOLS TO SECURE AND SUPPORT COLLABORATIVE ARCHITECTING OF CONSTRAINED SYSTEMS

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

Development of Tool Extensions with MOFLON

SOLUTION BRIEF CA ERwin Modeling. How can I understand, manage and govern complex data assets and improve business agility?

Politecnico di Torino. Porto Institutional Repository

DO-178B compliance: turn an overhead expense into a competitive advantage

Safe-E. Safe-E Introduction. Coordination: Andreas ECKEL TTTech Computertechnik AG

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

AutoSAR Overview. FESA Workshop at KTH Prof. Jakob Axelsson Volvo Cars and Mälardalen University

Business Process Modeling Information Systems in Industry ( )

Sparx Systems Enterprise Architect for Team Players

Objecteering. The convergence of SOA, UML2, BPMN and EA, for Model-driven Engineering.

Surveying and evaluating tools for managing processes for software intensive systems

Enterprise Security Architecture for Cyber Security. M.M.Veeraragaloo 5 th September 2013

Integration of Time Management in the Digital Factory

Meta-Model specification V2 D

Contents. Introduction... 1

MKS Integrity & CMMI. July, 2007

Requirements Management mit HP Quality Center / ALM

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Open Group SOA Governance. San Diego 2009

Government's Adoption of SOA and SOA Examples

An RCG White Paper The Data Governance Maturity Model

11 Tips to make the requirements definition process more effective and results more usable

Plan-Driven Methodologies

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Designing a Semantic Repository

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

A Simple Guide to Enterprise Architecture

D6.1: Service management tools implementation and maturity baseline assessment framework

Agile Methods and Visual Specification in Software Development A chance to ensure Universal Access

DEDICATED TO SOLUTIONS. Automotive System and Software Development

modelbus automation, integration and collaboration in development processes

Software Production. Industrialized integration and validation of TargetLink models for series production

Holistic PLM for the development of mechatronic systems Proof of concept: Synchronized Mechatronics Engineering enabled by SOA

A Framework to Balance Tracing Agility and Formalism

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

CONDIS. IT Service Management and CMDB


Tool Support for Software Variability Management and Product Derivation in Software Product Lines

IBM Rational systems and software solutions for the medical device industry

System Software Product Line

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Current Challenges in Managing Contract Lifecycle Management

Agile Development with Jazz and Rational Team Concert

Software Project Management using an Iterative Lifecycle Model

The IBM Rational Software Development Platform..Role focused tools help simplification via Separation of Concerns

Strategic Briefing Data Center Management & Automation

Transcription:

Development Process Automation Experiences in Japan Dr. Olaf Kath ikv ++ technologies ag Germany ikv++ technologies ag 2007

who we are core business optimization and automation of our customer s system development and supporting processes specific solutions for large enterprises keep established processes and tool landscape experiences in approaching and executing optimization solutions technology foundation is meta object facility based model transformations, code and document generation and model consistency

what are typical usage scenarios? processes for the development of information systems NTT Data - consistency, rich traceability and automation from requirements over system planning and design to detailed modeling and coding activities medini has been applied successfully to development processes in various domains processes for software-based functions in cars Toyota TD Corp - consistency and automation from functional safety concept, graphical design, documentation and cooperation with suppliers embedded software processes for home entertainment SAMSUNG Electronics - introduce modeldriven development of embedded applications focusing on rich traceability, consistency and automation from requirements down to embedded code

challenges in automotive software development processes automotive software development requires well defined processes many phases and activities involving several types of experts variety of methods, software tools and types of work products often integration between development and safety analysis/design processes required analyst architect designer engineer work products work products work products work products challenges inconsistencies between development models, documents and other artifacts many tools and methods are used in the process, but integration is poor no automation exists between the development process activities team work on specifications and models is impossible impact analysis of changes by review of whole specification documents

what s so special about Japan? strong network between OEM and suppliers ex. Toyota Motor Corporation owns shares of its main suppliers (e.g. Fujitsu TEN, DENSO, ) suppliers own shares of each other, e.g. DENSO and Aisan eases the business relationships, allows for integration of processes decide direction, focus efforts and keep improving future targets are decided and kept, e.g. focusing on hybrid technology this holds also for software production processes and techniques for development processes, visionary long-term milestones are defined, focus on perfect integration between development activities and strong re-use

what s so special about Japan? requirements and specification process KAIZEN philosophy also in the OEM-supplier relation details of contracted software often not documented, but decided in (sometimes long) meetings sometimes fast moving targets, very close communication between OEM and suppliers iterative, quite agile project style, especially for long-term future targets people are trained to processes and to the necessity of process improvements development process definitions are not just books in the safe that are used only when a certification authority rings the bell process improvements are also managed, allow to understand the changes to process definitions processes can be defined using best practices and tools for method definition, process definition to use methods process adaptation is part of a managed process and can be toolsupported as well

what s so special about Japan? focus on automation with tools and integrated management of work products, processes and project management automate not only on code generation, but focus on integration of all development process activities ex.: create documents for certification from development models, do not write them nor copy them think outside the box: not only work products which are defined in the process can be generated, but e.g. projects from existing knowledge if talking about process improvements, you need standardized tasks before people need to know their tasks in the process exactly before they can improve them

challenges in automotive software development processes (ctd.) general assets help to meet the challenges adaptable process definition to help managers, engineers and other stakeholders to know what to do when continuous process optimization to help stakeholders to produce work results in an efficient manner automation helps engineers to derive work results from other work results fast and consistently a methods and tool environment helps stakeholders to homogenously manage work results and control their conformance with the development process as well as to work in a team effectively

how do we approach process automation? case study with Toyota TD Corporation requirements an integrated design infrastructure for software based functions strong team and process support necessary key aims - automation, consistency control and integration with orthogonal processes the solution provides an infrastructure for integrated project, artifact and process management integration with various design and development tools automation, rich traceability and consistency control automatic generation of consistent documentation for third parties

how do we approach process automation? ikv standard approach how to provide a detailed process definition? solution architects and customer s experts work together to produce a detailed picture of the process that should be automated define the process steps, activities and work results of each step/activity by means of so called meta-models don t be afraid of metamodels - the customer s experts understand the meta modeling concept easily the engineers (end-users) working with the solution should not recognize the metamodels as such the approach does not depend on a specific development process, it can be adapted to any development process! development process activities and steps definition of work results transitions between activities and steps

how do we approach process automation? ikv standard approach how to identify optimization potential? based on the development process definition, focus on the transitions between activities analysis of relations between the work products in the development process definition in detail carefully identify the relations between artifacts and work products analyze the relations - what s the workflow between activities? - parallel activities? - redundant information? - how does the change management effect the development process?

how do we approach process automation? ikv standard approach how to provide automation in the development process? can relations between the work products be used for creating work products partially from other work products? automate such relations with automation techniques, keep rich traceability in whole development cycle examples include auto generation of specification parts from other work products auto generation of target program code auto generation of documentation and certification data auto generation of changes history auto generation of projects from existing knowledge model driven engineering provides a variety of automation techniques, such as model transformation, code and documentation generation, automated diff and merge partial auto generation, merge Development Activity partial auto generation, merge Development Activity Development Activity partial auto generation, merge Development Activity partial auto generation, merge partial auto generation, merge Development Activity partial auto generation, merge

how do we approach process automation? ikv standard approach how to provide a methods and tools environment? all artifacts need to be managed persistently, consistently and restricted in terms of access control versions, variations, configurations and baselines of the work products the change control process need flexible concepts due to complexity of the process and legal requirements use repository based infrastructures for managing work product connect front-end tools for creating the work products the manual management of all artifacts, their relations and their versions is simply impossible a tool infrastructure must manage all these issues and should flexibly cope with process changes/adaptations and custom use of processes in specific projects

how do we approach process automation? case study with Toyota TD Corporation we provide a tool and process integration infrastructure based on our medini technology model oriented system development metamodel based process, method and work product definition repository based infrastructure work products from software tools are synchronized with the medini repository fine grained version control model differences analysis, model merge, model import mechanisms and more consistency control and impact analysis medini repositories provide rich traceability between artifacts automation model-to-model transformation as well as code and document generation

what does it have to do with safety? functional safety process Hazard Analysis Product design Certification Functional Safety concept Validation HW level Architecture SW level IntegrationTesting Implementation ModuleTesting V-model of the activities in the safety analysis and design ensure consistency and traceability between activities

what does it have to do with safety? functional safety process Hazard Analysis Product design Certification Functional Safety concept Validation HW level Architecture SW level IntegrationTesting Implementation ModuleTesting a variety of tools and methods is used in the process ISO 26262 requires detailed procedures for documentation and change management

what does it have to do with safety? functional safety process Hazard Analysis Product design Certification Functional Safety concept Validation HW level Architecture SW level IntegrationTesting Implementation ModuleTesting

what is medini? a set of components to manage work results and support team work, variation management and model analysis with the medini infrastructure provide model-to-model transformation, consistent documents and code generation and monitoring of work results consistency with medini automation connect existing development tools or create new graphical tools with medini tools and connectors re-use a variety of concepts, ideas and language elements with the medini metamodel library medini tools and connectors UML connector Office connector MATLAB connector Visual Studio connector medini graphical editors medini infrastructure model repositories model versioning support model differences analysis model merge medini cockpit medini meta modeler medini automation transformation engine code generation engine document generation engine constraint engine medini metamodel library essential UML metamodel automotive metamodel SPEM, AADL and SysML telecoms metamodel

Conclusions software engineering methods and techniques can be applied in the automotive domain in order to fulfill aims of car makers and suppliers dealing with complex regulations on several markets strong integration between development process and orthogonal processes activities provision of a future proof, highly integrated and automated development and safety design environment and strong team and process support. repository based process infrastructures, fine grained version control consistency control and impact analysis as well as automation can be utilized not limited to automotive software engineering can also be applied to non-software tasks, e.g. certification processes, maintenance procedures and common management facilities for component structure and interface definition

we automate system creation ikv++ technologies ag 2006