Feature Model Management: Smart Operations and Language Support
The tutorial has been presented at MODELS'13 conference: http://models2013.lcc.uma.es/tutorials.html#TT7
This document provides an overview of a tutorial on model-based variability management. It discusses research conducted at INRIA on managing variability in software systems using modeling techniques. The tutorial will cover three main topics: 1) why modeling and managing variability is important, 2) managing variability models using FAMILIAR, and 3) model-based derivation of product variants with examples, tools, and open issues. It aims to provide attendees with an understanding of ongoing work in the field and techniques that can be applied in practical and academic contexts.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Modeling should be an independent scientific disciplineJordi Cabot
This document proposes that modeling should become an independent scientific discipline to better realize its full potential. Currently, modeling is seen primarily as a tool within software engineering, but it is applicable across many domains. An independent modeling discipline could bring together experts from different fields, develop a common body of knowledge and terminology, and help modeling gain more recognition and resources. Some initial steps suggested include making modeling tools more usable and accessible across domains, identifying economic benefits to promote adoption, and facilitating interdisciplinary publishing and education around modeling concepts and applications. The overarching goal is for modeling to serve all domains through a transdisciplinary approach.
1) The document introduces modeling and simulation through an introductory lecture. It discusses the goals of modeling, simulation, and the course.
2) It describes what models and simulations are, and provides examples of different types of models and applications of simulation.
3) The key steps in building a simulation model are outlined, including defining the goal, collecting input data, verifying and validating the model, and analyzing output.
The information in this slide is very useful for me to do the assignment regarding the simulation in which we have to report together with the presentation...
Slides presented at MODEVAR 2024 co-located with VaMoS 2024: https://modevar.github.io/program/ Thanks to Jessie Galasso and Chico Sundermann for the invitation Abstract: "Variability models (e.g., feature models) are widely considered in software engineering research and practice, in order to develop software product lines, configurable systems, generators, or adaptive systems. Numerous success stories of variability models have been reported in different domains (e.g., automotive, aerospace, avionics) and the applicability broadens. However, the use of variability models is not yet universally adopted… Why? Some examples: variability models are not continuously extracted from projects and artefacts; each time a variability model is used, its expressiveness and language should be specialized; learning-based models are decoupled from variability models; modeling software variability should cover different layers and their interactions, etc. The list is arguably opinionated, incomplete, and based on my own practical experience, but also on observations of existing works. I will give 24 reasons to occupy your day as a researcher or practitioner in the field of variability modeling."
Slides: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/vamos2024.md (Markdown content) PDF: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/VaMoS2024-MODEVAR.pdf (slides in PDF format)
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This webinar is going to cover what is a digital twin and how all stakeholders can benefit from their functionality. You will learn how model-based systems engineering enables digital engineering. Your host will discuss use cases, a realistic look at digital engineering and digital twins, and how you can use Innoslate to get started.
The Agenda
Here's what we're covering.
What is a Digital Twin
Benefits of Digital Twin
The Digital Engineering Path Enabled by MBSE
AR + MBSE Software
A More Realistic Digital Twin
Getting You Started with Digital Twins
Question Answer Session
This document provides an overview of a tutorial on model-based variability management. It discusses research conducted at INRIA on managing variability in software systems using modeling techniques. The tutorial will cover three main topics: 1) why modeling and managing variability is important, 2) managing variability models using FAMILIAR, and 3) model-based derivation of product variants with examples, tools, and open issues. It aims to provide attendees with an understanding of ongoing work in the field and techniques that can be applied in practical and academic contexts.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Modeling should be an independent scientific disciplineJordi Cabot
This document proposes that modeling should become an independent scientific discipline to better realize its full potential. Currently, modeling is seen primarily as a tool within software engineering, but it is applicable across many domains. An independent modeling discipline could bring together experts from different fields, develop a common body of knowledge and terminology, and help modeling gain more recognition and resources. Some initial steps suggested include making modeling tools more usable and accessible across domains, identifying economic benefits to promote adoption, and facilitating interdisciplinary publishing and education around modeling concepts and applications. The overarching goal is for modeling to serve all domains through a transdisciplinary approach.
1) The document introduces modeling and simulation through an introductory lecture. It discusses the goals of modeling, simulation, and the course.
2) It describes what models and simulations are, and provides examples of different types of models and applications of simulation.
3) The key steps in building a simulation model are outlined, including defining the goal, collecting input data, verifying and validating the model, and analyzing output.
The information in this slide is very useful for me to do the assignment regarding the simulation in which we have to report together with the presentation...
Slides presented at MODEVAR 2024 co-located with VaMoS 2024: https://modevar.github.io/program/ Thanks to Jessie Galasso and Chico Sundermann for the invitation Abstract: "Variability models (e.g., feature models) are widely considered in software engineering research and practice, in order to develop software product lines, configurable systems, generators, or adaptive systems. Numerous success stories of variability models have been reported in different domains (e.g., automotive, aerospace, avionics) and the applicability broadens. However, the use of variability models is not yet universally adopted… Why? Some examples: variability models are not continuously extracted from projects and artefacts; each time a variability model is used, its expressiveness and language should be specialized; learning-based models are decoupled from variability models; modeling software variability should cover different layers and their interactions, etc. The list is arguably opinionated, incomplete, and based on my own practical experience, but also on observations of existing works. I will give 24 reasons to occupy your day as a researcher or practitioner in the field of variability modeling."
Slides: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/vamos2024.md (Markdown content) PDF: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/VaMoS2024-MODEVAR.pdf (slides in PDF format)
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This webinar is going to cover what is a digital twin and how all stakeholders can benefit from their functionality. You will learn how model-based systems engineering enables digital engineering. Your host will discuss use cases, a realistic look at digital engineering and digital twins, and how you can use Innoslate to get started.
The Agenda
Here's what we're covering.
What is a Digital Twin
Benefits of Digital Twin
The Digital Engineering Path Enabled by MBSE
AR + MBSE Software
A More Realistic Digital Twin
Getting You Started with Digital Twins
Question Answer Session
Software Engineering- Crisis and Process ModelsNishu Rastogi
The document discusses various software engineering process models including the waterfall model, iterative waterfall model, prototyping model, evolutionary model, rapid application development model, and spiral model. It provides details on the key activities and stages in each model's software development life cycle. The document also compares the different models and discusses when each may be best applied based on factors like the problem's understandability, decomposability into modules, and tolerance for incremental delivery.
[Capella Days 2020] MBSE and the High-Tech Equipment Industry, how do they ma...Obeo
by Teun Hendriks, Senior Research Fellow (TNO-ESI)
MBSE is by now widely adopted in the Aerospace and Defense industry. These industries however typically develop their systems with very large, one-of-a-kind system projects, following the V model. A large upfront (MB)SE effort is justified then as the cost of late failures are extremely high.
The High-Tech Equipment Industry on the other hand develops their systems incrementally with an agile Systems Engineering process, supporting many product variants and often a configure-to-order sales process.
How does MBSE match up with the characteristics of the High-Tech Equipment Industry? ESI and its partners have started a collaborative project to study together whether, and if so how, MBSE, or MBSE elements, can improve Systems Engineering in this industry business context.
This talk will provide an update on the state of SE in the High-Tech Equipment Industry, its use of models, and the outlook on the fit of MBSE in this industry context.
How to enable innovations in Enterprise Mobility ?ANOOP KUMAR P
Innovations in enterprise mobility are challenged by forces of ecosystem. This presentation tries to structure the areas of innovations and approaches to address them. The scope of innovation spans from devices to business processes. An organized focus will help derive new values via innovations.
MDEForge is anextensible Web-based modeling platform specifically conceived to foster a community-based modeling repository, which underpins the development, analysis and reuse of modeling artifacts. Moreover, it enables the adoption of model management tools as software-as-a-service that can be remotely used without overwhelming the users with intricate and error-prone installation and configuration procedures.
www.mdefgorge.com, https://github.com/MDEGroup/MDEForge
What manufacturing teaches about DevOpsGordon Haff
Software development, like manufacturing, is a craft that requires the application of creative approaches to solve problems given a wide range of constraints. However, while engineering design may be craftwork, the production of most designed objects relies on a standardized and automated manufacturing process. By contrast, much of moving an application from prototype to production and, indeed, maintaining the application through its lifecycle has often remained craftwork. In this session, Gordon Haff discusses the many lessons and processes that DevOps can learn from manufacturing and the assembly line-like tools, such as Platform-as-a-Service, that provide the necessary abstraction and automation to make industrialized DevOps possible.
The document introduces MDEForge, a new collaborative modeling platform that aims to address challenges with current modeling tools. MDEForge will provide (1) a community-based modeling repository for developing, analyzing, and reusing modeling artifacts, (2) an online modeling tool appstore to support developing new languages and editors, and (3) modeling tools as a cloud-based software as a service. It will support features like model transformations, identifying model chains, applying metrics, model differencing, and collaborative modeling. The framework will leverage technologies like EMF, MongoDB, ATL, and RESTful web services.
Combining fUML and profiles for non-functional analysis based on model execut...Luca Berardinelli
For developing software systems it is crucial to consider non-functional properties already in an early development stage to guarantee that the system will satisfy its non-functional requirements. Following the model-based engineering paradigm facilitates an early analysis of non-functional properties of the system being developed based on the elaborated design models. Although UML is widely used in model-based engineering, it is not suitable for model-based analysis directly due to its lack of formal semantics. Thus, current model-based analysis approaches transform UML models into formal languages dedicated for analyses purpose, which may introduce accidental complexity of implementing the required model transformations.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
ICS2208 Lecture3 2023-2024 - Model Based User InterfacesVanessa Camilleri
Model-based user interface (MBUI) development uses models to capture world knowledge about users, tasks, and systems to develop user interfaces. These models include user models, task models, and system models. MBUIs have benefits like independence, rapid development, flexibility, and automation compared to traditional manual coding approaches. Challenges include complexity, limitations of automatic generation, and integrating adaptation. Example frameworks for MBUI development include Cameleon Reference Framework and MARIA. The future of MBUIs may integrate machine learning techniques like predictive user modeling and natural language processing to develop more adaptive and user-centered intelligent interfaces.
This document provides an overview of software engineering. It discusses what software engineering is, common software development process models like waterfall, spiral, agile development, and the Unified Software Development Process (USDP). The USDP follows an iterative approach with phases for inception, elaboration, construction, and transition. Each phase has milestones and the process involves iterations where requirements, design, coding, and testing are done to create executable increments.
Software Product Engineering Services | Digital TransformationSkizzle Technolabs
Skizzle is a global software product engineering company and a community of passionate, purpose-led individuals. We think disruptively to deliver technology to address our clients’ toughest challenge, all while seeking to revolutionize the IT industry and create positive social change.
Emerging standards and support organizations within engineering simulation Modelon
This document discusses emerging standards and support organizations within engineering simulation. It summarizes several key standards including SysML, Modelica, FMI, STEP, and OSLC. It discusses the goals and benefits of standards organizations like INCOSE and NAFEMS. The document advocates that engineers tie themselves to standards rather than specific tools to gain benefits like lower costs, improved competition between vendors, and increased ownership of models.
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
The document discusses the IEEE Computer Society's Software Engineering Body of Knowledge (SWEBOK) guide, which provides a common understanding of generally accepted software engineering knowledge and informs certifications and education. It describes the evolution of the SWEBOK from previous versions to the upcoming version 4, which will add new knowledge areas to address recent developments in areas like artificial intelligence, the Internet of Things, and DevOps. The IEEE Computer Society also produces reports on technology predictions and megatrends to help guide the future of the field.
This document discusses software product lines and product line architectures. It defines a software product line as a set of software systems that share a common set of features addressing a particular market segment. Product lines are developed from a common set of core assets in a prescribed way to reduce costs and increase reuse. A product line architecture is a common framework that standardizes components and maximizes reuse potential. It specifies common functionality and identifies variation points across related products. Variability management is important for providing flexibility without compromising commonality.
This document discusses human-computer interaction (HCI) and usability engineering. It covers HCI in the software development process, including design rules, evaluation techniques, and universal design. Specific topics covered include the software life cycle, usability engineering, iterative design and prototyping, design rationale, and evaluation methods. Prototyping techniques like storyboards and simulations are also discussed. The goal of the document is to provide an overview of how usability and user experience is incorporated into the software engineering process.
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
5th of April 2016. My presentation done at the 3rd Architecture Centric Virtual Integration Workshop (ACVI) workshop, co-located with WICSA and Comparch 2016, Venice, Italy.
Accompanying paper: http://www.ivanomalavolta.com/files/papers/IEEESoftware_2015.pdf
The document discusses software engineering and the Unified Software Development Process (USDP). It describes the USDP which includes phases of inception, elaboration, construction, and transition. Each phase involves iterations where requirements, analysis, design, implementation, and testing are done. The goal of each iteration is to produce an executable increment that is tested and evaluated.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Software Engineering- Crisis and Process ModelsNishu Rastogi
The document discusses various software engineering process models including the waterfall model, iterative waterfall model, prototyping model, evolutionary model, rapid application development model, and spiral model. It provides details on the key activities and stages in each model's software development life cycle. The document also compares the different models and discusses when each may be best applied based on factors like the problem's understandability, decomposability into modules, and tolerance for incremental delivery.
[Capella Days 2020] MBSE and the High-Tech Equipment Industry, how do they ma...Obeo
by Teun Hendriks, Senior Research Fellow (TNO-ESI)
MBSE is by now widely adopted in the Aerospace and Defense industry. These industries however typically develop their systems with very large, one-of-a-kind system projects, following the V model. A large upfront (MB)SE effort is justified then as the cost of late failures are extremely high.
The High-Tech Equipment Industry on the other hand develops their systems incrementally with an agile Systems Engineering process, supporting many product variants and often a configure-to-order sales process.
How does MBSE match up with the characteristics of the High-Tech Equipment Industry? ESI and its partners have started a collaborative project to study together whether, and if so how, MBSE, or MBSE elements, can improve Systems Engineering in this industry business context.
This talk will provide an update on the state of SE in the High-Tech Equipment Industry, its use of models, and the outlook on the fit of MBSE in this industry context.
How to enable innovations in Enterprise Mobility ?ANOOP KUMAR P
Innovations in enterprise mobility are challenged by forces of ecosystem. This presentation tries to structure the areas of innovations and approaches to address them. The scope of innovation spans from devices to business processes. An organized focus will help derive new values via innovations.
MDEForge is anextensible Web-based modeling platform specifically conceived to foster a community-based modeling repository, which underpins the development, analysis and reuse of modeling artifacts. Moreover, it enables the adoption of model management tools as software-as-a-service that can be remotely used without overwhelming the users with intricate and error-prone installation and configuration procedures.
www.mdefgorge.com, https://github.com/MDEGroup/MDEForge
What manufacturing teaches about DevOpsGordon Haff
Software development, like manufacturing, is a craft that requires the application of creative approaches to solve problems given a wide range of constraints. However, while engineering design may be craftwork, the production of most designed objects relies on a standardized and automated manufacturing process. By contrast, much of moving an application from prototype to production and, indeed, maintaining the application through its lifecycle has often remained craftwork. In this session, Gordon Haff discusses the many lessons and processes that DevOps can learn from manufacturing and the assembly line-like tools, such as Platform-as-a-Service, that provide the necessary abstraction and automation to make industrialized DevOps possible.
The document introduces MDEForge, a new collaborative modeling platform that aims to address challenges with current modeling tools. MDEForge will provide (1) a community-based modeling repository for developing, analyzing, and reusing modeling artifacts, (2) an online modeling tool appstore to support developing new languages and editors, and (3) modeling tools as a cloud-based software as a service. It will support features like model transformations, identifying model chains, applying metrics, model differencing, and collaborative modeling. The framework will leverage technologies like EMF, MongoDB, ATL, and RESTful web services.
Combining fUML and profiles for non-functional analysis based on model execut...Luca Berardinelli
For developing software systems it is crucial to consider non-functional properties already in an early development stage to guarantee that the system will satisfy its non-functional requirements. Following the model-based engineering paradigm facilitates an early analysis of non-functional properties of the system being developed based on the elaborated design models. Although UML is widely used in model-based engineering, it is not suitable for model-based analysis directly due to its lack of formal semantics. Thus, current model-based analysis approaches transform UML models into formal languages dedicated for analyses purpose, which may introduce accidental complexity of implementing the required model transformations.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
ICS2208 Lecture3 2023-2024 - Model Based User InterfacesVanessa Camilleri
Model-based user interface (MBUI) development uses models to capture world knowledge about users, tasks, and systems to develop user interfaces. These models include user models, task models, and system models. MBUIs have benefits like independence, rapid development, flexibility, and automation compared to traditional manual coding approaches. Challenges include complexity, limitations of automatic generation, and integrating adaptation. Example frameworks for MBUI development include Cameleon Reference Framework and MARIA. The future of MBUIs may integrate machine learning techniques like predictive user modeling and natural language processing to develop more adaptive and user-centered intelligent interfaces.
This document provides an overview of software engineering. It discusses what software engineering is, common software development process models like waterfall, spiral, agile development, and the Unified Software Development Process (USDP). The USDP follows an iterative approach with phases for inception, elaboration, construction, and transition. Each phase has milestones and the process involves iterations where requirements, design, coding, and testing are done to create executable increments.
Software Product Engineering Services | Digital TransformationSkizzle Technolabs
Skizzle is a global software product engineering company and a community of passionate, purpose-led individuals. We think disruptively to deliver technology to address our clients’ toughest challenge, all while seeking to revolutionize the IT industry and create positive social change.
Emerging standards and support organizations within engineering simulation Modelon
This document discusses emerging standards and support organizations within engineering simulation. It summarizes several key standards including SysML, Modelica, FMI, STEP, and OSLC. It discusses the goals and benefits of standards organizations like INCOSE and NAFEMS. The document advocates that engineers tie themselves to standards rather than specific tools to gain benefits like lower costs, improved competition between vendors, and increased ownership of models.
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
The document discusses the IEEE Computer Society's Software Engineering Body of Knowledge (SWEBOK) guide, which provides a common understanding of generally accepted software engineering knowledge and informs certifications and education. It describes the evolution of the SWEBOK from previous versions to the upcoming version 4, which will add new knowledge areas to address recent developments in areas like artificial intelligence, the Internet of Things, and DevOps. The IEEE Computer Society also produces reports on technology predictions and megatrends to help guide the future of the field.
This document discusses software product lines and product line architectures. It defines a software product line as a set of software systems that share a common set of features addressing a particular market segment. Product lines are developed from a common set of core assets in a prescribed way to reduce costs and increase reuse. A product line architecture is a common framework that standardizes components and maximizes reuse potential. It specifies common functionality and identifies variation points across related products. Variability management is important for providing flexibility without compromising commonality.
This document discusses human-computer interaction (HCI) and usability engineering. It covers HCI in the software development process, including design rules, evaluation techniques, and universal design. Specific topics covered include the software life cycle, usability engineering, iterative design and prototyping, design rationale, and evaluation methods. Prototyping techniques like storyboards and simulations are also discussed. The goal of the document is to provide an overview of how usability and user experience is incorporated into the software engineering process.
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
5th of April 2016. My presentation done at the 3rd Architecture Centric Virtual Integration Workshop (ACVI) workshop, co-located with WICSA and Comparch 2016, Venice, Italy.
Accompanying paper: http://www.ivanomalavolta.com/files/papers/IEEESoftware_2015.pdf
The document discusses software engineering and the Unified Software Development Process (USDP). It describes the USDP which includes phases of inception, elaboration, construction, and transition. Each phase involves iterations where requirements, analysis, design, implementation, and testing are done. The goal of each iteration is to produce an executable increment that is tested and evaluated.
Similar to Models2013 tutorial-smart featuremodeling-final (20)
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Generating privacy-protected synthetic data using Secludy and Milvus
Models2013 tutorial-smart featuremodeling-final
1. Philippe
Collet,
Philippe
Lahire,
Mathieu
Acher,
Robert
France
Feature
Model
Management:
Smart
Opera7ons
and
Language
Support
2. Acknowledgments
Simon
Urli
(PhD
student,
Université
Nice
Sophia
An@polis)
Marianela
Ciolfi
Felice,
Joao
Bosco
Ferreira
Filho,
Guillaume
Bécan,
Suresh
Pilay
,
Sana
Ben
Nasr
(MSc/PhD
students,
University
of
Rennes
1)
Ass.
Prof.
Olivier
Barais,
Ass.
Prof.
Benoit
Combemale
(University
of
Rennes
1)
Prof.
Patrick
Heymans
(University
of
Namur)
3. Audience
• No
pre-‐requisite
background!
• Targeted
Audience
• Academics
or
prac@@oners
• Curious
guys:
e.g.,
PhD
students
or
modellers
unaware
of…
– Variability
and
soXware
product
lines
(SPLs)
– Variability
modelling
– Configura@on
• MDE
guys:
people
involved
or
interested
in
the
development
of
model
management
tools
– e.g.,
model
composi@on/decomposi@on
• SPL
guys:
advances
that
want
to
learn
new
techniques
3
4. At
the
end
of
the
tutorial…
• You
will
have
an
overview
of
what’s
going
on
in
the
field
of
variability
and
model-‐based
soXware
product
line
engineering
• You
will
be
able
to
go
further
with
the
languages
and
modelling
techniques
• so
to
reuse
them
in
prac@cal
or
academic
contexts
• Suppor@ng
material:
h^ps://github.com/FAMILIAR-‐project/familiar-‐documenta@on/blob/
master/presenta@ons/MODELS2013/README.md
• slides
of
the
tutorial
• related
ar@cles,
• FAMILIAR
scripts,
• and
packaged
tools
to
interac@vely
play
with
the
models
during
the
tutorial
4
5. Differences
with
previous
tutorials
at
SPLC’12
/
MODELS’12
• Larger
perspec@ve/mo@va@on
• Including
modelling/architectural
examples
&
applica@ons
• Focus
on
FAMILIAR
support
• More
details
on
smart
opera@ons
• New
techniques
for
• reverse
engineering
(VaMoS’13)
and
• composing
(MODELS’13)
feature
models
FAMILIAR
is
now
a
project
not
only
a
language
for
managing
feature
models!
5
6. [MOTIVATION/PROBLEM]
Why
modeling
and
managing
Variability
does
and
will
ma^er
(45’)
[SOLUTION
FOR
MANAGING
FEATURE
MODELS]
Managing
Variability
Models
with
FAMILIAR
(1h30’)
[APPLICATION
FOR
MODEL-‐BASED
SPL
ENGINEERING]
Model-‐based
variability
engineering:
applica@ons,
advanced
topics,
support
(45’)
6
Plan
7. [MOTIVATION/PROBLEM]
Why
modeling
and
managing
Variability
does
and
will
ma^er
(45’)
[SOLUTION
FOR
MANAGING
FEATURE
MODELS]
Managing
Variability
Models
with
FAMILIAR
(1h30’)
[APPLICATION
FOR
MODEL-‐BASED
SPL
ENGINEERING]
Model-‐based
variability
engineering:
applica@ons,
advanced
topics,
support
(45’)
7
Plan
17. Variability
“the
ability
of
a
system
to
be
efficiently
extended,
changed,
customized
or
configured
for
use
in
a
par7cular
context”
Mikael
Svahnberg,
Jilles
van
Gurp,
and
Jan
Bosch
(2005)
18. «
A
set
of
programs
is
considered
to
cons@tute
a
family,
whenever
it
is
worthwhile
to
study
programs
from
the
set
by
first
studying
the
common
proper7es
of
the
set
and
then
determining
the
special
proper7es
of
the
individual
family
members
»
David
L.
Parnas
—
‘‘On
the
design
and
development
of
program
families’’
in
Transac7ons
on
SoNware
Engineering,
SE-‐2(1):1–9,
1976
18
aka
Variability
19. 19
19
Extensible
architectures
(eg
plugins-‐based)
Configura7on
files
System
Preferences
Configurators
Source
code
Build
systems
Comparison
of
*
Structural
or
behavorial
models
External
Variability
Internal
Variability
Variability
@
run.7me
20. 20
«
Feature
Model
Extrac@on
from
Large
Collec@ons
of
Informal
Product
Descrip@ons
»
Jean-‐Marc
Davril,
Edouard
Delfosse,
Negar
Hariri,
Mathieu
Acher,
Jane
Cleland-‐Huang,
Patrick
Heymans
(ESEC/FSE’13)
21. 300+
Products
Comparison
Matrices
in
Wikipedia
«
From
Comparison
Matrix
to
Variability
Model:
The
Wikipedia
Case
Study
»
Nicolas
Sannier,
Mathieu
Acher,
and
Benoit
Baudry
(ASE’2013)
22. 22
«
The
Anatomy
of
a
Sales
Configurator:
An
Empirical
Study
of
111
Cases
»
Ebrahim
Khalil
Abbasi,
Arnaud
Hubaux,
Mathieu
Acher,
Quen@n
Boucher,
and
Patrick
Heymans
(CAiSE’13)
23. 23
«
Extrac@on
and
Evolu@on
of
Architectural
Variability
Models
in
Plugin-‐based
Systems
»
Mathieu
Acher,
Anthony
Cleve,
Philippe
Collet,
Philippe
Merle,
Laurence
Duchien,
Philippe
Lahire
ECSA/SoSyM’13
24. If
you’re
able
to
master
variability…
• Reduce
development
costs
• Reduce
cer@fica@on
costs
• Shorten
@me-‐to-‐market
• But,
are
you
able?
– developing,
verifying,
cer@fying
billions
of
variants
is
challenging!
24
36. 36
Factoring
out
commonali7es
for
Reuse
[Krueger
et
al.,
1992]
[Jacobson
et
al.,
1997]
Managing
variabili7es
for
SoXware
Mass
Customiza7on
[Bass
et
al.,
1998]
[Krueger
et
al.,
2001],
[Pohl
et
al.,
2005]
37. Mobile
3G+ 3G GPS
Maps
Camera
ü
ü
ü
Mobile
3G+ 3G GPS
Maps
Camera
Domain/Variability
Model
Configura7on
SoNware
Generator
Domain
Artefacts
Domain
Engineering
Applica7on
Engineering
«
the
investments
required
to
develop
the
reusable
arBfacts
during
domain
engineering,
are
outweighed
by
the
benefits
of
deriving
the
individual
products
during
applica.on
engineering
»
Jan
Bosch
et
al.
(2004)
38. 38
99%
domain
engineering,
1%
applica7on
engineering?
– specifies
what
you
want
(click,
click,
click)
a
customized
product
is
automa@cally
built
for
you
– Iterate
the
process
for
n
products
Amount
of
effort
Application
Engineering
More Sophisticated
Technology
Domain
Engineering
42. Variability
Handling
in
AUTOSAR
Body
control
Low-‐end
light-‐
control
Adap@ve-‐curve
light-‐control
Feature
Modeling
(Variability
abstrac@on)
Generic
Template
(Variability
Realiza@on)
LightType
…
System
constant
Low
End
High
End
Car
1..1
Feature
v.
4.04
(upcoming)
v.
4.03
Low
End
==
1
High
End
==
1
Varia@on
point
Adapted
from
the
CVL
tutorial
at
SPLC’12
by
Oystein
Haugen,
Andrezj
Wasowski,
Krzysztof
Czarnecki
43. Variability
Handling
in
AUTOSAR
(2)
Feature
Modeling
(Variability
abstrac@on)
Generic
Template
(Variability
Realiza@on)
Low
End
High
End
Car
1..1
Body
control
Low-‐end
light-‐control
44. Varia7on
Point
Types
• Variability
is
applied
to
different
parts
of
the
metamodel
– Aggrega@on,
associa@on,
a^ribute
value,
property
set
• Resul@ng
variability
– Op@onal
component
– Op@onal
port
– Op@onal
connector
– Parameter
variability
Component
Port
Adapted
from
the
CVL
tutorial
at
SPLC’12
by
Oystein
Haugen,
Andrezj
Wasowski,
Krzysztof
Czarnecki
45. 45
«
Mapping
Features
to
Models:
A
Template
Approach
Based
on
Superimposed
Variants»
Krzysztof
Czarnecki
and
Michal
Antkiewicz
GPCE’05
46. 46
«
Mapping
Features
to
Models:
A
Template
Approach
Based
on
Superimposed
Variants»
Krzysztof
Czarnecki
and
Michal
Antkiewicz
GPCE’05
47. 47
«
Mapping
Features
to
Models:
A
Template
Approach
Based
on
Superimposed
Variants»
Krzysztof
Czarnecki
and
Michal
Antkiewicz
GPCE’05
48. 48
«
Mapping
Features
to
Models:
A
Template
Approach
Based
on
Superimposed
Variants»
Krzysztof
Czarnecki
and
Michal
Antkiewicz
GPCE’05
49. Safe
composi@on?
No!
49
«Verifying
Feature-‐Based
Model
Templates
Against
Well-‐Formedness
OCL
Constraints
»
Krzysztof
Czarnecki
Krzysztof
Pietroszek
GPCE’06
50. Ooops
50
«Verifying
Feature-‐Based
Model
Templates
Against
Well-‐Formedness
OCL
Constraints
»
Krzysztof
Czarnecki
Krzysztof
Pietroszek
GPCE’06
51.
52. 52
«
Extrac@on
and
Evolu@on
of
Architectural
Variability
Models
in
Plugin-‐based
Systems
»
Mathieu
Acher,
Anthony
Cleve,
Philippe
Collet,
Philippe
Merle,
Laurence
Duchien,
Philippe
Lahire
ECSA/SoSyM’13
53. 53
«
Extrac@on
and
Evolu@on
of
Architectural
Variability
Models
in
Plugin-‐based
Systems
»
Mathieu
Acher,
Anthony
Cleve,
Philippe
Collet,
Philippe
Merle,
Laurence
Duchien,
Philippe
Lahire
ECSA/SoSyM’13
FraSCAti
SCAParser
Java Compiler
JDK6 JDT
Optional
Mandatory
Alternative-
Group
Or-Group
Assembly Factory
resthttp
Binding
MMFrascati
Component Factory
Metamodel
MMTuscany
constraints
rest requires MMFrascati
http requires MMTuscany
FM1
Variability
Model
54. 54
Variability
Model
FraSCAti
SCAParser
Java Compiler
JDK6 JDT
Optional
Mandatory
Alternative-
Group
Or-Group
Assembly Factory
resthttp
Binding
MMFrascati
Component Factory
Metamodel
MMTuscany
constraints
rest requires MMFrascati
http requires MMTuscany
FM1
FraSCA7
Architecture
Set
of
Safe
Variants
authorized
by
FraSCA7
Scope
is
too
large
57. [MOTIVATION/PROBLEM]
Why
modeling
and
managing
Variability
does
and
will
ma^er
(45’)
[SOLUTION
FOR
MANAGING
FEATURE
MODELS]
Managing
Variability
Models
with
FAMILIAR
(1h30’)
[APPLICATION
FOR
MODEL-‐BASED
SPL
ENGINEERING]
Model-‐based
variability
engineering:
applica@ons,
advanced
topics,
support
(45’)
57
Plan
58. Variability
Model
Configura7on
Domain
Artefacts
(e.g.,
source
code)
SoNware
Generator
Modeling
variability
is
crucial
ü
ü
61. 61
61
Extensible
architectures
(plugins-‐based)
Configura7on
files
System
Preferences
Configurators
Source
code
Build
systems
Comparison
of
Product
62. Variability
Model
Feature
Model:
de
facto
standard
• Research
– 2500+
cita@ons
of
[Kang
et
al.,
1990]
on
Google
Scholar
– Central
to
many
genera@ve
approaches
• at
requirements
or
code
level
– Tools
&
Languages
(GUIDSL/FeatureIDE,
SPLOT,
FaMa,
etc.)
• Industry
– Tools
(Gears,
pure::variants),
• Common
Variability
Language
(CVL)
62
65. Feature
Models
(Background)
65
Hierarchy:
rooted
tree
Variability:
• mandatory,
• op@onal,
• Groups:
exclusive
or
inclusive
features
• Cross-‐tree
constraints
Optional
Mandatory
Xor-Group
Or-Group
66. 66
Hierarchy
+
Variability
=
set
of
valid
configura7ons
{CarEquipment,
Comfort,
DrivingAndSafety,
Healthing,
AirCondi@oning,
FrontFogLights}
configura7on
=
set
of
features
selected
Optional
Mandatory
Xor-Group
Or-Group
67. 67
Hierarchy
+
Variability
=
set
of
valid
configura7ons
{CarEquipment,
Comfort,
DrivingAndSafety,
Healthing,
AirCondi@oning}
configura7on
=
set
of
features
selected
Optional
Mandatory
Xor-Group
Or-Group
68. 68
Hierarchy
+
Variability
=
set
of
valid
configura7ons
Optional
Mandatory
Xor-Group
Or-Group
{CarEquipment,
Comfort,
DrivingAndSafety,
Healthing,
AirCondi@oning,
Automa@cHeadLights}
configura7on
=
set
of
features
selected
ü
ü
ü
ü
ü
ü
71. (FeAture
Model
scrIpt
Language
for
manIpula@on
and
Automa@c
Reasoning)
not, and, or, implies
φTVL
DIMACS
hkp://familiar-‐project.github.com/
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Robert
B.
France
«
A
Domain-‐Specific
Language
for
Large-‐
Scale
Management
of
Feature
Models
»
Science
of
Computer
Programming
(SCP),
2013
77. (FeAture
Model
scrIpt
Language
for
manIpula@on
and
Automa@c
Reasoning)
impor7ng,
expor7ng,
composing,
decomposing,
edi7ng,
configuring,
reverse
engineering,
compu7ng
"diffs",
refactoring,
tes7ng,
and
reasoning
about
(mul7ple)
variability
models
not, and, or, implies
φTVL
DIMACS
hkp://familiar-‐project.github.com/
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Robert
B.
France
«
A
Domain-‐Specific
Language
for
Large-‐
Scale
Management
of
Feature
Models
»
Science
of
Computer
Programming
(SCP),
2013
80. 80
80
Mul7-‐*
variability
*systems,
perspec7ves,
or
stakeholders
81. • #1
Automated
analysis
– Aka
support
to
be^er
understand
and
play
with
your
feature
model
• #2
Managing
mul7ple
feature
models
– Composing
/
Decomposing
/
Diff
and
Reasoning
about
their
rela@onships
– Combining
these
operators
81
Two
Key
Requirements
82. language
and
environment
And-Group
Optional
Mandatory
Xor-Group
Or-Group
constraints
……..
DirectX
V10 V10.1 v11
Outputs
VIVO DVI HDMI
S-Video Composite
VGA
GraphicCard And-Group
Optional
Mandatory
Xor-Group
Or-Group
TV output
constraints
VGA excludes TV output
HDMI implies v10.1 or v11
constraints
……..
constraints
……..
constraints
……..
//
foo.fml
fm1
=
FM
(“foo1.tvl”)
fm2
=
FM
(“foo2.m”)
fm3
=
merge
intersec7on
{
fm1
fm2
}
c3
=
coun7ng
fm3
renameFeature
fm3.TV
as
“OutputTV”
fm5
=
aggregate
{
fm3
FM
(“foo4.xml”)
}
assert
(isValid
fm5)
fm6
=
slice
fm5
including
fm5.TV.*
export
fm6
True/False
8759
“OutputTV”,
“TV”
Interoperability
Language
facili7es
Environment
83. 83
Interoperability
fm1
=
FM(“foo.tvl”)
fm2
=
FM
(“foo.m”)
serialize
fm4
into
SPLOT
serialize
fm1
into
featureide
fm3
=
FM
(“foo.xmi”)
fm4
=
FM
(A
:
B
….)
De/Composi7on
merge
diff
intersec@on
sunion
aggregate
map
unmap
extract
slicing
Edi7ng
renameFeature
removeFeature
accessors
copy
Reasoning
coun@ng
configs
isValid
deads
cores
falseOp@onals
cleanup
configura@on
select
deselect
asFM
compare
setOp@onal
setMandatory
setAlterna@ves
setOr
Language
Facili7es
fm1.*
fm1.B
modular
mechanisms
restricted
set
of
types
iterator/condi@onal
asser@on
insert
features
84. Hello
World
84
helloworld.fml
Optional
Mandatory
Xor-Group
Or-Group
85. Typed
language
• Domain-‐specific
types
– Feature
Model,
– Configura@on,
– Feature,
– Constraint
• Other
types
include
– Set
– String
– Boolean,
– Enum,
– Integer
and
Real.
• A
set
of
opera@ons,
called
operators,
are
defined
for
a
given
type.
85
basics2.fml
96.
SoC
support
=
Composi7on/Decomposi7on
for
managing
large,
complex
and
mul7ple
feature
models
FORM
1998,
Tun
et
al.
2009
(SPLC),
Hartmann
2008
(SPLC),
Lee
et
al.
2010,
Czarnecki
2005,
Reiser
et
al.
2007
(RE
journal),
Hartmann
et
al.
2009
(SPLC),
Thuem
et
al.
2009
(ICSE),
Classen
et
al.
2009
(SPLC),
Mendonca
et
al.
2010
(SCP),
Dunghana
et
al.
2010,
Hubaux
et
al.
2011
(SoSyM),
Zaid
et
al.
2010
(ER),
She
et
al.,
2011
(ICSE),
etc.
99. Composing
Feature
Models
(3)
99
mergeMI.fml
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Robert
B.
France
«
Comparing
Approaches
for
Implemen@ng
Feature
Model
Composi@on
»
ECMFA’10
100. see
also
Thuem,
Kastner
and
Batory,
ICSE’09
Comparing
Feature
Models
100
compare.fml
Optional
Mandatory
Xor-Group
Or-Group
106. Merging
opera7on:
implementa7on
issues
106
How
to
synthesise
a
feature
model
that
represents
the
union
of
input
sets
of
configura7ons?
Optional
Mandatory
Xor-Group
Or-Group
T2
MRI
Medical Image
HeaderAnonymized
T1
DICOM
Header excludes DICOM
Header implies Anonymized
Anonymized v Header v ~DICOM v ~T1 v ~T2
Anonymized v Header v DICOM v ~T1 v ~T2
107. 107
Merging
opera7on:
seman7c
issues
(2)
φ
Union
Intersec@on
Diff
How
to
synthesize
a
feature
model
that
represents
the
union
of
input
sets
of
configura7ons?
108. Merging
opera7on:
algorithm
108
φ1
φ2
φ3
φ123
merged
proposi@onal
formula
T2
MRI
Medical Image
HeaderAnonymized
T1
DICOM
merged
hierarchy
+
Set
mandatory
features
Detect
Xor
and
Or-‐groups
Compute
“implies/excludes”
constraints
How
to
synthesise
a
feature
model
that
represents
the
union
of
input
sets
of
configura7ons?
see
also
[Czarnecki
SPLC’07
or
SPLC’12]
Optional
Mandatory
Xor-Group
Or-Group
109. see
also
[Acher
et
al.,
ECMFA’10
/
MODELS’13]
– Well-‐defined
seman@cs
– Guarantee
seman@cs
proper@es
by
construc@on
– More
compact
feature
models
than
reference-‐based
techniques
[Schobbens
et
al.,
2007],
[Hartmann
et
al.,
2007]
• Easier
to
understand
• Easier
to
analyze
(e.g.,
compare
with
another)
– Applicable
to
any
proposi@onal
feature
models
• Full
support
of
proposi@onal
constraints
• Different
hierarchies
[Van
Den
Broek
et
al.,
SPLC’2010/2012]
– Syntac@cal
strategies
fail
[Alves
et
al.,
2006],
[Segura
et
al.,
2007]
109
Related
Works
110. [MOTIVATION/PROBLEM]
Why
modeling
and
managing
Variability
does
and
will
ma^er
(45’)
[SOLUTION
FOR
MANAGING
FEATURE
MODELS]
Managing
Variability
Models
with
FAMILIAR
(1h30’)
[APPLICATION
FOR
MODEL-‐BASED
SPL
ENGINEERING]
Model-‐based
variability
engineering:
applica@ons,
advanced
topics,
support
(45’)
110
Plan
115. 115
Problem:
mul7ple
„car
models“
#2
–
bokom-‐up:
elaborate
a
feature
model
for
each
model
line
and
merge
them
Two
modeling
approaches
#1
–
top-‐down:
specify
constraints
(e.g.,
excludes)
of
all
model
lines
upfront
121. • Problem:
given
a
feature
model,
how
to
decompose
it
into
smaller
feature
models?
• Seman@cs?
– What’s
the
hierarchy
– What’s
the
set
of
configura@ons?
121
Building
“views”
of
a
feature
model
122. A
first
try
A3 => P1
P2 => A5
R
A2
A5 A6
A1
A3 A4
A
fm0
P3P2P1
P
P1 => P2
A2
A5 A6
A1
A3 A4
A
fmExtraction1
Problem:
You
can
select
A3
without
A5
Hierarchy
and
Configura7on
maker!
122
A3
=>
A5
123. Slicing
Operator
W
constraints
E implies D
R implies E
D excludes F
S implies (F and not E)
P
R S
fm1
AV
T U
B C D
E F
Optional
Mandatory
Xor-Group
Or-Group
T
S E D
constraints
E implies D
D implies E
slicing
criterion
:
an
arbitrary
set
of
features,
relevant
for
a
feature
model
user
slice
:
a
new
feature
model,
represen@ng
a
projected
set
of
configura@ons
123
124. Slicing
operator:
going
into
details
projected
set
of
configura7ons
124
fm1
=
{
{A,B,C,D,E,P,R,T,U,W},
{A,B,C,F,P,S,T,U,W},
{A,B,C,D,E,P,R,T,W},
{A,B,C,F,P,S,T,V,W},
{A,B,C,F,P,S,T,U,V,W},
{A,B,C,F,P,S,T,W},
{A,B,C,D,E,P,R,T,V,W},
}
fm1
=
{
{A,B,C,D,E,P,R,T,U,W},
{A,B,C,F,P,S,T,U,W},
{A,B,C,D,E,P,R,T,W},
{A,B,C,F,P,S,T,V,W},
{A,B,C,F,P,S,T,U,V,W},
{A,B,C,F,P,S,T,W},
{A,B,C,D,E,P,R,T,V,W},
}
fm1p
=
{
{D,E,T},
{S,T},
{D,E,T},
{S,T},
{S,T},
{S,T},
{D,E,T}
}
fm1p
=
{
{D,E,T},
{S,T},
}
W
constraints
E implies D
R implies E
D excludes F
S implies (F andnot E)
P
R S
fm1
AV
T U
B C D
E F
Optional
Mandatory
Xor-Group
Or-Group
125. +
T
S E D
constraints
E implies D
D implies E
φs1
existenBal
quanBficaBon
of
features
not
included
in
the
slicing
criterion
125
fm1p
=
{
{D,E,T},
{S,T}
}
Slicing
operator:
going
into
details
synthesizing
the
corresponding
feature
model
S
E
D
T
W
constraints
E implies D
R implies E
D excludes F
S implies (F andnot E)
P
R S
fm1
AV
T U
B C D
E F
φ1
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Robert
B.
France
«
Separa@on
of
Concerns
in
Feature
Modeling:
Support
and
Applica@ons
»
AOSD’12
Optional
Mandatory
Xor-Group
Or-Group
126. T
S E D
constraints
E implies D
D implies E
126
Slicing
operator
with
FAMILIAR
(1)
W
constraints
E implies D
R implies E
D excludes F
S implies (F andnot E)
P
R S
fm1
AV
T U
B C D
E F
slicingOp2.fml
Optional
Mandatory
Xor-Group
Or-Group
128. From
marke.ng,
customers,
product
management
From
exis.ng
so@ware
assets
(technical
variability)
Metzger,
Heymans
et
al.
“DisambiguaBng
the
DocumentaBon
of
Variability
in
Soeware
Product
Lines:
A
SeparaBon
of
Concerns,
FormalizaBon
and
Automated
Analysis“
(RE’07)
129. V1 ⬄ f1
V2 ⬄ f2
V3 ⬄ f3
From
marke.ng,
customers,
product
management
From
exis.ng
so@ware
assets
realizability
usefulness
Optional
Mandatory
Xor-Group
Or-Group
130. Realizability
checking
aggregate
{{V1,V3,V2,VP1},
{V1,VP1},
{V3,VP1},
{VP1}}
merge
diff
(“unrealizable
products”
φ
1
slice
(“realizable
part”)
2
3 compare
4
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Robert
B.
France
«
Separa@on
of
Concerns
in
Feature
Modeling:
Support
and
Applica@ons
»
AOSD’12
Optional
Mandatory
Xor-Group
Or-Group
133. Modeling
Variability
From
Requirements
to
Run7me
The
case
of
video
surveillance
processing
chains
Adap7ve
systems
Mathieu
Acher,
Philippe
Collet,
Philippe
Lahire,
Sabine
Moisan,
and
Jean-‐Paul
Rigault.
«
Modeling
Variability
from
Requirements
to
Run@me
ICECCS’11
134. SoXware
Product
Line
(SPL)
approach
Video
surveillance
processing
chains
Adap7ve
systems
Adap7ve
systems
large
number
of
soNware
configura7ons
for
a
large
number
of
requirements
136. Implementa@on:
under
the
hood
Video surveillance applica0on
Task QoS Object of
interest
Scene
context
Coun0ng Intrusion
Precision Response
,me
Quality Scene
descrip0on
Environment
Ligh0ng Camera
Person
Ar0ficial Indoors View Frame
rate
Video surveillance plaIorm
Acquisi0on Segmenta0on Classifica0on
Clustering
Grid step With
window
Traversal
algorithm
Kernel
func0on
Edge Region
Model
Ellipse Gravity Grey Color (a) Task model (b) PlaIorm model
mandatory feature
op0onal feature
alterna0ve features (XOR)
or‐features (OR)
cross‐model constraint
internal constraint
specifica0on feature
imposed by the applica0on
specifica0on feature deduced
from internal constraints
implementa0on feature deduced
from cross‐constraints (transforma0on)
”neutral” implementa0on feature
136
139. 139
Revisi7ng
Aggregate,
Merge
and
Slice:
mergeWithAggregateMI.fml
Mathieu
Acher,
Benoit
Combemale,
Philippe
Collet,
Olivier
Barais,
Philippe
Lahire,
Robert
B.
France
«
Composing
your
Composi@ons
of
Variability
Models
»
MODELS’13
Optional
Mandatory
Xor-Group
Or-Group
140. 140
Mathieu
Acher,
Benoit
Combemale,
Philippe
Collet,
Olivier
Barais,
Philippe
Lahire,
Robert
B.
France
«
Composing
your
Composi@ons
of
Variability
Models
»
MODELS’13
141. 141
φ FM
Feature
Model
Synthesis
Problem
[Czarnecki
et
al.,
SPLC’07]
[She
et
al.,
ICSE’11]
[Andersen
et
al.,
SPLC’12]
A
^
A
ó
B
^
C
=>
A
^
D
=>
A
142. φ
« How to synthesise an
accurate (w.r.t. the set of constraints/configurations)
meaningful (maintainable by a user), and
unique
feature model? »
hkp://familiar-‐project.github.com/
143. φ(SAT solvers or
Binary Decision Diagrams)
The
knowledge
can
be:
inconsistent
(e.g.,
root
feature
specified
is
not
possible)
consistent
and
incomplete
(i.e.,
synthesis
algorithm
needs
addi@onal
informa@on)
consistent,
«
par7al
»
(e.g.,
not
all
the
hierarchy
is
specified)
and
actually
complete
Mathieu
Acher,
Patrick
Heymans,
Anthony
Cleve,
Jean-‐Luc
Hainaut,
Benoit
Baudry
«
Support
for
Reverse
Engineering
and
Maintaining
Feature
Models
»
VaMoS’13
144. #1
Reverse
Engineering
Scenarios
• [Haslinger
et
al.,
WCRE’11],
[Acher
et
al.,
VaMoS’12]
φ
V
DAd OT M KAe CP R S
C requires T
Ae requires T
S equals M
V
DAd OT KAe SP R M
C requires T
S equals M
C
0..1
145. #2
Refactoring
• [Alves
et
al.,
GPCE’06],
[Thuem
et
al.,
ICSE’09]
φ
V
DAd OT M KAe CP R S
C requires T
Ae requires T
S equals M
146. #3
Re-‐Engineering
Feature
Models
of
repository
• For
each
FM
we
execute
the
following
FAMILIAR
script…
• …
And
we
«compare»
syntac@cally
fm1
and
fm2
• seman@cal
comparison
is
not
needed:
we
know
that
they
are
refactoring
by
construc@on
(good
test
case
though
;-‐))
• Results:
– 147
synthesised
FMs
(69
%)
were
exactly
the
same
as
input
FMs
;
– 40
synthesised
FMs
(19%)
were
correc@ons
of
input
FMs
;
– 24
synthesised
FMs
(12%)
were
different
(knowledge
needed)
• another
set
of
cross-‐tree
constraints
was
synthesised.
• feature
group
conflicts
in
six
cases
Specifica7on
of
the
hierarchy
is
the
main
issue
φ
147. φ
FAMILIAR
« Give me a formula
and some knowledge,
I will synthesise
an accurate,
meaningful,
unique
feature model »
#1
Breathing
knowledge
into
feature
model
synthesis
formal
specifica@on
(consistency
and
completeness)
concrete
syntax
and
tooling
suport
#2
Prac7cal
applica7ons
reverse
engineering,
refactoring/re-‐engineering
of
feature
models
hkp://familiar-‐project.github.com/
Automated
support
is
highly
needed
(ongoing
work)
148. FAMILIAR
console
Ranking
list
Ontological
Heuris@cs
Logical
clusters
(interac@ve
synthesis)
Clusters
of
conceptually
similar
features
«
Breathing
Ontological
Knowledge
into
Feature
Model
Management
»
Guillaume
Bécan,
Mathieu
Acher,
Benoit
Baudry,
Sana
Ben
Nasr
State-‐of-‐the-‐art
support
for
assis@ng
users:
hkp://7nyurl.com/OntoFMExperiments
150. [MOTIVATION/PROBLEM]
Why
modeling
and
managing
Variability
does
and
will
ma^er
[SOLUTION
FOR
MANAGING
FEATURE
MODELS]
Managing
Variability
Models
with
FAMILIAR
[APPLICATION
FOR
MODEL-‐BASED
SPL
ENGINEERING]
Model-‐based
variability
engineering:
applica@ons,
advanced
topics,
support
150
Key
Insights
151. (ongoing)
Comprehensive
model-‐based
product
line
support
Reverse
engineering
Automated
Analysis
Languages,
API/DSLs
Evalua7on
(European
and
french
projects,
long-‐term
collabora7on
with
Thales,
open
source
systems)
151
152. (personal
vision)
lightweight
variability
capture
&
understanding
Coupling
with
reverse
engineering
techniques
Beyond
mul7ple
viewpoints
Languages,
API/DSLs
The
Scala
way…
Evalua7on,
empirical
studies
(French
and
European
projects,
collabora7on
with
IT
companies)
152