In our professional software development, we have focused on finding ways to help developers work more effectively. Despite the range of programming languages available today, we are still limited by them. It makes sense to extend the existing languages to create more domain-oriented ones, which allow writing programs on a higher level and in a manner that is more natural to each domain. With an instrument that allows creating language constructs as simple as creating classes or methods is in a conventional language, you can significantly change the way you develop software. This new style of programming, when you create specialized languages, use them to develop software, and extend them when and how required, is called Language Oriented Programming (LOP). MPS Story Meta Programming System started in 2003 as a research project. In 2004, its underlying concepts were described in the Language Oriented Programming article. ·
Papyrus is aiming at providing an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE. Papyrus provides diagram editors for EMF-based modeling languages amongst them UML 2 and SysML and the glue required for integrating these editors (GMF-based or not) with other MBD and MDSD tools.
Papyrus also offers a very advanced support of UML profiles that enables users to define editors for DSLs based on the UML 2 standard. The main feature of Papyrus regarding this latter point is a set of very powerful customization mechanisms which can be leveraged to create user-defined Papyrus perspectives and give it the same look and feel as a "pure" DSL editor. ·
Sculptor is a simple and powerful code generation platform, which provides a quick start to Model Driven Software Development (MDSD). When using Sculptor you can focus on the business domain, instead of technical details. You can use the concepts from Domain-Driven Design (DDD) in the textual Domain Specific Language (DSL). E.g. Service, Module, Entity, Value Object, Repository...
From the textual DSL Sculptor generates high quality Java code and configuration using openArchitectureWare (oAW). The generated code is based on well-known frameworks, such as Spring Framework, Spring Web Flow, JSF, RCP, Hibernate and Java EE.
Within 15 minutes you can go from scratch to a running application, including build scripts, Eclipse projects, domain model, Hibernate persistence, services, Web Flow application and much more. Thereafter you can continue by evolving the design, add manual code and regenerate, i.e. it is not a one-shot generation.
Sculptor is not an one-size-fits-all product. Even though it is a good start for many systems, sooner or later customization is always needed. Sculptor is designed and documented with this in mind. The generated result can easily be modified to meet your needs. ·