You are previewing Model–Driven Software Development: Integrating Quality Assurance.
O'Reilly logo
Model–Driven Software Development: Integrating Quality Assurance

Book Description

Model-Driven Software Development: Integrating Quality Assurance provides in-depth coverage of important concepts, issues, trends, methodologies, and technologies in quality assurance for model-driven software development. This Premier Reference Source provides educators, researchers, and practitioners with a comprehensive overview of current trends in research and practice of quality assurance in MDSD.

Table of Contents

  1. Copyright
  2. Foreword
  3. Preface
    1. MODEL-DRIVEN SOFTWARE DEVELOPMENT
    2. OVERALL OBJECTIVE OF THE BOOK
    3. TARGET AUDIENCE
    4. VOLUME OVERVIEW
  4. Acknowledgment
  5. I. Introduction: MDSD and Quality
    1. I. Managing the Quality of UML Models in Practice
      1. ABSTRACT
      2. INTRODUCTION
      3. CONTEMPORARY METHODS FOR DESIGN QUALITY ASSESSMENTS
        1. Quality Models for UML Models
        2. Design Inspection
          1. The Development of Inspection Methods
          2. Reading Techniques
          3. Design Measurement
        3. Object-Oriented Design Metrics
        4. The Use of Formal Methods for Design Quality Assessment
        5. Modeling Conventions
      4. A CASE STUDY ON QUALITY ASSURANCE IN UML MODELING
        1. Research Context and Scopes
        2. Research Questions and Research Methods
        3. Issues and Challenges in Managing UML Design Quality
          1. The Proportion and Completeness of UML Designs
            1. The Rationale Behind Design Proportion and Completeness
            2. Developer's Experience on UML Design Proportion and Completeness
          2. The Model: Code Correspondence
            1. Designer's Attitude towards Correspondence
            2. Method Used in Maintaining Correspondence
            3. Strictness in Correspondence for Different Constructs
            4. The Relation between Design Completeness and the Degree of Strictness in Maintaining Model – Code Correspondence
        4. Techniques and Methods in Design Quality Assurance
            1. Peer Review as an Assessment Method for UML Design Documents
            2. Tool Supports in Design Quality Assurance
        5. Some Reflections over the Issues
            1. Realizing Complete and Proportional Designs
            2. More Rigorous Approaches toward Correspondence
      5. FUTURE TRENDS
      6. CONCLUSION
      7. FUTURE RESEARCH DIRECTIONS
      8. REFERENCES
      9. ADDITIONAL READINGS
    2. II. Quality in Model Driven Engineering
      1. ABSTRACT
      2. INTRODUCTION TO EMBEDDED SYSTEM'S DESIGN
        1. A. Embedded Systems
        2. Characterizing Embedded Systems Design
        3. Challenges for Embedded Systems Design
      3. MODEL DRIVEN ENGINEERING (MDE)
      4. QUALITY ASSURANCE IN THE MDE DESIGN FLOW
      5. GOAL FORMULATION
      6. INTEGRATED ACTIVITIES
        1. Guidelines for Integrating Activities
        2. Experiences with Transformation in the Software Discipline
        3. Integrated Activities and Multiple Disciplines
      7. TRADE-OFF GOALS AND RESOURCES
      8. FEEDBACK
      9. FUTURE TRENDS
      10. CONCLUSION
      11. REFERENCES
      12. ADDITIONAL READING
    3. III. Examples and Evidence
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND
      4. MDA CASE STUDIES
        1. Adopting MDA for a Student LOS
          1. Background
            1. Introduction
            2. The LOS
          2. The MDA Pilot
          3. The Build 0 Module
            1. Constituents
            2. Pre-Conditions Assumed
            3. Retrieve and Display
            4. Document Verification
          4. Traditional Strategy
          5. MDA Strategy
            1. Modeling
            2. Code Generation
            3. EJB Tier
            4. Web Tier
          6. Results of Case Study
          7. Conclusion
        2. Applying MDA to an Air Traffic Control System
          1. The Air Traffic Control System
          2. MDA Quality Assurance
          3. Conclusion
      5. HIGH QUALITY SOFTWARE MODELS
        1. The Middleware Case Study
            1. Productivity Results
            2. Quality Results
        2. Automation with MDA Framework
        3. Applying MDA to Large Scale Distributed Systems
            1. Result
        4. Inventory Tracking System
            1. Result
        5. Enterprise Application Integration
            1. Result
        6. Model Driven Software Development and Offshore Outsourcing
            1. Result
        7. Inter-Enterprise Integration
        8. Total Business Integration
            1. Result
        9. MDA Applied to Web Services and Federated Systems
            1. Result
        10. Implementation of Web Services, Simplified
            1. Result
        11. A Model-Based Architecture for Data Warehouse
            1. Result
        12. MDA in Wireless (2.5 G)
            1. Result
      6. FUTURE RESEARCH DIRECTIONS
      7. INFERENCES
      8. CONCLUSION
      9. REFERENCES
      10. ADDITIONAL READING
    4. IV. Integrating Quality Criteria and Methods of Evaluation for Software Models
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND
      4. CONFIGURATION OF METHODS OF EVALUATION BASED ON QUALITY CRITERIA
        1. Definition of the Objectives and Identification of Objects Under Evaluation
        2. Quality Criteria
          1. Content and Expression Areas
          2. Syntax, Semantics and Notation
          3. Pragmatics
        3. Design of the Method of Evaluation
      5. CASE STUDIES
        1. Quality Criteria-Based Checklist
        2. Software Quality Prediction
        3. Evaluating VMLs from a Cognitive Perspective
      6. FUTURE TRENDS
      7. CONCLUSION
      8. REFERENCES
      9. ADDITIONAL READING
  6. II. Evaluating the Model Quality
    1. V. Evaluating Performance of Software Architecture Models with the Palladio Component Model
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND AND RELATED WORK
      4. DEVELOPER ROLES AND PROCESS MODEL
      5. OVERVIEW PALLADIO COMPONENT MODEL
        1. Component Developer
          1. Component Repositories
          2. Service Effect Specification
        2. Software Architect
        3. System Deployer
        4. Domain Expert
        5. Tool Support
      6. MODEL TRANSFORMATION AND PREDICTION METHODS
        1. Stochastic Process Algebra
        2. Queuing Network Simulation
        3. Java Code & Performance Prototype
      7. EXAMPLE
      8. FUTURE RESEARCH DIRECTIONS
      9. CONCLUSION
      10. REFERENCES
      11. ADDITIONAL READING
    2. VI. Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages
      1. ABSTRACT
      2. INTRODUCTION
      3. STATE OF THE ART
      4. META-MODELLING FOR DOMAIN SPECIFIC VISUAL LANGUAGES
        1. Multi-View Domain Specific Visual Languages
      5. MEASUREMENT AND REDESIGN
      6. SLAMMER: SPECIFICATION LANGUAGE FOR MODELLING MEASURES AND REDESIGNS
        1. Graphical Patterns in SLAMMER
        2. Specification of Measures in SLAMMER
        3. Specification of Actions in SLAMMER
      7. IMPLEMENTATION IN ATOM3
      8. ENRICHING THE LABYRINTH ENVIRONMENT WITH METRICS AND REDESIGNS
      9. USING SLAMMER IN A MDSD PROCESS
      10. FUTURE TRENDS
      11. CONCLUSION
      12. REFERENCES
      13. ADDITIONAL READING
    3. VII. Measuring Models
      1. ABSTRACT
      2. INTRODUCTION
      3. STATE OF THE ART
        1. Dedicated Model Measurement
          1. Metamodel Measurement
          2. MDE Processes Measurement
          3. UML Models Measurement
          4. Synthesis
        2. Metamodel Based Measurement of OO Programs
        3. Generic Metrics for OO Measurement
        4. Generic Model Measurement
      4. THE GENERIC Σ METRIC
        1. Definition of a MDE Model in Set Theory
        2. The Filtering Functions
          1. Set of Nodes
        3. Definition of the σ Metric
        4. Theoretical Validation
          1. Type
          2. Scale
          3. Dimensional Analysis
          4. Measurement Errors
          5. Conclusion
        5. Implementation
          1. Non-Programmer Use
          2. Libraries / Framework
          3. Ability to Access to the Metamodel
          4. Non-Intrusivity
          5. Our Implementation
      5. APPLICATIONS OF THE Σ METRIC
        1. Case Study: Lines of Code (LOC)
        2. Case Study: Requirements Metrics
        3. Case Study: System Engineering Metrics
      6. GENERICITY APPLIED TO METAMODEL METRICS
        1. Metamodels: Definition and Implementation
        2. Direct Application of the σ Metric for Metamodel Measurement
        3. The σ Metric as a Building Block so as to Take Into Account Metamodel Specificities
          1. Goal
          2. Questions
          3. Metrics
        4. Empirical Results on Real Metamodels
          1. Presentation of the Metamodels
          2. Results
      7. FUTURE RESEARCH DIRECTIONS
      8. CONCLUSION AND PERSPECTIVES
      9. REFERENCES
  7. III. Improving the Model Quality
    1. VIII. Model–Driven Software Refactoring
      1. ABSTRACT
      2. INTRODUCTION
        1. Model-Driven Software Engineering
        2. Program Refactoring
        3. Model-Driven Software Refactoring
      3. STATE-OF-THE-ART IN MODEL REFACTORING
      4. MOTIVATING EXAMPLE: MODEL-DRIVEN DEVELOPMENT WITH ANDROMDA
        1. Getting Started with Developing a University Calendar Using AndroMDA
        2. First Refactoring of the University Calendar
        3. Developing Application-Specific Use Cases with AndroMDA
        4. Further Refactoring of the University Calendar
      5. CHALLENGES IN MODEL-DRIVEN SOFTWARE REFACTORING
        1. Model Quality
        2. Model Synchronization
        3. Behavior Preservation
        4. Domain-Specific Modeling
        5. Analyzing Model Refactorings
      6. MOTIVATING EXAMPLE REVISITED
        1. Pull Up Attribute
        2. Rename
        3. Create Value Object
        4. Merge Services
        5. Split Activity
        6. Extract Method
      7. SPECIFIYING AND ANALYZING MODEL REFACTORINGS
        1. Technical Solution
        2. Formal Solution
        3. Related Work
      8. SUMMARY
      9. FUTURE RESEARCH DIRECTIONS
      10. REFERENCES
      11. ADDITIONAL READING
      12. ENDNOTES
    2. IX. A Pattern Approach to Increasing the Maturity Level of Class Models
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND
        1. Meta Object Facility (MOF)
        2. Object Constraint Language (OCL)
        3. Constraint Patterns
        4. Related Work
      4. INCREASING CLASS-MODEL MATURITY LEVELS
        1. Multiplicities of Properties
        2. Property Types
        3. Reflexive Associations
        4. Unique Object Identifiers
        5. Relations between Properties
      5. USING PATTERNS TO INCREASE MATURITY
        1. Multiplicities of Properties
        2. Property Types
        3. Reflexive Associations
        4. Unique Object Identifiers
        5. Relations between Properties
      6. TOOL SUPPORT AND FIRST EXPERIENCES
        1. Tool Support
        2. Experience Report
      7. CONCLUSION
      8. FUTURE RESEARCH DIRECTIONS
      9. ACKNOWLEDGMENT
      10. REFERENCES
      11. ADDITIONAL READING
    3. X. Transitioning from Code–Centric to Model–Driven Industrial Projects: Empirical Studies in Industry and Academia
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND
      4. ISSUES AND SOLUTIONS IN ADOPTING MDSD IN THE INITIAL PROJECTS
        1. How Much Can QA Benefit if Domain-Specific Modeling Notations are Used?
          1. UML Stereotypes and Reading Techniques
          2. Outline of Experiment Design
          3. Results
        2. How Much Productivity Improvement Can We Expect From The First Project?
          1. Outline of the Case Study Design
          2. Results
        3. Which are the Most Important Investments in the First Projects in MDSD?
          1. ISO/IEC 9126 Standard
        4. Outline of the Case Study Design
          1. Prioritization of Measurements in ISO/IEC 9126
          2. Prioritization of Quality Characteristics
          3. Prioritization of Improvements in the First Project
          4. Presence of Models in Experts' Work
          5. Decision Factors in Adoption of MDSD
        5. Validity Evaluation
      5. META-ANALYSIS
      6. CONCLUSION
        1. Future Research Directions
      7. ACKNOWLEDGMENT
      8. REFERENCES
      9. ADDITIONAL READING
      10. ENDNOTES
    4. XI. From Requirements to Java Code: An Architecture-Centric Approach for Producing Quality Systems
      1. ABSTRACT
      2. 1. INTRODUCTION
      3. 2. BACKGROUND
        1. 2.1 Functional Requirements Specification
        2. 2.2 Software Architecture Specification
        3. 2.3 Software Architecture Analysis
        4. 2.4 Code Generation from Software Architecture Specification
          1. 2.4.1 ADLs and Code Generation
          2. 2.4.2 Architectural Programming Languages (APLs)
            1. ArchJava
            2. Java/A
            3. Comparing ARCHJAVA and Java/A
      4. 3. MAIN THRUST OF THE CHAPTER: THE PROPOSED APPROACH
        1. W_PSC Requirements Specification and Formalization in the PSC Language
        2. 3.2 Software Architecture Model-Based Specification in CHARMY
        3. 3.3 Software Architecture Verification
        4. 3.4 JET/ARCHJAVA Code Generation
      5. 4. MAIN THRUST OF THE CHAPTER: A SAMPLE ATM SYSTEM
        1. 4.1 Functional Requirements Specification
        2. 4.2 Software Architecture Specification in CHARMY
        3. 4.3 W_PSC Requirements Specification and Formalization in the PSC Language
        4. 4.4 Software Architecture Verification
        5. 4.5 JET/ARCHJAVA Code Generation
      6. 5. FUTURE TRENDS
      7. 6. RELATED WORK
      8. 7. CONCLUSION
      9. ACKNOWLEDGMENT
      10. REFERENCES
      11. ENDNOTE
      12. APPENDIX A: JAVA/A CODE GENERATION
    5. XII. Quality–Driven Model Transformations: From Requirements to UML Class Diagrams
      1. ABSTRACT
      2. INTRODUCTION
      3. STATE-OF-THE-ART OF QUALITY FOR MODEL-DRIVEN SOFTWARE DEVELOPMENT
      4. A QUALITY-DRIVEN MODEL TRANSFORMATION APPROACH
      5. TRANSFORMING REQUIREMENTS MODELS INTO UML CLASS DIAGRAMS
        1. The Requirements Metamodel
        2. The UML Class Diagram Metamodel
        3. Defining Alternative Transformations using QVT
        4. Executing the Alternative Transformations in MOMENT
      6. EXPERIMENT DESCRIPTION
        1. Definition
        2. Planning
        3. Operation
        4. Data Analysis and Interpretation
          1. Descriptive Statistics
          2. Testing Hypotheses
        5. Threats to Validity
      7. CONCLUSION
      8. FUTURE RESEARCH DIRECTIONS
      9. REFERENCES
      10. ADDITIONAL READING
      11. APPENDIX A. AN EXAMPLE OF THE EXPERIMENTAL MATERIAL
        1. TEST R1
        2. SECTION A: Understandability
    6. XIII. A Framework for Understanding and Addressing the Semiotic Quality of Use Case Models
      1. ABSTRACT
      2. INTRODUCTION
      3. BACKGROUND
        1. An Overview of Use Case Models
          1. Representation of Use Case Models
          2. A UML View of Use Case Models
          3. Use Case Modeling and Software Process
        2. Related Work on the Quality of Use Case Models
      4. A SYSTEMATIC APPROACH FOR UNDERSTANDING AND ADDRESSING THE SEMIOTIC QUALITY OF USE CASE MODELS
        1. Feasibility
        2. Semiotic Quality Concerns
          1. Syntactic Quality
          2. Semantic Quality
          3. Pragmatic Quality
          4. Relationships among Semiotic Levels
        3. Means for Addressing Semiotic Quality Concerns
          1. Process-Oriented Means
            1. Pair Modeling
            2. Inspections
            3. Refactoring
          2. Product-Oriented Means
            1. Principles
            2. Guidelines
            3. Patterns and Anti-Patterns
            4. Metrics
            5. Tools
            6. Relationships among Means
        4. The Framework for Semiotic Quality of Use Case Models in Perspective
          1. Example
      5. CONCLUSION
      6. FUTURE RESEARCH DIRECTIONS
        1. Formalization of Use Case Domain Terminology
        2. Some Potential Extensions of the Framework
        3. Quality in Use Case Education
        4. Quality in Other Software Modeling Artifacts
      7. ACKNOWLEDGMENT
      8. REFERENCES
      9. ADDITIONAL READING
  8. IV. QA for MDSD in Specific Domains
    1. XIV. Assuring Maintainability in Model–Driven Development of Embedded Systems
      1. ABSTRACT
      2. INTRODUCTION
      3. EMBEDDED SYSTEMS DEVELOPMENT WITH MATLAB/SIMULINK/TARGETLINK
      4. MAINTENANCE AND MAINTAINABILITY
        1. Maintenance
        2. Maintainability
      5. GUIDELINES
      6. METRICS-BASED APPROACHES
      7. QUALITY MODELLING
      8. DISCUSSION
      9. QUALITY CRITERIA
        1. General Criteria
      10. MDSD
        1. Code Generation
      11. THE QUALITY METAMODEL
        1. Hierarchical Models
        2. An Activity-Based Model for Maintainability
        3. Attributes and Impacts
      12. IMPACTS
      13. ASSESSMENT
      14. THE METAMODEL
        1. Tool Support
      15. QUALITY ASSURANCE BASED ON A QUALITY MODEL
        1. Constructive QA
        2. Analytical QA
      16. CASE STUDY
        1. Environment
        2. Experiences
      17. CONSOLIDATION OF THE TERMINOLOGY
      18. RESOLUTION OF INCONSISTENCIES
      19. REVELATION OF OMISSIONS
        1. Usage of the Model
      20. CHECKLIST GENERATION
      21. AUTOMATIC ANALYSES
        1. Discussion
      22. FUTURE TRENDS
        1. Automatic Quality Controlling
        2. Integrated Quality Modelling
        3. Reuse
      23. DISCUSSION AND CONCLUSION
        1. Comparison With Classical QA
        2. Benefits and Drawbacks
      24. REFERENCES
      25. ADDITIONAL READING
      26. TRADEMARKS
      27. ENDNOTES
    2. XV. Quality Improvement in Automotive Software Engineering Using a Model–Based Approach
      1. ABSTRACT
      2. 1. INTRODUCTION
      3. 2. BACKGROUND, STATE OF THE ART, CHALLENGES
      4. 3. MAIN THRUST OF THE CHAPTER
        1. Case Study: Automated Evaluation of Quality Standards
      5. 4. SUMMARY, FUTURE RESEARCH DIRECTIONS
      6. 5. CONCLUSION
      7. REFERENCES
      8. ADDITIONAL READING
    3. XVI. Quality–Aware Model–Driven Service Engineering
      1. ABSTRACT
      2. INTRODUCTION
      3. MODEL-DRIVEN SERVICE ENGINEERING
        1. Service Engineering
        2. Model-Driven Development
        3. Model-Driven Service Engineering
        4. Model-Driven Service Engineering Case Study
      4. QUALITY IN SERVICE-BASED SOFTWARE SYSTEMS
        1. Iso 9126 Software Engineering – Software Product Quality
        2. IDLE Software Quality
        3. Discussion of Quality Aspects
      5. ARCHITECTURAL MODELLING
        1. An Architecture Ontology
        2. Service Architectures, Processes and Dynamic Dependencies
        3. Architecture Modelling Notation
        4. Modelling Approach: Overview
      6. SERVICE ARCHITECTURE: STYLES AND REFERENCE ARCHITECTURES
        1. Architectural Styles Principles
        2. Architectural Style Modelling
        3. Reference Architectures
        4. Quality-Driven Architecture
      7. PATTERN-BASED MODELLING, ARCHITECTURE, AND DEVELOPMENT
        1. Service Composition Meta-Model
        2. Layered Service Systems Modelling
        3. Service Distribution and Topology Modelling
      8. PERFORMANCE-DRIVEN MODELLING AND EVALUATION
        1. Software Performance, Evaluation and Motivation
        2. Instrumentation, Measurement and Evaluation
        3. Model-Driven Service Development and Instrumentation
        4. Model-Based Instrumentation Language
        5. Instrumentation Application
        6. Performance Monitoring
        7. Performance Evaluation
      9. CONCLUSION
      10. FUTURE RESEARCH DIRECTIONS
      11. REFERENCES
      12. ADDITIONAL READING
        1. Architecture and Service Ontologies General Background
        2. Service-Specific Background
        3. Standards
        4. Pattern-Based Modelling General Background
        5. Service-Specific Background
        6. Selected Approaches
        7. Performance Evaluation General Background
        8. Selected Approaches
        9. Standards
    4. XVII. Model–Driven Integration in Complex Information Systems: Experiences from Two Scenarios
      1. ABSTRACT
      2. 1. INTRODUCTION
      3. 2. BACKGROUND ON THE TECHNIQUES USED
      4. 3. CASE STUDIES FOR MODEL-DRIVEN INTEGRATION
        1. MINT
          1. Service Identification and Extraction
          2. Business Requirements
          3. Considering Domain Experts
          4. Model Transformation
        2. DER
          1. Legal Unbundling
        3. IEC-CIM
          1. Representing IEC-CIM Using RDF and XML
      5. 4. SCOPES OF THE TWO USE CASES
        1. Lessons Learned
      6. 5. CONCLUSION AND FURTHER ACTIONS
      7. ACKNOWLEDGMENT
      8. ADDITIONAL READING
      9. FUTURE (NEEDED) RESEARCH
      10. REFERENCES
      11. ENDNOTES
    5. XVIII. High–Quality Software Models of the Mid–Infrared Instrument for the James Webb Space Telescope
      1. ABSTRACT
      2. 1. INTRODUCTION
      3. 2. BACKGROUND AND CHALLENGES
      4. 3. EXPERIENCE WITH MODEL-BASED DESIGN FOR A COMPLEX SPACECRAFT SYSTEM'S SOFTWARE
        1. Issues, Controversies, Problems
        2. Solutions And Recommendations (1). Use Of UML-RT Concepts And Technology
        3. Solutions and Recommendations (2). Software Assurance Techniques Applied
        4. Manual Inspection Checklist for Models
        5. Observations
          1. Quality
          2. Flexibility
          3. Communication
          4. Productivity
      5. 4. FUTURE TRENDS
      6. 5. CONCLUSION
        1. Future Research Directions
      7. REFERENCES
      8. ADDITIONAL READING
  9. Compilation of References
  10. About the Contributors