|Due at Thursday, January 14th, 11:00 am (before the lecture starts)|
A09T22_23_MOF_UML_Meta_Models_Solution. Also see our comments for further explanations.
0. Check out the project A09T22_23_MOF_UML_Meta_Models from your SVN repository.
1. Create a MOF-based meta model for a simple, form-based GUI with the following elements:
A Form contains Panels, which may contain Panels (without self-references), Editable fields, Labels and Buttons. Buttons may contain links to other forms1). Edit fields can be restricted to one of the following basic types: String, Double, Integer.
Use a UML class diagram to draw the diagram.
2. Draw an example model which instantiates your meta-model. Since we have no concrete syntax for our meta-model you may use your own graphical representation or draw an object graph.
Create an UML-Profile the form-based GUI. First read Creating and Applying UML Profiles with Topcased UML editors. Use /A09T22_23_MOF_UML_Meta_Models/model/form_gui.profile.umldi as a starting point for your UML profile and the class diagram /A09T22_23_MOF_UML_Meta_Models/model/form_gui_model.umldi for the model instance. Everytime you modify an save the profile you will be asked if the profile you be “re-defined”. Answer with OK if you want to use your modification in the model file. You will have to re-apply the profile in your model file each time you re-defined the profile to update your model to the latest profile version. To restrict your stereotypes use OCL or, if your are not familiar with OCL, natural language. See here on how to add (OCL) constraints to a (meta-)model element.
Your task is to generate a report from the modeling in color hotel model from task 12. The model and profile file are already included in the task's project A09T24_Xpand_Report_Generation. The report should list all classes grouped by stereo type (party, place, etc). List the rm-details as sub items of the moment-intervals and roles as sub items of their associated party.
Report for: hotel ==== Parties ==== * Person * role: Booker * role: Guest ==== Moment Intervals ==== * Reservation * mi-interval: ReservedRoomCategory
0. Read the updated lecture slides on Xpand and, if this is not sufficient, the XPand Reference.
1. Right-click on xpand/generator.mwe and select Run As→MWE Workflow, this will pass the model /A09T24_Xpand_Report_Generation/model/HotelDomain3.uml file to the root Template in xpand/templates/Report.xpt 2). This will create the file src-gen/hotel_report.txt.
2. Complete the Report.xpt as described above.
Some usefull methods: