GUI for a Rule Based Clean Up Engine
GUI for a Rule Based Clean Up Engine In Coordination with Amdocs Israel Students: Avner Barr, Eitan Vadergorn Supervisor: Rami Mankevich Lecturer in Charge: Chaim Gotsman
Team Members � Avner Barr (CS Technion) � Eitan Vaidergorn (CS Technion) � Rami Mankevich (Amdocs Israel) � Chaim Gotsman (Technion CS Professor)
Goal � To create an Eclipse plug-in GUI for the RBCE � Design software through all stages � Work as a team with an external supervisor � Complete the project in one semester
Goal � To create an Eclipse plug-in GUI to generate XML input for the Rule Based Clean Up Engine (RBCE) � Design software through all stages � Work as a team with an external supervisor � Complete the project in one semester
Project Goals These are the original goals from our kickoff presentation: � Writing of various rules based on user specified requirements. � Supporting multiple databases e. g. one rule can be executed in one DB and another can run in a different DB. � GUI should support testing a rule or a group of rules following specification of the database details in the GUI. � The cleanup engine can run on more than one XML. The GUI should be loaded as per the XML specified. � All the rules specified in the GUI can be updated in the backend XML file. � The GUI should be able to read the rules manually written in the XML file.
Methodology � Tiered design and implementation ◦ Logic ◦ Data Base ◦ Front end � Loose coupling between UI and logic ◦ Easily add new rules to data base ◦ Easily adapt logic ◦ Easily configure new screens � “Divide and Conquer” ◦ Separate implementation to pieces ◦ Rely on external sources when available (Amdocs libs) � Support for easy extensibility
Methodology Continued � Rule Based Clean up Engine Configuration Comprised of: ◦ Data base definition (According to schema) �Rule Groups �DB Rules �Parameters and various configurations �File Rules �Parameters and various configurations �Rule specific dynamic parameters �Dynamic Parameters
XML RBCE Eclipse Amdocs Classes Global Parameters Screens Rule Groups LOGIC User Interface Database config
Achievements � In the allotted time we were able to achieve quite a lot. Some of our achievements include ◦ Learn to create an Eclipse Plugin from scratch ◦ Learn to use the JAXB API ◦ Use Eclipse/Netbeans IDE to facilitate GUI and plugin creation ◦ Use and manipulate XML/XSD files with different tools and manually ◦ Java experience ◦ GUI for creating and manipulating XML files for the RBCE engine
Conlusions � Working with Eclipse is not an easy task ◦ We would not have used its frame work if it wasn’t required � Delegating our time was difficult and we had problems synchronizing our work � We should have asked for more help using the Amdocs’ libraries because they were not correct throughout ◦ Time wasted ◦ Changing schemas � We were able to design, implement and test our software from the bottom up and we learned about Java and other tools such as Eclipse, Netbeans and Altova � Derived successes ◦ Produced a mini website ◦ Used many tools and software forums online
Examples � Demo � Mini Website
Questions?
- Slides: 12