Automated Quality Assurance foruml Models

Similar documents
OMG Specifications for Enterprise Interoperability

* Corresponding Author

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

SCOS-2000 Technical Note

Applying UML Modeling and MDA to Real-Time Software Development

Business Rules in the Semantic Web, are there any or are they different?

Requirements Validation and Negotiation

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Spemmet - A Tool for Modeling Software Processes with SPEM

Existing Model Metrics and Relations to Model Quality

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

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

Chapter 2 Overview of the Design Methodology

Model-based Middleware for Embedded Systems

Cate: A System for Analysis and Test of Java Card Applications

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

developer.* The Independent Magazine for Software Professionals

A Solution Based on Modeling and Code Generation for Embedded Control System

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Modelling in Enterprise Architecture. MSc Business Information Systems

Pattern for Structuring UML-Compatible Software Project Repositories

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Proposed Revisions to ebxml Technical. Architecture Specification v1.04

A Generic Approach for Compliance Assessment of Interoperability Artifacts

IST A blueprint for the development of new preservation action tools

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

TINA-CAT WorkGroup Request For Proposals

Overview of Sentence Order Reference Document Development Process

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

On the Relation Between "Semantically Tractable" Queries and AURA s Question Formulation Facility

Reusable Object-Oriented Model

Semantics-Based Integration of Embedded Systems Models

Role of Executable UML in MDA. Presented by Shahid Alam

The UK and enabling Accessibility

3.4 Data-Centric workflow

XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

UML for Real-Time Overview

An Information Model for High-Integrity Real Time Systems

Software Engineering Principles

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

An Introduction to MDE

3rd Lecture Languages for information modeling

A Model-driven approach to NLP programming with UIMA

BIG MODELS AN ALTERNATIVE APPROACH

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Mastering complexity through modeling and early prototyping

Networked Access to Library Resources

Process of Interaction Design and Design Languages

History of object-oriented approaches

Designing a System Engineering Environment in a structured way

Ch 1: The Architecture Business Cycle

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

The requirements engineering process

COSC 3351 Software Design. An Introduction to UML (I)

Advanced Software Engineering: Software Testing

Software Development Fundamentals (SDF)

Practical Model-Driven Development with the IBM Software Development Platform

Model Driven Development of Component Centric Applications

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

Software Engineering

Model Driven Architecture - The Vision

Virtual Validation of Cyber Physical Systems

IBM Research Report. Model-Driven Business Transformation and Semantic Web

Model Transformers for Test Generation from System Models

ACTA UNIVERSITATIS APULENSIS No 18/2009

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX

Qualitätssicherung von Software (SWQS)

OG0-091 Q&As TOGAF 9 Part 1

Model-Driven *: Beyond Code Generation

Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review. 4 June, 2009

On the link between Architectural Description Models and Modelica Analyses Models

A Pratical Application of the Object Constraint Language OCL

TWO APPROACHES IN SYSTEM MODELING AND THEIR ILLUSTRATIONS WITH MDA AND RM-ODP

Enhancing validation with Prototypes out of Requirements Model

Proceed Requirements Meta-Model For Adequate Business Intelligence Using Workflow

10. Software Testing Fundamental Concepts

OCL Support in MOF Repositories

Accessibility of Web

CIS 895 agenttool III (Static) Project Plan Version 2.0. Project Plan. For agenttool III (Static) Version 2.0

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8

Assurance Continuity Maintenance Report

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

SAS 70 revised. ISAE 3402 will focus on financial reporting control procedures. Compact_ IT Advisory 41. Introduction

Business Requirements Document (BRD) Template

Requirements and Design Overview

Software Design. Levels in Design Process. Design Methodologies. Levels..

HITSP/T16. October 15, 2007 Version 1.1. Healthcare Information Technology Standards Panel. Security and Privacy Technical Committee.

Rules of Writing Software Requirement Specifications

System Design and Modular Programming

Introduction to Software Engineering 10. Software Architecture

1.1 Jadex - Engineering Goal-Oriented Agents

Aspect-Orientation from Design to Code

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Architectural Design

Software Architecture

Supporting Modeling in the Large in Fujaba

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Transcription:

