Software specification: consolidation and extension
ducmle opened this issue · 1 comments
ducmle commented
Overview
JDA includes a set of annotation-based DSLs (DCSL, MCCL, SCCL) to specify the software. A software specification written in these DSLs can be used as input to automatically generate a software.
The purpose this small project is to consolidate the imlementations of the DSLs and (possibly) add new features.
Tasks
- RFSGenDesc: to support the revised (more compact) configuration structure specified in the paper (see below)
- BESpringApp.run: server port
- FEReactApp: server port
- FESoftware.run: whether to run as a thread or not
- ...testbed.backend.BESpringAppByCount: for benchmark testing of backend
- auto-increment BE server port
- ...testbed.frontend.FEReactAppByCount: for benchmark testing of frontend
- auto-increment FE server port
- auto-append port counter to feProjName to create a different project name folder
...(add other options here)
RFSGenDesc's structure (revised)
@RFSGenDesc(
domain = "courseman",
stackSpec = StackSpec.FS, // generates full-stack
feLangPlatform = LangPlatform.REACT,
beLangPlatform = LangPlatform.SPRING,
thenExec = true, // executes the generated code
outputPath = "src/example/java"
feProjPath = "/programs/restfstool-fe",
)
ducmle commented
- Em xem commit mới nhất ở trên, đã hỗ trợ tốt cho chạy benchmark testing
- FEReactAppByCount đã có cả chức năng hôm trước em cần cho feProjName. Customise class thêm class này nếu cần thêm options.