Jnario is a new test framework for Java focusing on the design and documentation aspects of testing. Jnario consists of two domain-specific languages, one for writing readable acceptance specifications, the other for succinct unit specifications. Together they are well suited for behavior driven development (BDD) of Java programs.
Most people agree that to develop a stable and mature software, it is helpful to have automated tests. This also applies for developing Domain Specific Languages (DSL) and their tool support.
However, during the recent years of doing consulting around Xtext, we came to notice that the test coverage tends to be too low to rely on or even non-existent. People perceived tests as too difficult to write and preferred to focus there efforts on the to-be-delivered part of the software.
Building a product is hard, building a platform is even harder. In this session, we will have a look at the technical and organizational challenges that Service2Media faces while developing an Eclipse-based IDE that supports their cross-mobile solution called M2Active. With M2Active, a developer can create applications for mobile platforms (iOS, Android, Blackbery, J2ME, Windows Phone) using the 'define once, deploy anywhere' principle.
Xtext has spread at an amazing speed throughout the community and has revolutionized the work with DSLs and compilers for many of us. We use our own DSL SDK built upon Xtext to efficiently implement and automatically test large scale solutions comprising more than 50 DSLs used in 50'000 sources. We employ this framework in our Eclipse based IDE used in the development and customization of our banking system.
Java EE 6 has eliminated many of the drawbacks of previous Java Enterprise Editions, and is a strong choice regarding Standardization, Performance and Scalability. On the other hand, OSGi as emerging Enterprise standard provides modularization, service-orientation and flexible deployment. Both standards symbiotically complete each other. How could a possible marriage look between the two? And how can the marriage preparations be handled efficiently?
At first glance it is easy to build Eclipse projects: import them into your workspace and the Eclipse builder takes care of the rest. In the blink of an eye everything is compiled, ready to be exported. This scales up to hundreds of project. That raises the question why building that very same code base on an integration server has proven to be such a nightmare in the past? Shouldn't that be equally simple? This is where Buckminster comes into the picture.
Every SAP ERP and CRM system provides product-configuration technology. Thousands of companies worldwide use this technology to configure product variants in sales and manufacturing. Product models for the SAP configurators consist of a network of related objects like materials, bills of materials, characteristics, and classes as well as dependency code written in special languages. A set of transactions with form-based SAP user interfaces - nearly one for each object type and CRUD operation - is used for maintaining the product models. Changes are directly reflected in the database.
Proper handling of interface definitions is key when designing the architecture of large systems. Franca is an open source framework for definition and transformation of software interfaces. The talk will emphasize concepts which distinguish Franca from other IDLs and how Xtext/Xtend helped building those features. A demo will provide some insight of how Franca is applied to build Automotive Infotainment systems.
EMF-IncQuery (http://www.eclipse.org/proposals/modeling.emf.incquery) is a novel query framework for EMF models - soon to be committed to Eclipse.org as a new sub-project under EMFT - with a fully featured query language built on top of the new Xtext/Xtend 2.3 infrastructure. We have chosen Xtext because of its ease of use and high quality features, such as the versatile Xbase expression language. However, as it turned out, building a complex and declarative (non-Java like) DSL poses some unique challenges that push Xtext to the limits of its capabilities.
Developing domain specific languages (DSLs) for Java has become surprisingly easy! Xtext lets you reuse and embed Java compatible language concepts such as expressions, type references and annotations anywhere in your own language. All you need to do is to describe a grammar and mapping of your DSL concepts to Java. Using these two steps only will already yield a statically typed language with top-notch Eclipse integration.