Automated Quality Assurance foruml Models Tilman Seifert, Florian Jug Technische Universität M ünchen Software &Systems Engineering seifert@in.tum.de, florian@jugga.de G ünther Rackl BMW Group guenther.rackl@bmw.de Abstract: Model based development, like proposed by the OMG s Model Driven Architecture (MDA), aims to raise the level of abstraction from working on the code to working with models. Foraprofessional production environment, the means for quality assurance on the model level are scarce. We introduce an approach for automated quality assurance on the model level, integrated into the tool of a modern development environment. 1 Model Based SoftwareDevelopment In an idealized vision for a model based development process, models are developed, used, and refined in all phases of the process. For requirements analysis, models help to find acommon vocabulary between customers and developers. In the specification phase, models are used to completely describe the business logic of the system while abstracting from technical infrastructure and implementation detail. In the development phase, models are the input for the code generation process. For the maintenance phase, models are an important part of the system documentation since they provide views of the system on any desired level ofabstraction. The Model Driven Architecture (MDA) as proposed by the OMG [MM01] is a UML-based approach that aims to realize this vision of model based development. The BMW Group has developed a concrete realization of the MDA called Component Architecture (CA) [RSB + 04] to improve the development process for information systems. The Component Architecture features amodeling profile to support component based development as well as model transformation and code generation facilities. The platform independent model (PIM), which is the central model in CA development, contains modeling elements like Business Activities (BA), Business Entities (BE), Business Components (BC), and others. The usability of this model based approach has been proven in different projects which use the CA environment to develop business applications. While the technical experiences with this framework have been very positive, werealized that in order to gain full advantage of the model based approach, it is necessary to adapt the development and maintenance process. Since the UML models are the central concept of the approach we started to improve the quality assurance (QA) process for models. In this paper,we present our conclusions about the QA process in its model basedcontext, and introduce our tool called Model QA tosupport the QA process for UML models. 496

2 Automated Quality Analysis of Models Project work for developing and maintaining information systems at BMW Group is typically done in mixed teams with internal and external developers, with a varying degree of subcontracting development work. For models delivered by external partners, it is important to be able to perform an efficient and complete QA process before accepting the product. In general, aqaprocess contains three major steps: Quality planning. The quality criteria of all deliverables are defined. This part is usually done for the whole organization. The key is to identify quality goals and to define measurable quality attributes that contribute to the quality goals. In our case, guidelines were developed as part of the CA approach that can be used as areference for developers and as achecklist for the revieworacceptance process. Quality analysis. This is the operative part that must be conducted for every deliverable. Our aim is to support these tasks with tools that are integrated into the development environment so that they are easily accessible for developers and reviewers alike. Quality controlling ensures that quality criteria are met and takes corrective action where necessary. The quality analysis is usually done with more or less formal reviews based on checklists. Forsource code, however, it is possible to use automated checks of quality conditions and metrics. BMW Group has experience with automated quality checks for Java systems; a collection of tools that check feasibility conditions and certain quality metrics is in use. Since the experiences have been very good, we decided to develop tool support for checking UML models in asimilar fashion. Our main goal was togive easily usable support to the developers as well as to the reviewers of UML models for the Component Architecture. Therefore we aimed at aseamless integration into the development tool chain. Note two important properties of quality analysis for UML models. First, improving the quality analysis for models has an impact on the whole development life-cycle, since models are delivered in early phases of the project (whereas code analysis can be done only while and after the implementation phase). Second, it is difficult to do quality analysis on general UML models since there are only fewgeneral rules that can be used as quality indicators (e. g. regarding cycles, coupling, or coherence just the same rules that are used on source code). However, the UML allows to to define domain specific modeling profiles. Such domain specific profiles allowtoassign a more precise semantic to modeling elements and relations. We can use this semantic information to derive rules to perform quality checks on the models that are based on these profiles. These rules on the model levelare more concrete, more powerful, and more useful than comparable analysis on the source code level. BMW Group s Component Architecture (CA) defines a UML profile to characterize the syntax of acapim (Platform Independent Model). UML stereotypes are used to define Business Components (BC), Business Entities (BE), Business Activities (BA), and more. PIMs that are developed in conformance to the CA are UML models that are subject to the 497

syntactic restrictions given by the CA. These restrictions can be used to design automated, simple but powerful feasibility checks. For example, the CA contains the architecture principle: BEs may only be accessed by BAs, not by other BEs. This architecture principle can be directly used as asyntax rule which can be easily implemented as asyntax check on the CA model because model elements use stereotypes that explicitly characterize them as e. g. BEs or BAs. 3 Case Study: Tool Support for QAofUML Models We conducted a case study with a prototype implementation of the concepts in [Jug04] (section 2) to support the quality analysis step in the QA process. Our case study demonstrates how to use quality requirements to create tool support that is integrated into the development environment. Together Control Center [TOG05] can be extended by adding modules and integrate them into the IDE. Those modules can access information about the UML models; they can traverse the UML model and check it for quality criteria. We used this mechanism to develop an environment called Model QA which allows us to easily implement and integrate new quality audits. Violations of quality criteria are reported in the same way as compiler errors and warnings are presented to the developer. Since models are developed early in the process, it helps to avoid modeling mistakes or quality flaws as early in the process as possible. At BMW Group, automated QA measures on the code level are a widely adopted standard procedure for Java projects. Therefore, the general acceptance of automated QA for models is good. The tight integration in the development environment lowers the barrier to using automated support even further. The main advantage is that there is no need to switch tools for the quality checks; in fact, as long as no violations are detected, the Model QA tool doesn t interrupt the workflowatall. Reviewers are supported in the same way asdevelopers are. They just have to load the models into their IDE and are directly pointed to modeling errors and possible design flaws ifthere are anyleft in the models at all. The main goal is to improve the efficiency of the review process by helping the developers to avoid such mistakes, and to enable reviewers to concentrate on the content of models. The implemented audits are based on the CA quality checklist that was developed for the manual reviewprocess of CA models. We found that it is possible to fully automate the quality check for 47 %ofthe given criteria, and that another 12 %ofthe criteria could be partially checked automatically. Examples for criteria that can be checked automatically include Is the dependency graph of the model elements free of cycles? or Are all methods of a Business Component Interface implemented by the elements in the component?. Even criteria that are somewhat fuzzy can be checked, e. g. Is it easy to overview the number of Business Component Interfaces (BCI) for each Business Component (BC)?. In this case, the number of BCIs per BC is checked against some thresholds. The remaining criteria are intended for human readers and cannot be supported by a tool, 498

