Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.
Hans van Wezep, software architect at Philips Healthcare, talked about model-based migration at the Bits&Chips Software Engineering conference. InfoQ did an interview with van Wezep about the challenges in maintaining legacy software, why manual refactoring is error prone, using models to refactor and migrate a codebase, and the benefits of using models when maintaining legacy software.
By using Model Driven Development component tests could be skipped and integration and system testing went a lot smoother, said Bryan Bakker in the presentation Model Driven Development (MDD) and its impact on testing. Main results from the MDD approach are a reduction of the amount of testing and increased reliability of the code that was generated from a mathematical model.
An important part of ASP.NET MVC is the set of code generators called scaffolds. Inspired by Ruby on Rails, these code generators can be used to quickly create controllers and views based on a model class. New in VS 2013 Update 2 is the ability to create your own scaffolds that plug into the overall framework.
There are quite a few improvements added to Visual Studio’s T4 system for Visual Studio 2012. The highlights include MEF support for deploying directive processors and easier debugging.
Daniel Schneller illustrates how his team used Xtext to create a textual-DSL that models the navigation paths of mobile applications and generate Java code from it. He provides a step by step tutorial and discusses the advantages of such an approach.
T4 is Visual Studio’s built-in code generator. Though fundamental for many of the frameworks built atop .NET, it is incredibly under-powered. Even the simplest things like intelligently reusing templates or emitting multiple files seem beyond it at first glance. Yet developers such as Damien Guard are finding of ways to improve it.
With the recent release of code generation tools such as Spring Roo from SpringSource, Skyway Builder Community Edition version 6.3 and BluAge's M2Spring, there is a renewed focus on the role of code generation in developing enterprise Java applications. InfoQ spoke with project leads from Spring Roo and Skyway products about how the code generation fits in the java application development.
The recent release of Spring Roo, a round-tripping code generation tool used to develop Spring applications in Java, offers Tomcat, JMS and Selenium support. SpringSource development team released Roo 1.0 M1 version last week.
C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.
The latest version of Skyway Builder Community Edition (CE) offers an open-source code generation framework for Spring based web applications. The community edition can be used to generate the code required in data, service and web layers of a Spring application. Skyway Software recently announced the general availability (GA) of Skyway Builder 6.1 version.
ASP.NET MVC is using T4 (Text Template Transformation Toolkit) to generate the code behind the scenes when a Controller or a View is added to a project. T4 is a fully customizable text generator based on templates.
If you find yourself writing the same sort of class over and over again, custom item templates could be your solution. Shahar Y. shows how to create your own custom Visual Studio Item Templates.
Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article, experienced MDD practitioners pass on some best practices based on the experiences gathered over years of development.