predictable assembly from certified components (pacc) by jason smith
TRANSCRIPT
Predictable Assembly from Certified Components (PACC)
by Jason Smith
Introduction
The PACC initiative was started by Carnegie Mellon's Software Engineering Institute in 2003 to “address the known deficiencies in component technology."4
To understand the PACC initiative one must understand its underlying elements, which include software predictability and component technology.
Software Predictability
Software is inherently unpredictable.Predictability can be achieved by imposing
constraints.
Constraints
A constraint is a restriction imposed on a software module.
For a constraint to be useful, it must be well defined.
Example of a Constraint
assert(timestamp < current_time)The assert function will end the program if
the condition is ever false.
"Smart" Constraints
The PACC initiative defines reasoning frameworks to impose constraints on a system.
Lambda-star – latencyComFoRT – safety, security, reliability
Component Technology
The idea behind component technology is to create independent modules that work together through interfaces.
This concept has existed since the inception of modular programming.
PACC's Component Technology
The PACC initiative also defines a specification language for components:
Construction and Composition Language (CCL)
Pin Component Technology
Example of CCL and Pin5
Conclusions
The PACC initiative combines elements from prediction and component technologies to produce a process by which software engineers can create a system which is predictable by assembly.
References
1. Greenfield, Jack. "Problems and Innovations." MSDN Library Aug 2004. 28 Oct 2005 <http://msdn.microsoft.com/library/default.asp?
url=/library/en- us/dnbda/html/softwarefactwo.asp>. 2. Hissam, Scott A. "Predictable Assembly From Certifiable Components."
STSC CrossTalk (2004). 28 Oct 2005 <http://www.stsc.hill.af.mil/crosstalk/2004/06/0406Hissam.html>.
3. Larsson, Magnus, Anders Wall, and Kurt Wallnau. "PredictableAssembly." ABB Review 2 (2005). 28 Oct 2005
<http://www.abb.com.tw/global/gad/gad02077.nsf/0/985d6a36a72c1152c12570120028d178?OpenDocument>.
4. Predictable Assembly from Certified Components (PACC) Initiative. 29 Apr. 2005. Carnegie Mellon Software Engineering Institute. 28
Oct. 2005 <http://www.sei.cmu.edu/pacc/pacc_init.html >. 5. Wallnau, Kurt C., and James Ivers. "Snapshot of CCL: A Language for
Predictable Assembly." SEI Reports Sep 2003. 28 Oct 2005 <http://www.sei.cmu.edu/publications/documents/03.reports/03tn025.html>.