چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques (Advanced Information and Knowledge Processing)

Vytautas Stuikys, Robertas Damasevicius

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۳
فرمت
PDF
زبان
انگلیسی
حجم فایل
۷٫۳ مگابایت

دربارهٔ کتاب

-- Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques presents an overall analysis of meta-programming, focusing on insights of meta-programming techniques, heterogeneous meta-program development processes in the context of model-driven, feature-based and transformative approaches. -- The fundamental concepts of meta-programming are still not thoroughly understood, in this well organized book divided into three parts the authors help to address this. Chapters include: -- Taxonomy of fundamental concepts of meta-programming; -- Concept of structural heterogeneous meta-programming based on the original meta-language; -- Model-Driven concept and feature-based modeling to the development process of meta-programs; -- Equivalent meta-program transformations and metrics to evaluate complexity of feature-based models and meta-programs; -- Variety of academic research case studies within different application domains to experimentally verify the soundness of the investigated approaches. -- Both authors are professors at Kaunas University of Technology with 15 years research and teaching experience in the field. Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques is aimed at post-graduates in computer science and software engineering and researchers and program system developers wishing to extend their knowledge in this rapidly evolving sector of science and technology Meta-Programming and Model-Driven Meta-Program Development Preface Acknowledgements Contents Part I Chapter 1 Introduction 1.1 What Is Meta-Programming? 1.2 Origins of Meta-Programming and Its Evolution 1.3 Other Definitions of Meta-Programming 1.4 Why Is Meta-Programming Needed? 1.5 Meta-Programming as a Higher-Level Thinking Paradigm to Develop Systems 1.6 The Topics This Book Addresses 1.7 Summary and Concluding Remarks 1.8 Exercise Questions References Chapter 2 Taxonomy of Fundamental Concepts of Meta-Programming 2.1 What Is Taxonomy? 2.2 Fundamental Concepts of Meta-Programming 2.2.1 Transformation 2.2.2 Generation 2.2.3 Meta-Program 2.2.4 Levels of Abstraction 2.2.5 Generalization 2.2.6 Separation of Concerns 2.2.7 Reflection 2.2.8 Metadata 2.3 Taxonomy of Meta-Programming Concepts 2.4 Analysis of Meta-Programming Sources 2.5 What Can One Learn from Meta-Programming Taxonomy? 2.6 Summary 2.7 Exercise Questions References Chapter 3 A Background of Meta-Programming Techniques 3.1 Introduction 3.2 Preliminary Principles 3.3 Fundamental Principles of Meta-Programming 3.3.1 Separation of Concepts 3.3.2 Taxonomy Axes to Describe Relationships Between Concepts 3.3.3 Levels of Abstractions and Meta-Programming 3.3.4 Integration of Concepts 3.4 Process-Based Relationships of Meta-Programming Concepts 3.5 Multidimensional Separation of Concepts and Meta-Programming 3.6 Representation of Meta-Programming Concepts Using Feature Diagrams: MDSoC View 3.7 Summary and Evaluation 3.8 Exercise Questions References Chapter 4 Homogeneous Meta-Programming Techniques with Case Study 4.1 Introduction 4.2 Language-Independent Aspects of Homogeneous Meta-Programming 4.3 Terminology, Taxonomy and Formal Description of Homogeneous Meta-Programming Domain 4.3.1 Functional Homogeneous Meta-Programming 4.3.2 Structural Homogeneous Meta-Programming 4.3.3 Mixed Homogeneous Meta-Programming 4.4 Homogeneous Meta-Programming in Java 4.4.1 Basic Built-In Abstractions 4.4.2 Taxonomy of Homogeneous Meta-Programming Techniques in Java 4.4.3 Functional Homogeneous Meta-Programming Techniques 4.4.4 Structural Homogeneous Meta-Programming Techniques 4.5 Homogeneous Meta-Programming in VHDL 4.5.1 Similarities and Differences Between VHDL and General-Purpose Programming Languages (GPLs) 4.5.2 Component Generalization Framework in VHDL 4.6 Case Study: Development of Generic GATE Component in VHDL 4.6.1 Formulation of Requirements 4.6.2 Development of Generic Interface 4.6.3 Development of Generic Architecture 4.6.4 How Generic Component Is Used to Compose a Higher-Level Component/System 4.7 Summary 4.8 Exercise Questions References Chapter 5 Structural Heterogeneous Meta-Programming 5.1 Introduction 5.2 Analysis of Structural Meta-Programming 5.3 Basics of Heterogeneous Meta-Programming 5.3.1 Explicit Separation of Concerns: A Two-Dimensional Model 5.3.2 Integration of Separated Concerns 5.3.3 Component Instance Models 5.3.4 Generic Component Models 5.4 Pre-Requirements for Meta-Languages 5.5 Summary, Evaluation and Conclusions 5.6 Exercise Questions References Chapter 6 Open PROMOL: A Meta-Language for Heterogeneous Meta-Programming 6.1 Introduction and Motivation 6.2 What Concepts Does the Language Implement? 6.3 Basic Features of the Syntax and Semantics 6.4 Main Capabilities of the Language 6.5 Case Study: VHDL Code Modification via Widening, Narrowing and Isolation 6.6 Comparative Studies 6.6.1 Open PROMOL vs. Java (C=+=+) as Meta-Languages 6.6.2 PHP as Meta-Language for Web-Based Applications 6.7 Evaluation of the Approach 6.8 Summary, Current State of the Language and Conclusions 6.9 Exercise Questions References Part II Chapter 7 A Framework to Deal with Heterogeneous Meta-Programming in Large: Meta-Program Lifecycle 7.1 Introduction 7.2 Preliminary Assumptions and Motivation 7.3 General Description of the Framework 7.4 Roles of Actors Within the Framework 7.5 Meta-Design, Design Spaces and Meta-Programming 7.6 Domain Variability Modelling and Meta-Programming 7.7 Design-for-Change, Context Modelling and Meta-Programming 7.8 Summary 7.9 Exercise Questions References Chapter 8 A Model-Driven View to Meta-Program Development Process 8.1 Introduction 8.2 Related Works 8.3 Framework for Model-Driven Analysis of Meta-Program Development 8.3.1 Basic Assumptions and Terminology 8.3.2 Description of the Framework 8.3.3 Meta-Model to Specify Problem Domain Abstractions 8.3.4 Instances of FD Meta-Model 8.3.4.1 Meta-Model of Meta-Program 8.3.4.2 Instance of the Meta-Program Meta-Model 8.3.5 Elements of the Instance of Meta-Program Meta-Model 8.4 Interpretation of Transformations 8.5 Requirements for Tools to Support (Semi-) Automatic Development of Meta-Programs 8.6 Summary and Evaluation 8.7 Exercise Questions References Chapter 9 Cognitive Insights into Feature Diagram Notation and Beyond 9.1 Introduction 9.2 Overview of Feature Variability Management Research 9.3 Introduction into Feature Diagrams 9.3.1 Feature Definitions and Original Context of Use 9.3.2 Feature Model 9.3.3 Feature Types 9.3.4 Feature Diagram Definition and Variants of Notation 9.3.5 Basic Set of Abstractions in Standard Feature Diagram 9.4 Extensions of Feature Diagrams 9.4.1 Ontology-Based Extension 9.4.2 Extension for Quality-Oriented Modelling 9.4.3 Feature Diagram Extension for Variation Sequence Modelling 9.4.4 Other Known Extensions of Feature Diagram Notation 9.5 Summary 9.6 Exercise Questions References Chapter 10 Meta-Programming Task Specification Using Feature-Based Patterns and Domain Program Scenarios 10.1 Introduction 10.2 Problem Statement 10.3 Binding the Task with Other Domains 10.3.1 Analysis of Feature-Based Modelling Research 10.3.2 Analysis of Program Understanding Research 10.4 Framework to Consider Meta-Program Specification Tasks 10.5 Concept of Feature-Based Patterns 10.5.1 Definitions 10.5.2 Elements of Feature Diagram Instance as Patterns 10.5.3 Some Properties of Patterns 10.6 Summary, Evaluation and Further Research 10.7 Exercise Questions References Chapter 11 Meta-Program Development as a Model Transformation Process 11.1 Introduction 11.2 Meta-Program Development Strategies 11.3 Transformation Tasks 11.4 Meta-Program Understanding and Concept of Multi-Stage Meta-Programming 11.4.1 Definition of Basic Terms 11.4.2 Understanding of One-Stage Meta-Programs 11.4.3 Understanding of Multi-Stage Meta-Programs 11.4.4 Static and Dynamic Analysis and Properties of Models for Understanding 11.5 Representation of Source Models 11.6 Representation of Target Model and Overall Design Process 11.7 Transformation Rules and Methodology 11.7.1 Stages of the Methodology 11.7.2 Transformation Rules with Example 11.8 Summary, Evaluation and Conclusions 11.9 Exercise Questions References Chapter 12 Complexity Evaluation of Feature Models and Meta-Programs 12.1 What Is Complexity? 12.2 Complexity Management 12.3 Complexity Metrics 12.4 Complexity Measures of Feature Models as Meta-Programs Specifications 12.5 Evaluation of Abstraction Levels 12.6 Complexity of Meta-Programs and Meta-Programming Techniques 12.7 Complexity Metrics of Heterogeneous Meta-Programs 12.7.1 Information Dimension: Relative Kolmogorov Complexity 12.7.2 Meta-language Dimension: Meta-language Richness 12.7.3 Graph Dimension: Cyclomatic Complexity 12.7.4 Algorithmic Complexity: Normalized Difficulty 12.7.5 Cognitive Complexity: Cognitive Difficulty 12.8 Complexity of Homogeneous Meta-Programming 12.9 Theoretical Validation of Complexity Metrics 12.10 Examples of Meta-Program Complexity Calculation 12.10.1 Complexity of Heterogeneous Meta-Programs 12.10.2 Complexity of Homogeneous Meta-Programs 12.11 Summary, Evaluation and Future Work 12.12 Exercise Questions References Part III Chapter 13 A Framework: How Can Heterogeneous Meta-Programs Be Further Generalized? 13.1 Introduction 13.2 A Framework to Analyse Generalization 13.2.1 Generalization Concept and Tasks 13.2.2 Why Structural Generalization Is Needed? 13.2.3 Why More Than Two Languages Are Needed? 13.2.4 More About the Language Aspects 13.2.5 Combining the Development and Evolution Stages Through Prediction and Anticipation 13.3 Summary 13.4 Exercise Questions References Chapter 14 Meta-Meta-Programming and Equivalent Transformations of Heterogeneous Meta-Programs 14.1 Introduction 14.2 Related Works 14.3 Definitions of Basic Terms 14.4 Transformation Tasks 14.5 Transformation Method 14.6 Transformation Properties 14.7 Theoretical Background and Formal Description 14.8 Transformation-Based Processes to Develop Multi-Stage Meta-Programs 14.9 Summary, Discussion and Evaluation 14.10 Conclusions 14.11 Exercise Questions References Chapter 15 Multi-Linguistic Aspects of Heterogeneous Meta-Programming in Web Applications 15.1 Introduction 15.2 A Survey of Technologies to Support Portal Development 15.3 Identification of Typical Web Components 15.4 Problem Statement 15.5 Properties of Web Component Instances 15.6 Web Component Generator Model 15.7 Analysis of Web Generators Designed Using Multi-Linguistic Meta-Programming 15.8 Summary, Evaluation and Conclusions 15.9 Exercise Questions References Chapter 16 Applications of Meta-Programming Methodology 16.1 Introduction 16.2 Meta-Programming in HW Design 16.3 Meta-Programming for Creating LOs for Teaching HW Design 16.4 Context-Related Modelling and Meta-Programming for Embedded SW Domain 16.5 Meta-Programming as Component Wrapping Technology 16.5.1 Communication-Based Design 16.5.2 Reliable System Design 16.6 Internet-Based Application of Meta-Programming 16.7 Summary and Evaluation 16.8 Exercise Questions References What Is on the Horizon? Glossary Index __Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques__ presents an overall analysis of meta-programming, focusing on insights of meta-programming techniques, heterogeneous meta-program development processes in the context of model-driven, feature-based and transformative approaches. Both authors are professors at Kaunas University of Technology with 15 years research and teaching experience in the field. __Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques__ is aimed at post-graduates in computer science and software engineering and researchers and program system developers wishing to extend their knowledge in this rapidly evolving sector of science and technology.

