Executable Representations
Each EPIC iteration assembles an Executable Representation of the solution that exhibits the common understanding of the solution that has been achieved among affected stakeholders to that point and demonstrates the adequacy of the solution to meet the iteration objectives.
An Executable Representation is computerized; as a user changes inputs, the model changes appearance or behavior
Representation is a representation or model; the user inputs affect only selected aspects of the eventual system
An executable representation is essential to reduce the risks due to misunderstandings or unforeseen technical and operational factors.
In early iterations, the Executable Representation may be a mock-up of critical stakeholder needs. In later iterations, the Executable Representation is a prototype reflecting the architecture. It may evolve to become the fielded solution. This prototype includes an ability to test the necessary infrastructure and any other systems with which the solution must interact. In addition, the Executable Representation for each phase must be sufficient to explore the end-user business processes inherent in the solution.
EPIC divides the system lifecycle into four phases matching those of RUP. The Executable Representation has different forms in each phase:
Inception |
Elaboration |
Construction |
Transition |
Build and test proof of concept(s) |
Build and test an architectural prototype |
Build and test the solution |
Build and test releases of the solution |
Demonstrate the approach to the critical use cases |
Demonstrate stability in requirements and architecture |
Demonstrate maturity sufficient to be fielded to users |
Demonstrate continued functionality |
Prototype the needed changes to the end user’s business process |
Implement the needed changes to the end user’s business process |
||
  |
Make any needed existing infrastructure and external interfaces changes |
||
Varieties of Executable Representations
- spreadsheet
- model the business case
- model network performance
- HTML document with links from buttons. see The GEE example
- GUI mockup built with a rapid development tool
- security model: access to user permission attributes
- security model: transfer of encryption keys
- heuristic and pattern matching tools for expressing models and reasoning about them
- decision support frameworks for studying attributes
- quantitative modeling tools
- architecture prototype
- an experimentation facility. Installed vendor demos with system data formats
- solution baseline mockup
- behavioral prototypes focusing on specific behaviors of the system
- structural prototypes exploring architectures or technologies
- exploratory prototypes to be thrown away after you have learned whatever you wanted from them
- evolutionary prototypes that evolve to become the final system




