Modelibra is an open source software family of tools and frameworks to support domain-driven development in Java: a graphical tool for model design and code generation, a domain model framework, a web component framework based on Wicket for rapid development of dynamic web applications, and a GUI component framework based on Swing for rapid development of dynamic client applications. The family backbone is the domain model framework that carries the family name.

Domain Model

In computer terms, a domain model is a model of specific domain classes that describe the core data and their behavior. From an organizational perspective, a domain model is a model of the domain. Within this domain, an organization conducts its business. The memory of any organization may be represented as a domain model.

The heart of any software is a domain model. When a model is well designed and when it can be easily represented and managed in an object oriented language, a developer may focus on views of the software and they are what users care about the most.

Web Application

A domain model may be designed, generated, and validated as a web application. Modelibra uses the Wicket web framework for generic web components that are views of model concepts. The generic web components may be mixed with specific components to develop a professional web application.

Swing Application

A domain model may be validated as a client application. Modelibra uses Java Swing for generic GUI components that are views of model concepts. The generic client components may be mixed with specific components to develop a professional client application.


For a quick overview of Modelibra consult the paper entitled Modelibra Software Family from the CISSE 2007 Conference.


The Modelibra project is hosted by Google code. First, install the latest version of Java JDK . Second, install the latest version of Eclipse IDE for Java Developers. Third, install the latest version of the Eclipse plugin for the Subversion repository called Subclipse: Help/Install New Software.../Eclipse update site URL for Subclipse.

Finally, open two new perspectives in Eclipse by using Window/Open Perspective/Other... :

  • SVN Repository Exploring
  • Team Synchronizing

In the SVN perspective connect to the Modelibra's repository by using File/New/Other.../SVN/Checkout projects from SVN/Next :

  • create a new repository location/Next
  • URL:
  • in the trunk directory, select an Eclipse project (a folder with the .project file) 
  • check out first ModelibraWicketCss and ModelibraWicketSkeleton projects  
  • in other projects run copy-css.xml and copy-lib.xml Ant scripts for missing files


Software demos may help you start faster with Modelibra. 


Modelibra book is the main source of documentation. It is located in the Modelibra repository as the ModelibraIntroBook project. Consult chapter documents written in OpenOffice for the latest version of the book.


To communicate with members of the Modelibra community use the Modelibra Forum
To send a personal message to the founder of Modelibra use dzenanr [at] google [dot] com.

Dzenan Ridjanovic is professor in the Department of Information Systems, Université Laval, Québec, Canada. He holds Ph.D. degree from the Carlson School of Management, University of Minnesota, M.S. degree in computer science from University of Maryland, and B.S. degree in informatics from University of Sarajevo. His research is in software engineering of tools and frameworks for domain-driven design and rapid development. He is founder and principal software engineer of Modelibra open source software family. He teaches technical courses in information systems with the focus on domain-driven design and development of web applications. He was a director of research and development of Silverrun CASE tools. He was a project leader of Common Development Environment used as an operating system independent platform in Silverrun tools. He was also a principal designer of Silverrun-RDM (Relational Data Modeling).


Modelibra courses are hosted at Assembla.

Research Ideas

Find out what you can contribute potentially to Modelibra.