کتاب‌های مشابه

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques (Advanced Information and Knowledge Processing Book 5)

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques (Advanced Information and Knowledge Processing Book 5)

۴۹٬۰۰۰ تومان

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques (Advanced Information and Knowledge Processing Book 5)

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques (Advanced Information and Knowledge Processing Book 5)

۴۹٬۰۰۰ تومان

مهندسی مدل‌محور سیستم‌های اطلاعاتی: اصول، تکنیک‌ها و شیوه‌ها

مهندسی مدل‌محور سیستم‌های اطلاعاتی: اصول، تکنیک‌ها و شیوه‌ها

۴۹٬۰۰۰ تومان

Advanced Techniques in Knowledge Discovery and Data Mining (Advanced Information and Knowledge Processing)

Advanced Techniques in Knowledge Discovery and Data Mining (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

Advanced Techniques in Knowledge Discovery and Data Mining (Advanced Information and Knowledge Processing)

Advanced Techniques in Knowledge Discovery and Data Mining (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

۴۹٬۰۰۰ تومان

Models of Computation for Big Data (Advanced Information and Knowledge Processing)

Models of Computation for Big Data (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

Models of Computation for Big Data (Advanced Information and Knowledge Processing)

Models of Computation for Big Data (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

۴۹٬۰۰۰ تومان

Knowledge Cartography: Software Tools and Mapping Techniques (Advanced Information and Knowledge Processing)

Knowledge Cartography: Software Tools and Mapping Techniques (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

Knowledge Cartography: Software Tools And Mapping Techniques (advanced Information And Knowledge Processing)

۴۹٬۰۰۰ تومان

Ontologies in Urban Development Projects (Advanced Information and Knowledge Processing)

Ontologies in Urban Development Projects (Advanced Information and Knowledge Processing)

۴۹٬۰۰۰ تومان

قیمت نهایی

۴۰٬۰۰۰ تومان