Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:

Similar presentations


Presentation on theme: "A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:"— Presentation transcript:

1 A Machine Learning Approach to Programming

2 Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP: An example. MLAP: Design MLAP: Advantages/Disadvantages Scope Conclusion

3 Overview of software methodologies SSAD: Here programming is procedural. The mapping between a real life object n its representation in a program is ambiguous. OOAD: Here real life objects are mapped as classes in a program. Each class consists of attributes n methods.

4 Disadvantages of other Methodologies Testing n error fixing takes a very long time. Enhancements are based on user feedback n usage. Collecting this information is a cumbersome process. Usability issues are not given enough importance because of lack of information. Optimization is difficult because of inadequate information.

5 What is MLAP? In MLAP, a program encodes information about itself i.e. it is aware of its own design. It is a natural consequence of the Object Oriented Methodology wherein real-life objects are represented as classes. In MLAP, each class is also aware of its construction n purpose. This is an effort to take programming to a higher level wherein the program can fix its errors on its own n provide a better user experience i.e. minor defects r fixed by the program n the program helps a user make the best use of the application n runs based on the user’s preferences.

6 MLAP- An Example class A { private: attribute1; attribute2; classinfo; //encodes functionality details //of class A public: method1(); method2(); getclassinfo(); //retrieves details of class A };

7 MLAP- An Example Each class contains information about itself which is encoded as an attribute. This information can be stored in predicates to record functionality.

8 Design Knowledge Base Expert System for Error Processing n Optimization Application

9 Design EBL Engine: This will learn how it is used in the execution environment. The engine uses Explanation Based Learning. Domain theory will be specific to the application. Knowledge Base: This will store domain theory n any rules that the EBL generates. ES for Error Processing n Optimization: This can be added for real-time error processing n fixing.

10 Advantages Error fixing: Recording error info (steps traversed at the time of the error, point in code where error took place), real-time error processing will reduce time required to fix defects immensely. Functionality/design enhancements: Recording code coverage n class usage for optimization n accurate error information will speed up development of new releases.

11 Advantages Usability: Various aspects of usage will be recorded by different users for usability studies. Customization based on user preferences: UI preferences,order of functions, batch processing based on user preferences n providing help whenever a user needs it will provide for a better user experience.

12 Disadvantages Higher memory usage. An enhancement to a Basic implementation. Higher costs. Performance overhead due to additional functions.

13 Scope Project is still in its implementation stage. The idea is to build an EBL engine with a knowledge base to support the application. An expert system shell can be developed at a later stage for error processing.

14 Conclusion In MLAP, a program encodes information about itself n can enhance its own performance. It can improve n speed up the process of error fixing. It is aware of its functionality n design and works towards its enhancement. It can provide a better user experience.

15 References Artificial Intelligence-”Nilsson” Expert Systems-”Peter Jackson”


Download ppt "A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:"

Similar presentations


Ads by Google