Meta-Programming and Model-Driven Meta-Program Development

Meta-Programming and Model-Driven Meta-Program Development

Author: Vytautas Štuikys

Publisher: Springer Science & Business Media

Published: 2012-08-21

Total Pages: 330

ISBN-13: 1447141261

DOWNLOAD EBOOK

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.


Model-Driven Software Development

Model-Driven Software Development

Author: Markus Völter

Publisher: John Wiley & Sons

Published: 2013-06-26

Total Pages: 414

ISBN-13: 111872576X

DOWNLOAD EBOOK

Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP. MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations. This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver: * A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories. * Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture. * Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering. * Essential management knowledge covering economic and organizational topics, from a global perspective. Get started and benefit from some practical support along the way!


Smart Learning Objects for Smart Education in Computer Science

Smart Learning Objects for Smart Education in Computer Science

Author: Vytautas Štuikys

Publisher: Springer

Published: 2015-05-31

Total Pages: 325

ISBN-13: 3319169130

DOWNLOAD EBOOK

This monograph presents the challenges, vision and context to design smart learning objects (SLOs) through Computer Science (CS) education modelling and feature model transformations. It presents the latest research on the meta-programming-based generative learning objects (the latter with advanced features are treated as SLOs) and the use of educational robots in teaching CS topics. The introduced methodology includes the overall processes to develop SLO and smart educational environment (SEE) and integrates both into the real education setting to provide teaching in CS using constructivist and project-based approaches along with evaluation of pedagogic outcomes. Smart Learning Objects for Smart Education in Computer Science will appeal to researchers in CS education particularly those interested in using robots in teaching, course designers and educational software and tools developers. With research and exercise questions at the end of each chapter students studying CS related courses will find this work informative and valuable too.


Smart STEM-Driven Computer Science Education

Smart STEM-Driven Computer Science Education

Author: Vytautas Štuikys

Publisher: Springer

Published: 2018-06-28

Total Pages: 370

ISBN-13: 3319784854

DOWNLOAD EBOOK

At the centre of the methodology used in this book is STEM learning variability space that includes STEM pedagogical variability, learners’ social variability, technological variability, CS content variability and interaction variability. To design smart components, firstly, the STEM learning variability space is defined for each component separately, and then model-driven approaches are applied. The theoretical basis includes feature-based modelling and model transformations at the top specification level and heterogeneous meta-programming techniques at the implementation level. Practice includes multiple case studies oriented for solving the task prototypes, taken from the real world, by educational robots. These case studies illustrate the process of gaining interdisciplinary knowledge pieces identified as S-knowledge, T-knowledge, E-knowledge, M-knowledge or integrated STEM knowledge and evaluate smart components from the pedagogical and technological perspectives based on data gathered from one real teaching setting. Smart STEM-Driven Computer Science Education: Theory, Methodology and Robot-based Practices outlines the overall capabilities of the proposed approach and also points out the drawbacks from the viewpoint of different actors, i.e. researchers, designers, teachers and learners.


Metaprogramming in .NET

Metaprogramming in .NET

Author: Jason Bock

Publisher: Simon and Schuster

Published: 2012-12-30

Total Pages: 517

ISBN-13: 1638351813

DOWNLOAD EBOOK

Summary Metaprogramming in .NET is designed to help readers understand the basic concepts, advantages, and potential pitfalls of metaprogramming. It introduces core concepts in clear, easy-to-follow language and then it takes you on a deep dive into the tools and techniques you'll use to implement them in your .NET code. You'll explore plenty of real-world examples that reinforce key concepts. When you finish, you'll be able to build high-performance, metaprogramming-enabled software with confidence. About the Technology When you write programs that create or modify other programs, you are metaprogramming. In .NET, you can use reflection as well as newer concepts like code generation and scriptable software. The emerging Roslyn project exposes the .NET compiler as an interactive API, allowing compile-time code analysis and just-in-time refactoring. About this Book Metaprogramming in .NET is a practical introduction to the use of metaprogramming to improve the performance and maintainability of your code. This book avoids abstract theory and instead teaches you solid practices you'll find useful immediately. It introduces core concepts like code generation and application composition in clear, easy-to-follow language. Written for readers comfortable with C# and the .NET framework—no prior experience with metaprogramming is required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's Inside Metaprogramming concepts in plain language Creating scriptable software Code generation techniques The Dynamic Language Runtime About the Authors Kevin Hazzard is a Microsoft MVP, consultant, teacher, and developer community leader in the mid-Atlantic USA. Jason Bock is an author, Microsoft MVP, and the leader of the Twin Cities Code Camp. "An excellent way to start fully using the power of metaprogramming."—From the Foreword by Rockford Lhotka, Creator of the CSLA .NET Framework Table of Contents PART 1 DEMYSTIFYING METAPROGRAMMING Metaprogramming concepts Exploring code and metadata with reflection PART 2 TECHNIQUES FOR GENERATING CODE The Text Template Transformation Toolkit (T4) Generating code with the CodeDOM Generating code with Reflection.Emit Generating code with expressions Generating code with IL rewriting PART 3 LANGUAGES AND TOOLS The Dynamic Language Runtime Languages and tools Managing the .NET Compiler


