Tuesday, March 13, 2007

CSE 7312 Project: First Posting

This is the first posting for my Systems Engineering for Software Intensive Programs project. I suppose the best place to start is a description of my project so here goes.

My project dove tails with Robert's project quite nicely and describing my project without discussing his isn't possible. So I'll describe the over all project and then drill down into my part.

Our objective is to build a tool on top of the Eclipse, Ant, and JUnit Test systems that allow one to generate SysML diagrams complete with test cases. The test cases are linked to JUnit tests where possible. An Ant task is provided that will execute the JUnit tests and update the SysML diagrams indicating the success or failure of the test. The ultimate intent is to have a SysML diagram that is automatically kept up to date with the results of the tests so one can tell with a look at the SysML diagrams progress towards realizing the requirements of the system. Not all requirements are testable with a unit test and in those cases the diagram may need to be manually updated.

Project Breakdown:
The scope of this project is beyond what one individual can accomplish in the time allotted. Therefore the project is split roughly in half. Robert will be responsible for the Eclipse plug-in and the graphical interface. I am responsible for the Ant task, executing the JUnit testing, figuring out the mappings between the diagrams and actual JUnit Tests and updating the XML used to generate the SysML diagrams so the progress can be represented. We will have to work together to define the XML representation we will use to communicate between the two components (and ultimately the store the SysML).

Obviously a fully functional and realized system that covers the entire SysML spec, saves everything in XMI and is possible to fully test and update for every requirement automatically is well beyond what we can accomplish. However we can make a good first step. The scope of my project will be the following:
  • definition of XML that the diagram is stored in (co developed with Robert)
  • mechanism for tying a JUnit Test to a requirement through a Test Case
  • mechanism for executing those JUnit Tests from Ant
  • mechanism for collecting the results of the JUnit Tests
  • mechanism for updating the XML that the diagram is stored in with the results of the JUnit Tests
In the coming weeks, the progress made on this project will be posted to this blog.