Fostering Software Architect and Programmer Collaboration

2016 
Model-Driven Engineering (MDE) is a development paradigm that brings the benefits of increased automation to the software development cycle. The MDE community tries to promote MDE adoption by pushing models written in diagram-based languages, supported by extensive tooling. While there is increasing evidence that MDE facilitates the design of complex software, its level of acceptance by software developers is still low. On one hand, rather than use diagram-based languages, most programmers prefer to work with their favorite textual programming language (e.g. Java and C++) and integrated development environment. On the other hand, software architects are among the early adopters and promoters of diagram-based languages. They consider such languages to be much more suitable for describing architectures compared to textual languages. Synchronizing manually written artifacts in either type of language is not simple and is often very time-consuming and error prone unless it is supported by automated methods and tools. To solve this issue, we propose a methodological pattern for model-code synchronization supported by corresponding tooling. The solution tackles a fundamental problem of round-trip engineering: synchronization between concurrently evolving artifacts. On one side we have the architecture model maintained by the software architects, while on the other, we have code written by programmers. Applying our approach for the development of an actual runtime system, we show that both parties involved, software architects and programmers, can efficiently collaborate while continuing to work in their favorite development environment.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    23
    References
    3
    Citations
    NaN
    KQI
    []