60 likes | 75 Views
Explore the problems and requirements of applying bidirectional transformation techniques in software engineering. Examine the tasks, practices, and development methods that can benefit from BX, considering the levels of formality and bi-directionality needed. Discover the potential cost and benefits of using BX techniques. Illustrate these concepts with examples like MDA model chains, code generation, model migration, and traceability. Clarify where in the development process your BX technique can be applied and assess the measure of bi-directionality and its associated costs and benefits.
E N D
Challenging BX as a Software Engineer:What is a problem? How much BX do we need? Ekkart Kindler
Maslow’s hammer If all we have is a hammer,everything looks like a nail! w Challenging BX as a Software Engineer
PetriNet * PObject 1 source Node Arc 1 target Transition Place Token * Process / artifacts Challenging BX as a Software Engineer
Purpose of BX techniques • Which SE tasks, practices and development methods should our transformation techniquesbe applied for? • How much formality do they need? • How much bi-directionality do they need? • What are the ”degrees” of bi-directionality? • Have lenses, TGGS, whatever the same ”degree” of bi-directionality? Actually: how much can we afford! cost / benefit Challenging BX as a Software Engineer
Examples • ”MDA model chain”: CIM, PIM, PSM, (Code) • Code generation / manual changes in code • Model (code) migration/evolution • Model & instance co-migration/evolution • Traceability • Representation of ”added or forgotten” stuff(transformational vs. incremental MDA) Challenging BX as a Software Engineer
My Challenge Clarify for your BX technique: • Where in the development processdo you propose to use your technique? • How much bi-directionality is needed? • What is the (extra) cost? • What is the (extra) benefit? Do we have an adequate measure of bi-directionality? (Ab)use of the term case study! Challenging BX as a Software Engineer