ArchFeature is an open-source product line modeling environment developed at the School of Computing and Engineering, University of Missouri-Kansas City. It integrates the development of product line features into the product line architecture (PLA) model. The following is a screenshot of ArchFeature's' main interface. It shows that both product line architecture and product line features are modeled and developed side-by-side in a single monolithic architecture. On the left of the figure is a list of product line features that are automatically related to architecture elements in ArchFeature.
ArchFeature is implemented in ArchStudio - an Eclise-based architecture development toolset for modeling, visualizing, analyzing, and implementing a software system's architecture. In addition to the tools provided by ArchStudio, ArchFeature supports the following novel functions:
Currently, ArchFeature supports the following types of features:
The following video highlights the most important functions of ArchFeature and briefly explains how to use it.
The video is divided into two parts. In part one, we present the main functions of ArchFeature and implement them on a real product line architecture. In part two, we explain how to use ArchFeature to develop a product line architecture and how to use the functions that we introduced in part one step-by-step.
For best resolution, set YouTube quality settings to 1080p.
ArchFeature is implemented in ArchStudio, which is an Eclipse plug-in. Thus, to be able to use ArchFeature, you need to download and install the following:
To install and use ArchFeature, perform the following steps (or watch this video):
The following video is a step-by-step tutorial that will show you how to create your first project and model a feature-based product-line architecture using ArchFeature. This video assumes that you have already installed ArchFeature successfully.
In this section, we present two products that were fully developed using ArchFeature. The second example will be installed with ArchFeature by default for users to experiment with it.
This case study was conducted by a software architect and a software engineer from Cerner Corporation. They used ArchFeature to developed a full-featured architecture model for an open-source software system that they use in Cerner, called Solr. Solr is a Java-based open-source standalone enterprise search server with a REST-like API. It has over fifty Java packages, more than a thousand classes, and approximately 146K SLOC. In addition, Solr has been through more than eight years of development and number of features have been added to it while the system evolved over time. As Solr is increasingly popular, many companies began to experiment with extending the capabilities of Solr. This has launched a request for a public architecture model that can be used to describe the system and its associated features.
ArchFeature was successfully used to develop a full-featured architecture of this system. The following screenshot is the result of modeling Solr system and its associated features using ArchFeature.
The Solr architecture includes:
Current Ph.D student, School of Computing and Engineering, UMKC
Major: Software Engineering (Software Architecture and Design)
Former Master student, School of Computing and Engineering, UMKC
Major: Software Engineering
Email: firstname.lastname@example.org LinkedIn page
Please feel free to contact us for any questions not answered by this page. Do not hesitate to email us! We would love to hear your comments and suggestions on ArchFeature!