Presentation of my PhD thesis, which took place June 6th, 2014. It introduces the problem of quality in conceptual modeling and presents the three main contributions of my work: a formalization of quality issues (what they are, how man deals with them, and so on), a unified catalog of quality issues (discussing its expressiveness and usefulness), and a conceptual modeling assistant (a prototype tool that implements the two first contributions on top of the Eclipse Platform).
NOTICE: I took several images from flickr to enhance the slides and make them look prettier. I'd like to thank the authors for publishing those pictures! In the following, I include the links to the original images (I hope I miss no one, but if that's the case, please tell me!).
- https://www.flickr.com/photos/mmortah/6902857551
- https://www.flickr.com/photos/clarkmaxwell/5070107391
- https://www.flickr.com/photos/41894144622@N01/10962707284
- https://www.flickr.com/photos/rdecom/7222825892
- https://www.flickr.com/photos/25179368@N06/4349630962
- https://www.flickr.com/photos/75862793@N06/6812701367
- https://www.flickr.com/photos/elessar_82/9630968224
- https://www.flickr.com/photos/heatherpeaches/8389438221
- https://www.flickr.com/photos/sveinhal/2507540811
- https://www.flickr.com/photos/webinteger/6135862404
- https://www.flickr.com/photos/simonhua/4153234724
- https://www.flickr.com/photos/oberazzi/318947873
- https://www.flickr.com/photos/kelehen/7639423108
- https://www.flickr.com/photos/gsfc/6166295967
- https://www.flickr.com/photos/hellsbells75/8450851214
- https://www.flickr.com/photos/an_untrained_eye/6630719431
Introduction to OCL - Tutorial given at the SFM'12 summer school
Learn more about OCL (and UML, DSLs, MDE,...) at : http://modeling-languages.com
Home page: http://jordicabot.com
Build, Train and Deploy Machine Learning Models at Scale (April 2019)Julien SIMON
Amazon SageMaker is a fully managed service that allows users to build, train and deploy machine learning models at scale. It provides pre-built algorithms, tools for data labeling, one-click training and tuning of models, and deployment of trained models. SageMaker handles the details of setting up, managing and scaling machine learning infrastructure on AWS.
Amazon SageMaker is a fully-managed platform that lets developers and data scientists build and scale machine learning solutions. First, we'll show you how SageMaker Ground Truth helps you label large training datasets. Then, using Jupyter notebooks, we'll show you how to build, train and deploy models using built-in algorithms and frameworks (TensorFlow, Apache MXNet, etc). Finally, we'll show you how to use 3rd-party models from the AWS marketplace.
Amazon SageMaker is a fully-managed platform that lets developers and data scientists build and scale machine learning solutions. First, we'll show you how SageMaker Ground Truth helps you label large training datasets. Then, using Jupyter notebooks, we'll show you how to build, train and deploy models using built-in algorithms and frameworks (TensorFlow, Apache MXNet, etc). Finally, we'll show you how to use 3rd-party models from the AWS marketplace.
Improving How We Deliver Machine Learning Models (XCONF 2019)David Tan
In this talk, we share some better ways of working that help us with some common challenges faced in a ML project.
Repos:
1. https://github.com/ThoughtWorksInc/ml-app-template
2. https://github.com/ThoughtWorksInc/ml-cd-starter-kit
Demo videos:
1. Dockerised setup https://www.youtube.com/watch?v=S6kWaXQ530k
2. Installing cross-cutting services (e.g. GoCD, MLFlow, EFK): https://www.youtube.com/watch?v=p8jKTlcpnks
3. Rolling back harmful models: https://www.youtube.com/watch?v=rNfrgaRTz7c
The document provides information about career opportunities for young Americans seeking employment abroad in Europe, with a focus on jobs in countries with the highest GDP. It discusses the roles of manufacturing engineers and quality engineers in the automotive industry, who work to ensure vehicles can be efficiently assembled and meet high quality standards. The document also includes an interview with a software developer named Jordan Scheller about his career as a web developer.
Building Products That Think- Bhaskaran Srinivasan & Ashish GuptaISPMAIndia
Presenters:
Bhaskaran Srinivasan, Senior Strategy Consultant
Ashish Gupta, Senior Product Manager, Google
Abstract:
This workshop is designed to introduce participants to the opportunities that Generative AI offers through the process steps of a standard NPI. The program provides insights into the capabilities and limitations of Generative AI, offering a hands-on exploration of Gen AI tools tailored for product managers. Attendees will learn how to seamlessly integrate Generative AI into their daily product management workflows, identifying opportunities and prioritizing them based on impact and feasibility. The workshop introduces a robust framework for developing Generative AI-powered products, taking into account crucial factors such as customer pain points, market segment, data and algorithm biases, transparency, user control, and privacy. To enhance the learning experience, the workshop incorporates interactive talks, case study coverage, and group-based hands-on exercises. Geared towards mid-level product managers with a foundational understanding of product management best practices, the workshop is facilitated by two seasoned speakers with expertise in product innovation.
21 ways for innovation. Get your own 21 ways setMarc Heleven
Get your own 21 ways set!
21 ways sets are custom made based on the question formulated by the client.
Starting with the research question, Marc Heleven / 7ideas comes up with a list of 21 principles for which 3 to 7 examples are matched from all over the world, from different sectors. This overview and the copy-adapt-paste method help organisations to innovate faster.
21 ways sets are a spring board for innovation.
Introduction to OCL - Tutorial given at the SFM'12 summer school
Learn more about OCL (and UML, DSLs, MDE,...) at : http://modeling-languages.com
Home page: http://jordicabot.com
Build, Train and Deploy Machine Learning Models at Scale (April 2019)Julien SIMON
Amazon SageMaker is a fully managed service that allows users to build, train and deploy machine learning models at scale. It provides pre-built algorithms, tools for data labeling, one-click training and tuning of models, and deployment of trained models. SageMaker handles the details of setting up, managing and scaling machine learning infrastructure on AWS.
Amazon SageMaker is a fully-managed platform that lets developers and data scientists build and scale machine learning solutions. First, we'll show you how SageMaker Ground Truth helps you label large training datasets. Then, using Jupyter notebooks, we'll show you how to build, train and deploy models using built-in algorithms and frameworks (TensorFlow, Apache MXNet, etc). Finally, we'll show you how to use 3rd-party models from the AWS marketplace.
Amazon SageMaker is a fully-managed platform that lets developers and data scientists build and scale machine learning solutions. First, we'll show you how SageMaker Ground Truth helps you label large training datasets. Then, using Jupyter notebooks, we'll show you how to build, train and deploy models using built-in algorithms and frameworks (TensorFlow, Apache MXNet, etc). Finally, we'll show you how to use 3rd-party models from the AWS marketplace.
Improving How We Deliver Machine Learning Models (XCONF 2019)David Tan
In this talk, we share some better ways of working that help us with some common challenges faced in a ML project.
Repos:
1. https://github.com/ThoughtWorksInc/ml-app-template
2. https://github.com/ThoughtWorksInc/ml-cd-starter-kit
Demo videos:
1. Dockerised setup https://www.youtube.com/watch?v=S6kWaXQ530k
2. Installing cross-cutting services (e.g. GoCD, MLFlow, EFK): https://www.youtube.com/watch?v=p8jKTlcpnks
3. Rolling back harmful models: https://www.youtube.com/watch?v=rNfrgaRTz7c
The document provides information about career opportunities for young Americans seeking employment abroad in Europe, with a focus on jobs in countries with the highest GDP. It discusses the roles of manufacturing engineers and quality engineers in the automotive industry, who work to ensure vehicles can be efficiently assembled and meet high quality standards. The document also includes an interview with a software developer named Jordan Scheller about his career as a web developer.
Building Products That Think- Bhaskaran Srinivasan & Ashish GuptaISPMAIndia
Presenters:
Bhaskaran Srinivasan, Senior Strategy Consultant
Ashish Gupta, Senior Product Manager, Google
Abstract:
This workshop is designed to introduce participants to the opportunities that Generative AI offers through the process steps of a standard NPI. The program provides insights into the capabilities and limitations of Generative AI, offering a hands-on exploration of Gen AI tools tailored for product managers. Attendees will learn how to seamlessly integrate Generative AI into their daily product management workflows, identifying opportunities and prioritizing them based on impact and feasibility. The workshop introduces a robust framework for developing Generative AI-powered products, taking into account crucial factors such as customer pain points, market segment, data and algorithm biases, transparency, user control, and privacy. To enhance the learning experience, the workshop incorporates interactive talks, case study coverage, and group-based hands-on exercises. Geared towards mid-level product managers with a foundational understanding of product management best practices, the workshop is facilitated by two seasoned speakers with expertise in product innovation.
21 ways for innovation. Get your own 21 ways setMarc Heleven
Get your own 21 ways set!
21 ways sets are custom made based on the question formulated by the client.
Starting with the research question, Marc Heleven / 7ideas comes up with a list of 21 principles for which 3 to 7 examples are matched from all over the world, from different sectors. This overview and the copy-adapt-paste method help organisations to innovate faster.
21 ways sets are a spring board for innovation.
Who is Listening, and Why? Audience, Purpose, & Presentation SkillsSarah Glova
Presentation delivered to senior design students in The Fitts Department of Industrial and Systems Engineering at NC State.
Topic: Why is it important to adapt your presentation message to fit your audience, and how can you craft a message that communicates your purpose?
Predictive analytics uses existing data sets to determine patterns and predict future outcomes. It forecasts what might happen rather than definitely predicting the future. Predictive analytics is used in areas like customer retention, fraud detection, and social media impact assessment. Machine learning, a key technique in predictive analytics, uses algorithms to learn from data without being explicitly programmed. The document then discusses supervised learning techniques like regression and classification, unsupervised learning techniques like clustering, and WSO2 Machine Learner, a tool for performing predictive analytics tasks like data exploration, model building, and prediction. It concludes with an example of using the tool to solve a product categorization problem from a real-world data set.
How to Turn Machine Learning Into Products by Capital One PMProduct School
Main takeaways:
- Turning Machine Learning Ideas into Products using the Capital One Machine Learning Business Model Canvas
- Start with a business problem
- Come armed with data, inputs, outputs and labels
How Corporate Reorganization Creates Risk (and Opportunity) for Intelligence ...IntelCollab.com
The document summarizes a webinar about how corporate reorganization can create risks and opportunities for intelligence effectiveness. It introduces the speakers Karen Somerville and Terry Kerby and provides an agenda that discusses utilizing coaching to mitigate risks, identifying changes in competitor organizations, and risks of internal changes. It also includes polls to engage participants.
The document discusses artificial intelligence (AI) and machine learning. It provides an overview of AI including definitions, a brief history, and why AI is advancing now. Key areas of AI like machine learning, computer vision, natural language processing, and heuristic classification are examined. Algorithms, big data, increased computing power, and APIs are factors enabling current progress in AI. Machine learning is highlighted as a core technique driving transformation across industries.
The document discusses machine learning and what is needed to build machine learning products. It begins with an introduction to machine learning, defining it as a computer program that improves at tasks through experience with data. It emphasizes that machine learning involves data collection, data pipelines, and measuring model performance. The key takeaways are that building machine learning products requires planning, experimenting in an iterative process, and using various machine learning frameworks and libraries while continuing to learn through online courses and communities.
Creating a custom Machine Learning Model for your applications - Java Dev Day...Isabel Palomar
Aprenderás como puede ser creado un modelo de Machine Learning que puedas implementar en tu aplicación móvil o Java. Iré mostrando cada uno de los pasos que se tienen que seguir, los tipos de problemas que se pueden resolver, los datos que necesitas para que funcione y por último, las opciones para realizar la implementación de nuestro modelo en nuestras aplicaciones.
Role Of Programmer On Telecom IndustryDivya Watson
This document discusses the role of a programmer in the telecom industry. It outlines the process of brainstorming, planning, taking action, observing, and reflecting on issues faced by Java programmers. The author plans to conduct interviews with 5 programmers over 3 days to gather perspectives on identified issues and brainstorm solutions. The session will be led in the morning to accommodate schedules. Data will be compiled afterwards to embrace the brainstorming process successfully and gather applicable viewpoints.
[DSC Europe 22] Avoid mistakes building AI products - Karol PrzystalskiDataScienceConferenc1
Based on Gartner's research, 85% of AI projects fail. In this talk, we show the most common mistakes made by the managers, developers, and data scientists while building AI products. We go through ten case studies of products that failed and analyze the reasons for each failure. We also present how to avoid such mistakes and deliver a successful AI product by introducing a few lifecycle changes.
Microservices, Microfrontends and Feature TeamsGiulio Roggero
Quali sono le buone pratiche per progettare un'architettura in stile Microservices?
Come rendere evolutiva un'applicazione Frontend senza che invecchi dopo poco tempo?
Come organizzare più team che lavorano su una Piattaforma che ha centinaia di Microservices e decine di Frontend?
A queste tre domande risponderò durante il talk con esempi pratici e casi di vita vissuta.
Data empathy - A Design Thinking approach to AI application development Franki Chamaki
The document discusses an AI company's approach to building empathy with customer data. It explains that the company uses a "Data Empathy Mapping" framework involving goals, data, and rules to understand how customer data is used and what systems support it. The framework involves defining problems and goals, evaluating available data, and incorporating business rules and constraints. The company applies this approach through experimentation and prototyping to develop minimum viable products, and aids deployment by helping customers operationalize new AI systems. Examples discussed include optimizing vending machines and predicting product demand.
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
When the Atlassian Dev Tools team looked to innovate on continuous integration and delivery, we explored many ways to bring the build and deployment pipeline closer to developers and Bitbucket. This led us to think outside the existing product boundaries of Bamboo and build on top of the Bitbucket Connect platform.
James Bryant, a senior designer on the Software Team, will take you through how his team decided to build on top of a platform instead of building out new products. It involves defining a vision, guiding a team with an experience, and testing with customers early and often to build the new Bitbucket Pipelines feature.
You’ll come away from this session with a framework for adopting an experience-driven strategy, and tips to help give your agile teams a vision to build on top of a platform.
Products covered:
Bitbucket, Bamboo
The document discusses practical applications of artificial intelligence in retail. It describes different types of AI like simple heuristics, algorithms, machine learning, and neural networks. Examples are given like using machine learning for dynamic product recommendations. The presentation aims to provide a 101 introduction to AI and discuss where AI can make sense and its limitations for retail use cases. Applications mentioned include AI for chatbots, voice agents, big data, and robots assisting humans. The overall goal is to talk about how AI can be used in practical retail settings.
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...Associazione Digital Days
Come impatta la gen AI sul business design? In questo speech, verrà raccontato un esperimento condotto da un team di business designer, applicando diversi LLM per definire il business model e il business case di un servizio digitale. L’esperimento ha l’obiettivo meta-progettuale di investigare se l’utilizzo dell’AI può modificare la nostra metodologia di busines model e business case design.
This document discusses how an agile transformation can be self-funding through an incremental, evolutionary approach. It advocates bootstrapping agile practices internally by taking iterative approaches to implementing processes. This allows benefits to be realized early on, which can then be reinvested to further the transformation. It provides an example of a company that transitioned to agile in this way, initially implementing practices like Scrum and XP on their own and seeing improvements that enabled continued training investments over time.
Learn to identify use cases for machine learning (ML), acquire best practices to frame problems in a way that key stakeholders can understand and support, and help create the right conditions for delivering successful ML-based solutions to your citizens. Understand AWS ML and AI services while relating to your specific requirements.
Speakers:
Manav Sehgal, Head of Solutions Architecture, AISPL
Atanu Roy, Specialist Solutions Architect, AISPL
SearchLove San Diego 2017 | Michael King | Machine DoingDistilled
Machine learning is a concept that has is turning science fiction into real technology today. However, the applications of this technology seem daunting to marketers. In this talk, Mike King shares how marketers can take advantage of machine learning using ready made tools and tactics without knowing how to code.
This document discusses cognitive automation and artificial intelligence. It begins with definitions of cognition and automation. It then provides a brief history of automation and examples of current automation technologies. It discusses different types of artificial intelligence from narrow to general to super intelligence. It also discusses machine learning and deep learning approaches. The document outlines various applications of cognitive automation and artificial intelligence, as well as challenges. It emphasizes that cognitive automation will change but not eliminate jobs for humans. The presentation aims to inspire students to help build the future of cognitive automation and artificial intelligence.
T. Scott Clendaniel provides a complete guide to creating and implementing your analytics strategy. Includes the Accenture model, a wide variety of Tips and Tricks, and several bonuses in the appendix.
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
More Related Content
Similar to A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues
Who is Listening, and Why? Audience, Purpose, & Presentation SkillsSarah Glova
Presentation delivered to senior design students in The Fitts Department of Industrial and Systems Engineering at NC State.
Topic: Why is it important to adapt your presentation message to fit your audience, and how can you craft a message that communicates your purpose?
Predictive analytics uses existing data sets to determine patterns and predict future outcomes. It forecasts what might happen rather than definitely predicting the future. Predictive analytics is used in areas like customer retention, fraud detection, and social media impact assessment. Machine learning, a key technique in predictive analytics, uses algorithms to learn from data without being explicitly programmed. The document then discusses supervised learning techniques like regression and classification, unsupervised learning techniques like clustering, and WSO2 Machine Learner, a tool for performing predictive analytics tasks like data exploration, model building, and prediction. It concludes with an example of using the tool to solve a product categorization problem from a real-world data set.
How to Turn Machine Learning Into Products by Capital One PMProduct School
Main takeaways:
- Turning Machine Learning Ideas into Products using the Capital One Machine Learning Business Model Canvas
- Start with a business problem
- Come armed with data, inputs, outputs and labels
How Corporate Reorganization Creates Risk (and Opportunity) for Intelligence ...IntelCollab.com
The document summarizes a webinar about how corporate reorganization can create risks and opportunities for intelligence effectiveness. It introduces the speakers Karen Somerville and Terry Kerby and provides an agenda that discusses utilizing coaching to mitigate risks, identifying changes in competitor organizations, and risks of internal changes. It also includes polls to engage participants.
The document discusses artificial intelligence (AI) and machine learning. It provides an overview of AI including definitions, a brief history, and why AI is advancing now. Key areas of AI like machine learning, computer vision, natural language processing, and heuristic classification are examined. Algorithms, big data, increased computing power, and APIs are factors enabling current progress in AI. Machine learning is highlighted as a core technique driving transformation across industries.
The document discusses machine learning and what is needed to build machine learning products. It begins with an introduction to machine learning, defining it as a computer program that improves at tasks through experience with data. It emphasizes that machine learning involves data collection, data pipelines, and measuring model performance. The key takeaways are that building machine learning products requires planning, experimenting in an iterative process, and using various machine learning frameworks and libraries while continuing to learn through online courses and communities.
Creating a custom Machine Learning Model for your applications - Java Dev Day...Isabel Palomar
Aprenderás como puede ser creado un modelo de Machine Learning que puedas implementar en tu aplicación móvil o Java. Iré mostrando cada uno de los pasos que se tienen que seguir, los tipos de problemas que se pueden resolver, los datos que necesitas para que funcione y por último, las opciones para realizar la implementación de nuestro modelo en nuestras aplicaciones.
Role Of Programmer On Telecom IndustryDivya Watson
This document discusses the role of a programmer in the telecom industry. It outlines the process of brainstorming, planning, taking action, observing, and reflecting on issues faced by Java programmers. The author plans to conduct interviews with 5 programmers over 3 days to gather perspectives on identified issues and brainstorm solutions. The session will be led in the morning to accommodate schedules. Data will be compiled afterwards to embrace the brainstorming process successfully and gather applicable viewpoints.
[DSC Europe 22] Avoid mistakes building AI products - Karol PrzystalskiDataScienceConferenc1
Based on Gartner's research, 85% of AI projects fail. In this talk, we show the most common mistakes made by the managers, developers, and data scientists while building AI products. We go through ten case studies of products that failed and analyze the reasons for each failure. We also present how to avoid such mistakes and deliver a successful AI product by introducing a few lifecycle changes.
Microservices, Microfrontends and Feature TeamsGiulio Roggero
Quali sono le buone pratiche per progettare un'architettura in stile Microservices?
Come rendere evolutiva un'applicazione Frontend senza che invecchi dopo poco tempo?
Come organizzare più team che lavorano su una Piattaforma che ha centinaia di Microservices e decine di Frontend?
A queste tre domande risponderò durante il talk con esempi pratici e casi di vita vissuta.
Data empathy - A Design Thinking approach to AI application development Franki Chamaki
The document discusses an AI company's approach to building empathy with customer data. It explains that the company uses a "Data Empathy Mapping" framework involving goals, data, and rules to understand how customer data is used and what systems support it. The framework involves defining problems and goals, evaluating available data, and incorporating business rules and constraints. The company applies this approach through experimentation and prototyping to develop minimum viable products, and aids deployment by helping customers operationalize new AI systems. Examples discussed include optimizing vending machines and predicting product demand.
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
When the Atlassian Dev Tools team looked to innovate on continuous integration and delivery, we explored many ways to bring the build and deployment pipeline closer to developers and Bitbucket. This led us to think outside the existing product boundaries of Bamboo and build on top of the Bitbucket Connect platform.
James Bryant, a senior designer on the Software Team, will take you through how his team decided to build on top of a platform instead of building out new products. It involves defining a vision, guiding a team with an experience, and testing with customers early and often to build the new Bitbucket Pipelines feature.
You’ll come away from this session with a framework for adopting an experience-driven strategy, and tips to help give your agile teams a vision to build on top of a platform.
Products covered:
Bitbucket, Bamboo
The document discusses practical applications of artificial intelligence in retail. It describes different types of AI like simple heuristics, algorithms, machine learning, and neural networks. Examples are given like using machine learning for dynamic product recommendations. The presentation aims to provide a 101 introduction to AI and discuss where AI can make sense and its limitations for retail use cases. Applications mentioned include AI for chatbots, voice agents, big data, and robots assisting humans. The overall goal is to talk about how AI can be used in practical retail settings.
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...Associazione Digital Days
Come impatta la gen AI sul business design? In questo speech, verrà raccontato un esperimento condotto da un team di business designer, applicando diversi LLM per definire il business model e il business case di un servizio digitale. L’esperimento ha l’obiettivo meta-progettuale di investigare se l’utilizzo dell’AI può modificare la nostra metodologia di busines model e business case design.
This document discusses how an agile transformation can be self-funding through an incremental, evolutionary approach. It advocates bootstrapping agile practices internally by taking iterative approaches to implementing processes. This allows benefits to be realized early on, which can then be reinvested to further the transformation. It provides an example of a company that transitioned to agile in this way, initially implementing practices like Scrum and XP on their own and seeing improvements that enabled continued training investments over time.
Learn to identify use cases for machine learning (ML), acquire best practices to frame problems in a way that key stakeholders can understand and support, and help create the right conditions for delivering successful ML-based solutions to your citizens. Understand AWS ML and AI services while relating to your specific requirements.
Speakers:
Manav Sehgal, Head of Solutions Architecture, AISPL
Atanu Roy, Specialist Solutions Architect, AISPL
SearchLove San Diego 2017 | Michael King | Machine DoingDistilled
Machine learning is a concept that has is turning science fiction into real technology today. However, the applications of this technology seem daunting to marketers. In this talk, Mike King shares how marketers can take advantage of machine learning using ready made tools and tactics without knowing how to code.
This document discusses cognitive automation and artificial intelligence. It begins with definitions of cognition and automation. It then provides a brief history of automation and examples of current automation technologies. It discusses different types of artificial intelligence from narrow to general to super intelligence. It also discusses machine learning and deep learning approaches. The document outlines various applications of cognitive automation and artificial intelligence, as well as challenges. It emphasizes that cognitive automation will change but not eliminate jobs for humans. The presentation aims to inspire students to help build the future of cognitive automation and artificial intelligence.
T. Scott Clendaniel provides a complete guide to creating and implementing your analytics strategy. Includes the Accenture model, a wide variety of Tips and Tricks, and several bonuses in the appendix.
Similar to A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues (20)
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
This presentation was provided by Steph Pollock of The American Psychological Association’s Journals Program, and Damita Snow, of The American Society of Civil Engineers (ASCE), for the initial session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session One: 'Setting Expectations: a DEIA Primer,' was held June 6, 2024.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
South African Journal of Science: Writing with integrity workshop (2024)
A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues
1. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
A Method for the
Unified Definition and Treatment of
Conceptual Schema Quality Issues
Thesis supervised by
Dr. Antoni Olivé
Dr. Cristina Gómez
David Aguilera
June 6th, 2014
Barcelona
6. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
We cannot run the modern world
without software
Which means software's quality
has become essential
to our society.
Introduction
3SOMMERVILLE, I. Software Engineering, 9 ed. Addison-Wesley, 2010
7. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Quality
The degree up to which a set of
properties are met.
It depends on the perspective:
- Innate excellence
- Product-based
- User-based
- Manufacturing-based
- Value-based
Introduction
4GARVIN, D.A.. What does “product quality” really mean? Sloan Manag. Review 26, 1 (1984), 25-43
8. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Quality in Software
It's been classically focused on
evaluating the final product.
ISO standards
- ISO 9000
- ISO/IEC 1926
Proposals in the literature
Introduction
5
9. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Maintenance
Software Development Process
Requirements
Design
Impl. & Unit Testing
Integration & Testing
Introduction
Classic Waterfall Model
Agile Methodologies
(like SCRUM, with iterations)
6SOMMERVILLE, I. Software Engineering, 9 ed. Addison-Wesley, 2010
10. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Evaluating Quality in Software
Focusing on the Final Product is
positive and necessary...
...but is not as efficient as it could be.
number
cost
time
Introduction
7
11. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Conceptual Modeling
Essential Activity in the
Requirements Stage of the
Software Development Process
Introduction
8OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
12. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Conceptual Modeling
Conceptual Schema
General Knowledge for an
Information System
to operate.
Essential Activity in the
Requirements Stage of the
Software Development Process
Introduction
8OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
13. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
The Problem
Defining Conceptual Schemas
is a complex and difficult activity,
but the support modelers get is scarce.
There's a lot of work in the literature,
but it does not reach practitioners.
Introduction
9
14. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Goal of this Thesis
Improve the Quality of
Conceptual Schemas
We want to help conceptual modelers.
We want their tools to assist them.
- Study and characterize several quality criteria.
- Create a catalog that unifies those criteria.
- Implement a conceptual modeling assistant.
Introduction
10
15. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Addressed Quality Dimensions
We focus on those dimensions that can
be evaluated using the schema itself.
According to conceptual modeling quality
frameworks:
- Syntactical Quality
- Empirical Quality
- Other dimensions, such as semantic
validity, comprehension, ...
Introduction
11
16. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Motivation
Formalization of Quality Issues
Catalog of Quality Issues
Conceptual Modeling Assistant
outline
02
03
04
05
Notes on Efficient Evaluation06
Conclusions and Future Work07
Introduction01
18. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Goal of this Thesis
Improve the Quality of
Conceptual Schemas
We want to help conceptual modelers to
create conceptual schemas:
- that are syntactically correct,
- that are complete,
- whose elements are relevant,
- that follow a set of best practices...
Motivation
14
19. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
LandVehicle
MotorVehicle
Car
plateNumber:String
motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
15
20. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be syntactically correct.
e.g. generalization cycles
Motivation
LandVehicle
MotorVehicle
Car
plateNumber:String
motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011
21. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be syntactically correct.
e.g. generalization cycles
Motivation
LandVehicle
MotorVehicle
Car
plateNumber:String
motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011
22. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be syntactically correct.
e.g. generalization cycles
Motivation
LandVehicle
MotorVehicle
Car
plateNumber:String
motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Remove one
generalization to
break the cycle
16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011
23. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be syntactically correct.
e.g. generalization cycles
Motivation
LandVehicle
MotorVehicle
Car
plateNumber:String
motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011
24. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. redundant generalizations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
25. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. redundant generalizations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
26. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. redundant generalizations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Remove redundant
generalization
Motivation
17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
27. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. redundant generalizations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
28. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
29. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
30. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Pull-Up Property
Refactoring
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
31. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Pull-Up Property
Refactoring
Incomplete
GeneralizationSet
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
32. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, complete}
parent 2
3
child
IsParentOf
Owns* 0..1
Incomplete
GeneralizationSet
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
33. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it not to have duplicated info.
e.g. repeated attributes
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
34. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
3
child
IsParentOf
Owns* 0..1
I want it to be correct.
e.g. non-empty populations
Motivation
19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
35. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be correct.
e.g. non-empty populations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
3
child
IsParentOf
Owns* 0..1
Motivation
19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
36. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be correct.
e.g. non-empty populations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
3
child
IsParentOf
Owns* 0..1
Change
multiplicities
Motivation
19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
37. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be correct.
e.g. non-empty populations
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
IsParentOf
Owns* 0..1
Change
multiplicities
parent 2
0..3
child
Motivation
19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
38. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
39. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
(ir)reflexive?
(in)transitive?
(a)symmetric?
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
40. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
(ir)reflexive?
(in)transitive?
(a)symmetric?
Yes, all relevant constraints
are in the schema.
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
41. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
(ir)reflexive?
(in)transitive?
(a)symmetric?
Yes, all relevant constraints
are in the schema.
Create an asymmetry
constraint, which is missing.
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
42. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
Create an asymmetry
constraint, which is missing.
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
43. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we would like to have...
I want it to be complete.
e.g. awareness of (possibly) missing information
LandVehicle
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
Person
{disjoint, incomplete}
parent 2
0..3
child
IsParentOf
Owns* 0..1
context Person inv:
self.child.child->
excludes( self )
Motivation
20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
44. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
But, what do we have today?
Motivation
- Inspections, testing, reviews, …
- There are several quality properties pu-
blished (and scattered) in the literature.
- There are also proposals for efficiently
dealing with inconsistencies.
- Current modeling tools o er little toff
no support for dealing with this stu .ff
(ArgoUML, Rational Rose, USE, Poseidon, ...)
21
47. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization
Characterization
of Quality Issues
A
Motivation
22
48. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Motivation
22
49. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Motivation
22
50. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Motivation
22
51. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Motivation
22
52. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Issue A
Context,
conditions...
Issue C
Scope,
conditions...
Motivation
22
53. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog CMA
Modeling
Tool
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Issue A
Context,
conditions...
Issue C
Scope,
conditions...
Motivation
22
54. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Issue A
Context,
conditions...
Issue C
Scope,
conditions...
Motivation
CMA
Modeling
Tool
22
55. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
Formalization Catalog
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Issue A
Context,
conditions...
Issue C
Scope,
conditions...
1. This gen is redu
2. Association has
3. Constraint does
Motivation
CMA
Modeling
Tool
22
56. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Overview of Our Method
1. This gen is redu
2. Association has
3. Constraint does
Catalog
Issue A
Context,
conditions...
Issue A
Scope,
conditions...
Issue A
Context,
conditions...
Issue B
Scope,
conditions...
Issue A
Context,
conditions...
Issue C
Scope,
conditions...
Formalization
Characterization
of Quality Issues
A
Issue A
Scope,
conditions...
Motivation
CMA
Modeling
Tool
22
57. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Design Science Research
“its fundamental principle is that
knowledge and understanding
of a design problem and its solution
are acquired in the building and
application of an artifact”.
Motivation
23HEVNER, A. R., MARCH, S. T., PARK, J., AND RAM, S. Design science in information systems research, MIS Q. 28, 1 (2004) 75-105
58. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Design Science Research
Quality Properties
Characterization and
Formalization
Catalog CMA
State of the Art
Challenge
Assist Modelers and Improve Quality
Searching
Adapting
Testing
Motivation
24
60. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What is an Issue?
“an important topic or problem
for debate or discussion”
Formalization
26
61. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What is an Issue?
“an important topic or problem
for debate or discussion”
In essence, it is a condition the schema
should not satisfy to:
- be syntactically correct,
- be complete,
- ensure all elements are relevant,
- follow a best practice...
Formalization
26
62. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What is an Issue?
Formalization
An Issue Type describes the problem.
An Issue Instance is a concrete instance
of that problem in the schema.
27
63. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What is an Issue?
An Issue Type describes the problem.
An Issue Instance is a concrete instance
of that problem in the schema.
Formalization
Type: “There are redun-
dant generalizations”
Instance: “g1 is redundant”
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
27
64. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
An Issue Type must be able to specify:
- which kind of elements may raise an issue,
- which elements do actually raise it,
- how to fix that issue, and
- when and how should that issue be addressed
Formalization
28
65. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
An Issue Type must be able to specify:
- which kind of elements may raise an issue,
- which elements do actually raise it,
- how to fix that issue, and
- when and how should that issue be addressed
Formalization
28
67. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Sx (scope) and Φx (applicability condition)
determine the potential set of elements that
may raise an issue of type Ix
Formalization
29
68. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Sx (scope) and Φx (applicability condition)
determine the potential set of elements that
may raise an issue of type Ix
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Formalization
29
69. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Sx (scope) and Φx (applicability condition)
determine the potential set of elements that
may raise an issue of type Ix
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Sx = { Generalization }
Formalization
29
70. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Sx (scope) and Φx (applicability condition)
determine the potential set of elements that
may raise an issue of type Ix
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Sx = { Generalization }
Φx (g) = “there are two
generalizations ga and gb
such that:
g.general = ga.general
g.specific = gb.specific
Formalization
29
71. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
ρx (issue condition) determines if an element in
Pot(Ix) does actually raise an issue of type Ix
Formalization
30
72. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
ρx (issue condition) determines if an element in
Pot(Ix) does actually raise an issue of type Ix
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
ρx (g) = “there is an indi-
rect generalization path
between g.general and
g.specific”
Formalization
30
73. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
ρx (issue condition) determines if an element in
Pot(Ix) does actually raise an issue of type Ix
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
ρx (g) = “there is an
indirect generalizations
path between g.general
and g.specific”
Formalization
30
74. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ox is a set of actions that help the conceptual
modeler to fix an issue instance
Formalization
31
75. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Ox = { “remove redundant
generalization” }
Ox is a set of actions that help the conceptual
modeler to fix an issue instance
Formalization
31
76. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Ox = { “remove redundant
generalization” }
Ox is a set of actions that help the conceptual
modeler to fix an issue instance
Formalization
31
77. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
g1
g2
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Ox = { “remove redundant
generalization”,
“break the indirect path of
generalizations” }
Ox is a set of actions that help the conceptual
modeler to fix an issue instance
Formalization
31
78. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
g1
g3, g4
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Ox = { “remove redundant
generalization”,
“break the indirect path of
generalizations” }
Ox is a set of actions that help the conceptual
modeler to fix an issue instance
Formalization
31
79. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Formalization
32
80. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Ia = “there is a cycle of
generalizations”
Ib = “there are redundant
generalizations”
Formalization
g1
g2
g3
LandVehicle
MotorVehicle
Car
32
81. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Ia = “there is a cycle of
generalizations”
Ib = “the generalization is
redundant”
Formalization
g1
g2
g3
LandVehicle
MotorVehicle
Car
32
82. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Ia = “there is a cycle of
generalizations”
Ib = “the generalization is
redundant”
Formalization
g1
g2
g3
LandVehicle
MotorVehicle
Car
32
83. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Ia = “there is a cycle of
generalizations”
Ib = “the generalization is
redundant”
Formalization
g1
g2
g3
LandVehicle
MotorVehicle
Car
32
84. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Px is a set of precedents, which are issue types
that must not have issues for considering Ix.
Ia = “there is a cycle of
generalizations”
Ib = “the generalization is
redundant”
Pb = { Ia }
Formalization
g2
g3
LandVehicle
MotorVehicle
Car
32
85. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
Formalization
33
86. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
Problem Issues can only be fixed by
changing the schema, so that the issue
does no longer exist.
Formalization
34
87. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
LandVehicle
MotorVehicle
Car Motorcycle
{disjoint, complete}
Formalization
34
88. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
Checking Issues require the conceptual
modeler to manually check something.
There might be situations in which this
checking will entail some changes in the
schema.
Formalization
35
89. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
“Check whether the asso-
ciation «IsParentOf» needs
a constraint enforcing the
symmetry property.”
Formalization
35
Person
parent 0..2
*
child
IsParentOf
90. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
Person
parent 0..2
*
child
IsParentOf
Formalization
35
“Check whether the asso-
ciation «IsParentOf» needs
a constraint enforcing the
symmetry property.”
context Person inv:
self.child.child->
excludes( self )
91. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
✓
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Kx (kind) can either be Problem or Checking.
Person
parent 0..2
*
child
IsParentOf
Formalization
35
“Check whether the asso-
ciation «IsParentOf» needs
a constraint enforcing the
symmetry property.”
context Person inv:
self.child.child->
excludes( self )
92. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
Formalization
36
93. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, complete}
If non-acceptable,
we must modify the
schema in a way
such that the issue
disappears.
Formalization
37
94. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, complete}
If non-acceptable,
we must modify the
schema in a way
such that the issue
disappears.
Formalization
37
Pull-up
Property
95. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
plateNumber:String
Car Motorcycle
{disjoint, complete}
If non-acceptable,
we must modify the
schema in a way
such that the issue
disappears.
Formalization
37
96. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, complete}
If non-acceptable,
we must modify the
schema in a way
such that the issue
disappears.
Formalization
37
Change it to
incomplete
97. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, incomplete}
If non-acceptable,
we must modify the
schema in a way
such that the issue
disappears.
Formalization
37
98. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, complete}
If acceptable,
the modeler can
simply state that he
won't fix it the
schema.
Formalization
38
99. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
✓
Issue Type Definition
Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }
Ax (acceptability) indicates whether an
issue type is Acceptable or Non-acceptable
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{disjoint, complete}
If acceptable,
the modeler can
simply state that he
won't fix it the
schema.
Formalization
38
100. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Life cycle of an Issue Instance
Formalization
Non-Acceptable
Problem Issue
Acceptable
Problem Issue
Non-Acceptable
Checking Issue
Acceptable
Checking Issue
Pending
Pending
Accepted
Pending
CheckedChecked
Pending
Accepted
Deletion
Deletion Deletion Deletion
Accept
Accept
Check
Check
Reconsider
Reconsider
Reconsider
Reconsider
39
102. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
The Catalog
Design Science Research requires
an artifact to be built.
Catalog
A Catalog of Quality Issues presents
quality properties uniformly and
demonstrates the expressiveness and
usefulness of our method.
41
103. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Expressiveness
The catalog includes all metamodel constraints plus
65 additional non-syntactic quality issue types.
(from conceptual modeling books, papers, and IDEs)
Catalog
We defined them as
Quality Issues using
our formalization.
42
104. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Syntactic Issue Types
An integrity constraint defined in the UML
metamodel.
For example,
“There is a cycle of generalizations.”
43OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011
105. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Syntactic Issue Types
An integrity constraint defined in the UML
metamodel.
LandVehicle
MotorVehicle
Car
Non-acceptable Problem
= <Classifier>
= true
= self.allParents()->
includesSelf()
S
Φ
ρ
43
106. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Syntactic Plus Issue Types (11)
Integrity constraints applicable when UML
is used as a conceptual modeling language.
For example,
“An attribute has no type.”
44MOODY, D.L., Metrics for evaluating the quality of entity relationship models. In ER, vol. 1507 of LNCS. Springer, 1998, pp. 211-225
107. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Syntactic Plus Issue Types (11)
Integrity constraints applicable when UML
is used as a conceptual modeling language.
Car
plateNumber
Non-acceptable Problem
= <Property>
= it is an attribute
= self.type()->
notEmpty()
S
Φ
ρ
44
108. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Basic Quality Issue Types (20)
Fundamental properties for a schema to be
correct, relevant, and complete.
For example,
“The schema is not strongly satisfia-
ble because of a recursive associa-
tion.”
45OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007
109. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Basic Quality Issue Types (20)
Person
parent 2
3
child
IsParentOf
Fundamental properties for a schema to be
correct, relevant, and complete.
Non-acceptable Problem
= <Association>
= “is binary and recursive”
= “the multiplicities are
not strongly satisfiable”
S
Φ
ρ
45
110. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Best Practices (18)
Issues that are recommended by some
authors in some contexts.
For example,
“An attribute repeated among all
specific classes of an incomplete
generalization set is correct.”
46FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
111. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Best Practices (18)
Issues that are recommended by some
authors in some contexts.
(Non-)Acceptable Checking
= <gs:GenSet, s:String>
= “gs is incomplete”
= “every specific class of gs
has an attribute named s”
S
Φ
ρ
MotorVehicle
Car
plateNumber:String
Motorcycle
plateNumber:String
{incomplete}
46
112. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Naming Guidelines (16)
Special kind of best practices, focused on
the names given to schema elements.
For example,
“The name of a boolean attribute is
not a third-person singular verb-
phrase.”
47
AGUILERA, D., GÓMEZ, C., OLIVÉ, A., A complete set of guidelines for naming UML conceptual schema elements.
Data Knowl. Eng. 88, 0 (2013), 60-74
113. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Classification
Catalog
Naming Guidelines (16)
Special kind of best practices, focused on
the names given to schema elements.
(Non-)Acceptable Problem
= <Property>
= “it is boolean”
= “its name is not a verb
phrase written in singu-
lar third-person form”
S
Φ
ρ
Person
adult:Boolean
47
114. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Usefulness
We analyzed 13 conceptual schemas
developed by students as part of their
final projects in a Computer Science degree.
Catalog
Size of the schemas (median):
- 17 Classes
- 3 AssocClases
- 12 Associations
- 56 Attributes
- 8 Invariants
48
115. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Usefulness
Catalog
All conceptual schemas presented
several Quality Issues!
Number of issues (median):
- 0 Syntactic+
- 111 Basic Properties
- 33 Best Practices
- 24 Naming Guidelines
Size of the schemas:
- 17 Classes
- 3 AssocClases
- 12 Associations
- 56 Attributes
- 8 Invariants
49
116. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Explore and Analyze current UML IDEs,
comparing them with our catalog
Support by Current IDEs
29 Modeling Tools
Focus on the UML
Conceptual Modeling Tasks
Catalog
50
(ArgoUML, Rational Rose, USE, Poseidon, SDMetrics...)
117. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
- Do they control syntactic issue types?
- What about other issue types?
- How do they o er this support?ff
- Do they provide assistance for fixing them?
- Can they be extended with new issue types?
Support by Current IDEs
Catalog
Explore and Analyze current UML IDEs,
comparing them with our catalog
51
119. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we found...
Syntactic Support Non-Syntactic Support
S+ BasProp BestPrac Naming
20
0
3 Full
17 Partial
9 None
Catalog
ArgoUML
SDMetrics
CatalogCatalog
52
120. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we found...
Syntactic Support Non-Syntactic Support
3 Full
17 Partial
9 None
S+ BasProp BestPrac Naming
20
0
Catalog
ArgoUML
SDMetrics
CatalogCatalog
Corrective Actions
- 2 tools only
52
121. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
What we found...
Syntactic Support Non-Syntactic Support
Extension Mechanisms
- 4 tools only
3 Full
17 Partial
9 None
S+ BasProp BestPrac Naming
20
0
Catalog
ArgoUML
SDMetrics
Catalog
Corrective Actions
- 2 tools only
52
122. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Support by IDEs vs. our Catalog
Best IDEs today
ArgoUML and SDMetrics
The number of
issues detected by our catalog versus
those detected by these tools
is 10 times larger!
Catalog
53
123. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Fair Comparison... (extensibility?)
- Only 4 tools can be extended
- They all deal with problem issues,
thus ignoring checking issues
- The formalization they use is less
expressive than ours
Catalog
54
125. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Eclipse
CMA based on Eclipse
Plugin
Plugin
Plugin
Workbench
Platform Runtime
Web
Tools
Java Dev
Tools
CMA
Design Science Research requires
an artifact to be built.
56
140. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
63
141. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Issues?
Evaluate the Applicability
and Issue Conditions for
every instance of the scope.
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
63
142. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
64
143. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
64
144. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
64
145. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
The name of the boolean
attribute «adult» is not a
verb phrase.
64
146. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
This evaluation takes time.
We want to detect quality issues
as fast as possible.
65
147. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Computation of Issue Instances
Incremental
“Not all changes that can be applied to
the schema have an e ect on theff
evaluation of the expression”.
Incremental Methods
66
148. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
149. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
150. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
Incremental
Person
adult:Boolean
Book
free:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
The name of the boolean
attribute «free» is not a
verb phrase.
67
151. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
- Change the name of A2
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
152. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
- Change the name of A2
Incremental
Person
isAnAdult:Boolean
Book
isABestSeller:Boolean
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
153. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
154. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
Incremental
Man
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
155. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
- Add a new attribute
- Delete an association
- Create a generalization
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
67
156. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Incremental
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
- Add a new attribute
- Delete an association
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
The goal of an Incremental Method
is to determine the set of changes
that (might) change the result of
evaluating an expression.
68
157. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Incremental
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
- Add a new attribute
- Delete an association
- Create a generalization
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
69
158. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Incremental
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the name of C1
- Add a new attribute
- Delete an association
- Create a generalization
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
69
159. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Incremental Methods
Incremental
Person
adult:Boolean
Book
isABestSeller:Boolean
The name of the boolean
attribute «adult» is not a
verb phrase.
Sx = { Property }
ρx(a) = “the name of a boolean
attribute is not a verb phrase”
69
Possible changes:
- Change the name of A1
- Change the name of A2
- Change the type of A2
- Delete A2
- Delete an association
- Create a generalization
160. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Efficient Detection of Issues
We selected Egyed's method and applied it to
our algorithm, taking into account:
- Applicability and issue conditions
- Precedents
Modify the algorithm for
computing issue instances with an
instance-based incremental approach.
Incremental
70
EGYED, A. Automatically detecting and tracking inconsistencies in software design models.
IEEE Trans. Softw. Eng. 37, 2 (2011), 188-204
161. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Improvements in Efficiency
Regular approach (schemas <500 elems)
Incremental approach
Avg. 9 seconds Max. over 5 minutes
Max. 250 millisecs
Incremental
The results are conclusive.
71
163. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Conclusions
The Problem
Defining Conceptual Schemas is a complex
and difficult activity, but the support modelers
get is scarce.
Conclusions
73
164. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Conclusions
The Problem
Quality in Conceptual Modeling is important,
but the support modelers get is scarce.
The Solution
A method for defining and treating Quality Issues,
whose goal is to assist conceptual modelers.
(based on current literature)
The Problem
Defining Conceptual Schemas is a complex
and difficult activity, but the support modelers
get is scarce.
Conclusions
73
165. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
1
Formalization
Conceptual Schema Quality Issues
- Definition
- (Efficient) Detection
- Solution
Conclusions
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
A method for the definition and treatment of conceptual schema quality issues.
In ER (2012), vol. 7532 of LNCS, Springer, pp. 501-514 74
166. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
2
Catalog
Issues from the literature
- UML/OCL
- Syntactic correctness
- Best practices and guidelines
Conclusions
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
A complete set of guidelines for naming UML conceptual schema elements.
Data Knowl. Eng. 88, 0 (2013), 60-74
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
Enforcement of conceptual schema quality issues in current Integrated
Development Environments. In CAiSE (2013), vol. 7908 of LNCS, Springer, pp. 626-640
75
167. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
3
CMA
Conceptual Modeling Assistant
- The Eclipse Platform
- Implements the method
- Integrates the catalog
Conclusions
AGUILERA, D., GARCÍA-RANEA, R., GÓMEZ, C., AND OLIVÉ, A.
An eclipse plugin for validating names in UML conceptual schemas. In
ER Workshops (2011), vol. 6999 of LNCS, Springer, pp. 323-327
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
An eclipse plugin for improving the quality of UML conceptual schemas. In
ER Workshops (2012), vol. 7518 of LNCS, Springer, pp. 387-390 76
173. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
Publications
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
Enforcement of conceptual schema quality issues in current Integrated
Development Environments.
In CAiSE (2013), vol. 7908 of LNCS, Springer, pp. 626-640
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
An eclipse plugin for improving the quality of UML conceptual schemas.
In ER Workshops (2012), vol. 7518 of LNCS, Springer, pp. 387-390
AGUILERA, D., GARCÍA-RANEA, R., GÓMEZ, C., AND OLIVÉ, A.
An eclipse plugin for validating names in UML conceptual schemas.
In ER Workshops (2011), vol. 6999 of LNCS, Springer, pp. 323-327
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
A complete set of guidelines for naming UML conceptual schema elements.
Data Knowl. Eng. 88, 0 (2013), 60-74
AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.
A method for the definition and treatment of conceptual schema quality issues.
In ER (2012), vol. 7532 of LNCS, Springer, pp. 501-514
82
Conclusions
174. CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction
David Aguilera
UPC - Barcelona
Dr. Olivé and Dr. Gómez
A Method for the
Unified Definition and Treatment of
Conceptual Schema Quality Issues