English German

Lattix Architect 9.5 release with support for Compound Projects

Lattix announces the release of Lattix Architect 9.5 with support for Compound Projects. A compound project is a Lattix project that is created by combining multiple, smaller sub-projects. You can use compound projects when you're working with a large project, when you're dealing with multiple technologies, and when you're working with multiple versions of your system.


What is a Compound Project?

A compound project is a Lattix project that is created by combining multiple, smaller Lattix sub-projects.

In Lattix, each project contains atoms from a collection of datasources. Atoms are the basic elements of a project that have dependencies on each other. Atom names are unique within a datasource. The dependencies between atoms are first resolved within a datasource. If dependencies are unresolved within a datasource then they are resolved using atoms in other datasources.

A unit in Clang is an example of a datasource. A Java jar file is another example of a datasource. Datasources can allow us to load elements that may have the same name but are used differently. For instance, a C++ source file may be compiled differently and then linked into different binaries. In Java you may have different jar files for different versions of the software. Datasources make it easy for a user to model these situations that occur often in large and complex environments.

When to use Compound Projects?

  • When you are working with large projects: You can create sub-projects for different parts separately and then bring them together into a single compound project to create the big picture view. This also reduces project update time because each sub-project can be created separately.
  • When you are dealing with multiple technologies: Your system may contain multiple technologies. For instance, a system consisting of Java and C/C++ code may be built and maintained separately by different teams. Compound project allows these disparate sub-projects to be combined together.
  • When you are working with multiple versions: To examine multiple versions of your system, create a subproject for each version and then combine them together into a single compound project.

Creating a New Compound Project

In order to create a new compound project, select File->New Compound Project to bring up the Create New Compound Project dialog.



Since compound projects are a collection of sub-projects, the compound project gets it datasources from its subprojects.There are three options that allow you to control how datasources of the sub-projects are combined to create the datasources of the compound project:
  • Do not merge datasources: The datasources of each sub-project become the datasources for the compoundproject. Therefore, the datasources of a compound project are simply a result of the aggregation of the datasources of each of its sub-projects.
  • Merge datasources by name: Datasources with the same name are merged together to create a new datasource with that name. The atoms within this datasource are created by merging the atoms from the individual data sources. For atoms with the same name, a new atom with that name is created but with a merged set of dependencies and properties.
  • Merge all datasources: All the datasources are merged together to create a single new merged datasource. The atoms within this datasource are created by merging the atoms from all the datasources. For atoms with the same name, a new atom with the same name is created but with a merged set of dependencies and properties.

Example

Here is an example of a compound project that has been created with C/C++ and Java. You can create compound projects that go from language to databases or from software to hardware elements. You can even create projects that show how your requirements map to your architecture or unit tests.

Lattix-compound-project2.png


Conclusion

Lattix helps you understand and make sense of your large complex code base. Compound projects let you do this task incrementally. You can even create projects that span language or technology boundaries. A well-understood modular architecture may be the most effective technique for improving the quality and maintainability of complex code bases.

Try Lattix Architect on your Project

Is your software complex, buggy and hard to maintain? Lattix provides support for a wide range of technologies including C/C++, Java, .NET, Fortran, Ada, Javascript, Actionscript, Pascal, Python, UML/SysML, Rhapsody, SparxEA, Oracle, SQLServer, SyBase, LDI and Excel.

Do you want to see what your architecture looks like and what you can do to modularize it? We have helped companies all over the world improve the quality of software and we can help you achieve the same results.


Request a Trial of Lattix Architect 9.5 today.