Evolution of STEM-Driven Computer Science Education

Evolution of STEM-Driven Computer Science Education

Author: Vytautas Štuikys

Publisher: Springer Nature

Published: 2024-01-01

Total Pages: 368

ISBN-13: 3031482352

DOWNLOAD EBOOK

The book discusses the evolution of STEM-driven Computer Science (CS) Education based on three categories of Big Concepts, Smart Education (Pedagogy), Technology (tools and adequate processes) and Content that relates to IoT, Data Science and AI. For developing, designing, testing, delivering and assessing learning outcomes for K-12 students (9-12 classes), the multi-dimensional modelling methodology is at the centre. The methodology covers conceptual and feature-based modelling, prototyping, and virtual and physical modelling at the implementation and usage level. Chapters contain case studies to assist understanding and learning. The book contains multiple methodological and scientific innovations including models, frameworks and approaches to drive STEM-driven CS education evolution. Educational strategists, educators, and researchers will find valuable material in this book to help them improve STEM-driven CS education strategies, curriculum development, and new ideas for research.


Programming and Meta-Programming in Scheme

Programming and Meta-Programming in Scheme

Author: Jon Pearce

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 352

ISBN-13: 1461216826

DOWNLOAD EBOOK

A comprehensive first course in Scheme, covering all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal is to teach students to program in Scheme, this will be suitable for anyone taking a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems - all of which require short Scheme procedures. As well as providing a thorough grounding in Scheme, the author discusses different programming paradigms in depth. An important theme throughout is that of "meta-programming", thus providing an insight into topics such as type-checking and overloading which might otherwise be missed.


Design for Teaching and Learning in a Networked World

Design for Teaching and Learning in a Networked World

Author: Gráinne Conole

Publisher: Springer

Published: 2015-09-07

Total Pages: 663

ISBN-13: 331924258X

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 10th European Conference on Technology Enhanced Learning, EC-TEL 2015, held in Toledo, Spain, in September 2015. The 27 full papers, 19 short papers, 9 demo papers and 23 posters were carefully reviewed and selected from 176 submissions. They address topics such as blended learning; self-regulated and self directed learning; reflective learning; intelligent learning systems; learning communities; learning design; learning analytics; learning assessment; personalization and adaptation; serious games; social media; massive open online courses (MOOCs); schools of the future.


Conceptual Modeling Perspectives

Conceptual Modeling Perspectives

Author: Jordi Cabot

Publisher: Springer

Published: 2017-10-12

Total Pages: 274

ISBN-13: 3319672711

DOWNLOAD EBOOK

Conceptual modeling has always been one of the main issues in information systems engineering as it aims to describe the general knowledge of the system at an abstract level that facilitates user understanding and software development. This collection of selected papers provides a comprehensive and extremely readable overview of what conceptual modeling is and perspectives on making it more and more relevant in our society. It covers topics like modeling the human genome, blockchain technology, model-driven software development, data integration, and wiki-like repositories and demonstrates the general applicability of conceptual modeling to various problems in diverse domains. Overall, this book is a source of inspiration for everybody in academia working on the vision of creating a strong, fruitful and creative community of conceptual modelers. With this book the editors and authors want to honor Prof. Antoni Olivé for his enormous and ongoing contributions to the conceptual modeling discipline. It was presented to him on the occasion of his keynote at ER 2017 in Valencia, a conference that he has contributed to and supported for over 20 years. Thank you very much to Antoni for so many years of cooperation and friendship.


Model-Driven Engineering and Software Development

Model-Driven Engineering and Software Development

Author: Slimane Hammoudi

Publisher: Springer

Published: 2019-01-31

Total Pages: 507

ISBN-13: 3030110303

DOWNLOAD EBOOK

This book constitutes thoroughly revised and selected papers from the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, held in Funchal, Madeira, Portugal, in January 2018. The 22 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 101 submissions. They contribute to the development of highly relevant research trends in model-driven engineering and software development such as innovative methods for MDD-based development and testing of web-based applications and user interfaces, support for development of Domain-Specific Languages (DSLs), MDD-based application development on multiprocessor platforms, advances in MDD tooling, formal semantics and behaviour modelling, and MDD-based product-line engineering.