Feed on
Posts
Comments

download my graduate thesis: EatSmart: A Personal Nutrition Management System Leveraging Artificial Intelligence Methodology

Abstract:

This thesis describes a web application (EatSmart) for recipe management and computing personalized cooking plans. EatSmart employs an evolutionary planning algorithm that evaluates cooking plans according to criteria such as the total price of the ingredients, the diversity of the recipes, how much a user likes the recipes, and the time needed for cooking. The application is built upon a three-tier architecture using JBoss Seam for integration. The business logic in EatSmart is splitted into entity behaviours and usecase specific state transitions to increase the reusability. In EatSmart, the Rete-based rule engine JBoss Drools is integrated for automatically applying appropriate health-tags to recipes according to their nutrient facts. EatSmart uses a new JSF and Facelets-based view-templating technique. Each use case that spans several user actions has its own view description and the use-case views are composed with entity views. Furthermore, an overview of modern knowledge-based systems and their application areas is provided in this thesis.

Kurzfassung:

Diese Arbeit beschreibt EatSmart, eineWeb-Applikation zur Rezeptverwaltung und Berechnung von persönlichen Speiseplänen. EatSmart verwendet einen evolutionären Planungsalgorithmus, der Speisepläne anhand Kriterien wie dem Gesamtpreis der Zutaten, der Diversität der Rezepte, der Vorlieben des Benutzers für bestimmte Rezepte und der benötigten Zubereitungszeit bewertet. Die Anwendung basiert auf einer dreischichtigen Architektur, die mit JBoss Seam integriert ist. Die business logic in EatSmart ist in Entity-Verhalten und Use-Case spezifische Zustandsübergänge aufgeteilt, um die Wiederverwendbarkeit zu erhöhen. In EatSmart ist die auf dem Rete-Algorithmus basierende Rule-Engine JBoss Drools integriert, um die Rezepte anhand ihrer Zutaten automatisch mit Gesundheitshinweisen zu annotieren. EatSmart benutzt eine neue View-Templating Technik, die auf JSF und Facelets aufbaut. Jeder Use-Case, der mehrere Benutzeraktionen umfasst, hat seine eigene View-Beschreibung und die Use-Case Views sind aus Entity-Views zusammengesetzt. Schliesslich gibt diese Arbeit noch einen Überblick über moderne wissensbasierte Systeme und über ihre Anwendungsgebiete.

Table of contents:

1 Motivation
2 Multicriteria Decision-Making in EatSmart
2.1 A Combinatorial Optimization Problem
2.2 The Evaluation Function
2.3 The Planning-Algorithm
2.3.1 Recipe-Filtering to Shrink Solution Space
2.3.2 Monte Carlo Methods Applied
3 Knowledge-Based Expert Systems and Rete-Based Rule Engines
3.1 The Need for Effective Knowledge-Management
3.2 Major Characteristics of Expert Systems
3.3 The Rete Algorithm
3.4 Introduction to Drools
4 Seam as an Integration Framework
4.1 Fine Grained Server Side State Management
4.2 Extended Persistence Context for Optimistic Transaction Processing
4.3 Dependency Injection via Seam Annotations
4.4 Built-in jBPM and Drools Support
4.5 Enhanced EL
4.6 View Templating Using Facelets
4.7 seam-gen, Annotations and Configuration Files
5 Engineering of the EatSmart Program
5.1 Feasibility Analysis and Requirements Refined
5.2 System Analysis
5.2.1 Static Analysis
5.2.2 Dynamic Analysis
5.3 Architecture Design
5.3.1 Relevant Architectural Patterns
5.3.2 Important Third Party Software
5.3.3 Architecture Overview
5.3.4 Structural Views
5.3.5 Behavioral Views
5.4 Implementation
5.4.1 Rich Domain Models and ORM
5.4.2 Use-Case State Machines in the Controllers
5.4.3 Rules in DRL
5.4.4 The Utility Classes
5.4.4.1 DataStore in the Middle Tier
5.4.4.2 A Fuzzy String Matcher Using Dynamic-Programming
5.4.4.2.1 Fine-tuning of matching cost
5.4.4.2.2 Generalization to character swaps
5.4.5 Composed Views
6 An EatSmart Tour
7 Conclusion and Potentiality
7.1 Combinatorial Optimization: Beyond the Recipes
7.2 Rete-based Rule Engines and Large Scale Machine Learning
7.3 Dynamic Programming: Fuzzy Logic Applied
7.4 EatSmart Architecture Review
7.5 The Development Process Review
7.6 Commercial Possibility of EatSmart

download my graduate thesis: EatSmart: A Personal Nutrition Management System Leveraging Artificial Intelligence Methodology

Leave a Reply