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