A First Look at SEI's Architecture Expert Design Assistant (ArchE)
The Software Engineering Institute at Carnegie Mellon has released their Architecture Expert Design Assistant (ArchE). I was hesitating looking at it because it requires JESS and the only available option for using JESS, if you don't want to buy it, is using a 30 day trial version.
You will need to install the JESS expert system, the Eclipse platform with the GEF-runtime-3.2.2, and MySQL (mysql-essential-5.0.45-win32). The SEI does not provide any of this software, so you will need to download and install them. One really nice feature you will find with the ArchE installer is that it checks your system for the required software and then provides you links to the software you need to download.
So what is ArchE?
SEI provides this Overview and Description on their ArchE site:
Overview:
The Architecture Expert (ArchE) tool is an assistant to the architect. It embodies quality attribute theories, techniques for ascertaining the appropriate quality attribute model from an architectural description, techniques for evaluating the quality attribute model to determine a predicted response in given situations, and the ability to input legacy designs.
ArchE currently has quality attribute knowledge of some aspects of performance, modifiability, and variability.
Description:
ArchE uses three different types of input. These are the quality attribute requirements for the system being designed, the set of features that the system should support, and any design constraints such as utilizing a legacy design.
From the features ArchE abstracts a set of responsibilities that the system will compute. The quality attribute requirements also imply certain responsibilities. Finally, the legacy design includes responsibilities. From these sources, ArchE constructs a representation of the responsibilities and the dependencies among them. One type of dependency is that one responsibility may need to be computed prior to another. Another type of dependency is that one responsibility may be decomposed into several other responsibilities.
The architect interacts with ArchE to identify the dependencies among the responsibilities. The architect also interacts with ArchE to provide properties such as execution time that the quality attribute models inside of ArchE require in order to predict quality attribute behavior.
ArchE uses the acquired information and the quality attribute scenarios to create an initial architecture consisting of modules, units of concurrency and their relations to responsibilities. It then shows the architect the initial architecture, how well it satisfies the quality attribute requirements, and a series of suggestions for improvements to the architecture (based on the use of architectural tactics). The architect selects an option, ArchE applies it to the architecture, calculates how well the revised architecture satisfies the quality attribute requirements, and so forth.
Once the architect is happy with the architecture, ArchE will output an XML description of the architecture that can be imported into IBM Rational Rose or other more detailed design tools.
You can read more about it on SEI's ArchE site here and here. There is also a great User's Guide that comes with the download. You do not need to install ArchE to get access to it. It is in a separate file within the zip download.
There is a very good presentation available here.
I did fire it up today and ran into no issues getting the software needed configured in about 5 minutes. SEI did a very good job of providing a smooth installation process for what I initially thought was going to be painful.
SEI also provides a nice sample project that is covered in the user's guide. I did not provide any screenshots because the User's Guide contains a ton of them.
I will be following the ArchE product as it matures and hopefully one day be able to introduce on my projects as a tool that we use in our Architectural Business Cycle.
I will post a follow up on the ArchE tool after I have had some time to play with it.
If you would like to evaluate it or read the User's Guide, you can download ArchE here.
_
You will need to install the JESS expert system, the Eclipse platform with the GEF-runtime-3.2.2, and MySQL (mysql-essential-5.0.45-win32). The SEI does not provide any of this software, so you will need to download and install them. One really nice feature you will find with the ArchE installer is that it checks your system for the required software and then provides you links to the software you need to download.
So what is ArchE?
SEI provides this Overview and Description on their ArchE site:
Overview:
The Architecture Expert (ArchE) tool is an assistant to the architect. It embodies quality attribute theories, techniques for ascertaining the appropriate quality attribute model from an architectural description, techniques for evaluating the quality attribute model to determine a predicted response in given situations, and the ability to input legacy designs.
ArchE currently has quality attribute knowledge of some aspects of performance, modifiability, and variability.
Description:
ArchE uses three different types of input. These are the quality attribute requirements for the system being designed, the set of features that the system should support, and any design constraints such as utilizing a legacy design.
From the features ArchE abstracts a set of responsibilities that the system will compute. The quality attribute requirements also imply certain responsibilities. Finally, the legacy design includes responsibilities. From these sources, ArchE constructs a representation of the responsibilities and the dependencies among them. One type of dependency is that one responsibility may need to be computed prior to another. Another type of dependency is that one responsibility may be decomposed into several other responsibilities.
The architect interacts with ArchE to identify the dependencies among the responsibilities. The architect also interacts with ArchE to provide properties such as execution time that the quality attribute models inside of ArchE require in order to predict quality attribute behavior.
ArchE uses the acquired information and the quality attribute scenarios to create an initial architecture consisting of modules, units of concurrency and their relations to responsibilities. It then shows the architect the initial architecture, how well it satisfies the quality attribute requirements, and a series of suggestions for improvements to the architecture (based on the use of architectural tactics). The architect selects an option, ArchE applies it to the architecture, calculates how well the revised architecture satisfies the quality attribute requirements, and so forth.
Once the architect is happy with the architecture, ArchE will output an XML description of the architecture that can be imported into IBM Rational Rose or other more detailed design tools.
You can read more about it on SEI's ArchE site here and here. There is also a great User's Guide that comes with the download. You do not need to install ArchE to get access to it. It is in a separate file within the zip download.
There is a very good presentation available here.
I did fire it up today and ran into no issues getting the software needed configured in about 5 minutes. SEI did a very good job of providing a smooth installation process for what I initially thought was going to be painful.
SEI also provides a nice sample project that is covered in the user's guide. I did not provide any screenshots because the User's Guide contains a ton of them.
I will be following the ArchE product as it matures and hopefully one day be able to introduce on my projects as a tool that we use in our Architectural Business Cycle.
I will post a follow up on the ArchE tool after I have had some time to play with it.
If you would like to evaluate it or read the User's Guide, you can download ArchE here.
_
0 Comments:
Post a Comment
<< Home