120 likes | 241 Vues
This project focuses on creating an Eclipse plug-in GUI for the Rule-Based Clean-Up Engine (RBCE) in collaboration with Amdocs Israel. The goal is to design software that facilitates rule generation and testing while supporting multiple databases. The project emphasizes a tiered design methodology ensuring loose coupling between UI and logic, enabling easy extensibility. Team members gained valuable experience in Java programming, XML manipulation, and Eclipse plugin development. Despite challenges with synchronization and library usage, the collaboration fostered significant learning and achievements.
E N D
GUI for a Rule Based Clean Up EngineIn Coordination with Amdocs Israel Students: Avner Barr, Eitan Vadergorn Supervisor: RamiMankevich Lecturer in Charge: ChaimGotsman
Team Members • Avner Barr (CS Technion) • Eitan Vaidergorn (CS Technion) • RamiMankevich (Amdocs Israel) • ChaimGotsman (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 Rule Groups Global Parameters LOGIC Database config User Interface Screens
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/NetbeansIDE 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