The first lecture in design patterns summer term 2010 starts on Tuesday 13.04.2010, 16:00 in room WA 2104.
See you soon
Albert
The first lecture in design patterns summer term 2010 starts on Tuesday 13.04.2010, 16:00 in room WA 2104.
See you soon
Albert
The first lecture in model driven engineering summer term 2010 starts on Friday 16th, 10:00 room WA 1340.
(we might move to another time due to conflicts with other courses).
See you soon
Albert
This homework continues the Xtext exercise from homework #10. This time, you have to generate Java code from EngineeringC code. Add this example model to your EngineeringC project:
EngineeringCDiagram diag {
ECBlockDecl test {
ECStore x {
value : "0"
}
ECStore y {
value : "7"
}
ECComputeBlock comp1 {
expression : "x = 6 * y"
}
}
ECBlockDecl callTest {
ECStore z {
value : "0"
}
ECBlockAppl callTest {
instanceof : test
}
ECComputeBlock comp2 {
expression : "z = x + 42"
}
}
}
(Remember to first modify your grammar before creating a code generation template!)
The generated Java code should calculate the correct result for all ECComputeBlocks. To ensure this, create a JUnit test in the same package as the generated class. Call the generated methods from the test and ensure that the expected values are computed. To make cross-block variable access possible, you have to modify the Xpand template so that these variables are accessible from the generated methods.
Xtext Workflow from the lecture:
<workflow>
<property file="workflow.properties"/>
<component class="org.eclipse.xtext.MweReader" uri="${modelFile}">
<register class="de.unikassel.se.compilerbau.ECStandaloneSetup"/>
</component>
<component id="generator" class="org.eclipse.xpand2.Generator">
<metaModel id="mm" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
<metaModelPackage value="de.unikassel.se.compilerbau.eC.ECPackage"/>
</metaModel>
<expand value="GenerateEC::Root FOR model"/>
<outlet path="${srcGenPath}/">
<postprocessor class="org.eclipse.xpand2.output.JavaBeautifier"/>
</outlet>
</component>
</workflow>
Helpful links:
Please follow the instructions given in the lecture to complete the assignment.
* Download/install Xtext, preferably using a complete Eclipse distribution from http://xtext.itemis.com/xtext/language=en/23947/downloads
* Create a new workspace and a new Xtext project
* Write a grammar corresponding to the simplified EngineeringC model shown in the lecture
* Run the generated workflow and test the parser with some EngineeringC diagrams
To hand in your homework, ZIP the Eclipse workspace which contains the Xtext project and upload the ZIP file to your CVS repository. Deadline is Friday, Feb. 5th.
Ab Release 3 (ab 25.01.2010 00:01 uhr)wird ein neuer Server laufen auf dem einige Änderungen getroffen wurden.
1. Zerfall von unbesetzten Gebäuden. Jedes Gebäude (außer dorfzentrum,rathausplatz,friedhod und manatopf) in dem sich kein Arbeiter befindet zerfällt pro Produktionszyklus um 1. Sobald ein Gebäude 10 mal unbesetzt war wird bricht es in sich zusammen (es wird gelöscht).
2.Score und Achievements . Es gibt nun einen liveScore auf der Serverstatusseite dieser Errechnet sich aus Achievements und der Anzahl der eingenommen Städte. Achievements werden vom Server nun über das Protokoll heraus geschrieben.(Weitere Informationen zu Achievements folgen diese Woche)
3.Chat. Es wurde ein Chat ins Protokoll eingebaut der an alle Spielertypen gesendet wird
4.Neue Zauber/Wunder freischaltung von Effeckten und Änderungen am ZauberProtokoll wurden vorgenommen. Siehe Spielbeschreibung.
5.Änderungen am alten Protokoll.Änderungen am alten Protokoll sind nachzulesen im Protokollbeitrag.