e. g. questions like Are all model elements identified by adescriptive name? or Do all model elements of the Business Component (BC) contribute to the goal of the BC? We chose a subset of the fully automatic testable criteria for our prototype. For productive use of the Model QA tool as part of the daily development work, the criteria should be revised and extended with respect to the possibilities of tool support to extend the coverage of the quality checks. The audits that are implemented in Model QA so far strictly check for the model syntax. Afurther step could be to include other measures, e. g. metrics that give hints to judge more abstract quality properties like readability, extendibility, adaptability, or reusability. However, metrics need be chosen sensibly and used carefully in this context [KB04]. 4 Conclusion For a wide adoption of the model based development approach, an appropriate QA process is indispensable. We introduced tool support for automated QA checks that are integrated into the development process. Note, however, the difference between quality analysis and quality assurance. The analysis is one step in the QA process that can be automated, while the QA as a whole remains a manual, creative process that involves interpreting the results of the automated quality analysis and identifying appropriate measures to improve the quality where necessary. While our approach is only afirst step in the direction of tool-supported QA for UML models, it clearly demonstrates the potential of amodel based development approach, the possibilities for process improvement by integrating tool support for quality analysis, and the importance of well-defined modeling profiles. Well-designed models offer rich information which helps to automate the quality analysis which improves the efficiency of the QA process. This is especially interesting because models are developed earlier in the process; therefore, the quality of work products can be improvedearlier in the process by using automated support for model QA. The prerequisite is aprocess that actually develops and uses models in earlier phases of the project. The crucial requirement for achieving quality and productivity advantages is a modeling profile that appropriately matches the domain, offers the right abstractions for each development phase, and makes it possible to formulate powerful quality criteria. The effectiveness of the automated analysis depends on the underlying quality attributes and how well they are suited to describe the quality of the system. Quality analysis on plain UML models that don t use a specific profile are as powerful as analysis on the source code. Therefore the key to successful automated support is to find the right quality criteria. In our case study, we demonstrate that it is important to take advantage of the additional semantic information givenbythe stereotypes. 499

4.1 Related Work Critical views on the MDA are expressed by Dave Thomas [Tho04], Steve Cook [Coo04] and Martin Fowler [Fow04] who compare the MDA approach to the ideas of CASE tools in the 1980 s, and CASE clearly failed to live up its promises [Coo04]. Cook promotes Microsoft s MDA alternative. All authors mainly discuss the development of systems using MDA. The maintainability of such systems is analyzed in [SBB04]. Refer to [KB04] for a critical view on metrics and measurement in the software development and maintenance process. 4.2 Outlook For information systems, a very important quality criterion is the maintainability in the long run, which in turn depends on the readability, the structuring of the system, and a number of other factors. The CA approach is too young to report any experiences with respect to maintainability of CA systems. Analyzing this issue will be future work. References [Coo04] [Fow04] [Jug04] [KB04] [MM01] Steve Cook. Domain-Specific Modelling and Model Driven Architecture. MDAJournal, Business Process Trends,pages 2 10, January 2004. Martin Fowler. Model Driven Architecture. http://www.martinfowler.com/ bliki/modeldrivenarchitecture.html (June 2004), February 2004. Florian Jug. Methoden und Techniken zur Qualitätssicherung im Software-Prozess der BMW-Group. Master s thesis, Technische Universität M ünchen, September 2004. Cem Kaner and Walter P. Bond. Software Engineering Metrics: What Do They Measure and HowDoWeKnow? In 10th International SoftwareMetrics Symposium,2004. Joaquin Miller and Jishnu Mukerji. Model Driven Architecture A Technical Perspective. http://www.omg.org/cgi-bin/apps/doc?ormsc/01-07-01.pdf (June 2004), July 2001. [RSB + 04] G ünther Rackl, UlrikeSommer,Klaus Beschorner,Heinz K ößler,and Adam Bien. Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture. ObjektSpektrum,5,May 2004. [SBB04] Tilman Seifert, Gerd Beneken, and Niko Baehr. Engineering Long-Lived Applications Using MDA. In Intl. Conference on Software Engineering and Applications, pages 241 246, Cambridge, MA, November 2004. IASTED. [Tho04] Dave Thomas. MDA: Revenge of the Modelers or UML Utopia? IEEE Software, 21(3):15 17, May 2004. [TOG05] Together Website. www.borland.com/together,april 2005. 500