Download presentation
Presentation is loading. Please wait.
1
1 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Ptolemy Hierarchical Orthogonal Multi-Attribute Solver (PtHOMAS) Ptolemy mini-conference April 16 2009 Jackie Mankit Leung, Thomas Huining Feng (UC Berkeley) Thomas Mandl, Elizabeth Latronico, Charles Shelton (Bosch)
2
2 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Motivation Cars are networked software systems Up to 70 Electronic Control Units Software crucial for many features Electronic stability control Parking assist Emissions control Engine Start/Stop Active and passive safety How can we manage increasing complexity and interconnectedness? Analysis approaches promising, but hand-annotation has drawbacks Time intensive to develop and maintain People are inconsistent, make errors Repeat for every composition
3
3 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. How can a computer think like a software designer? Constant / Non-constant example All sources are constant, so Display is constant (here, 21) If any source is non-constant, Display could be non-constant How does a person know that? How are constant and non-constant related? What are the rules for each individual actor? What rules govern the connections among actors? 21 ? ?
4
4 The ontology consists of two things: A property lattice, consisting of: Property (“Concept”) Edge (“Relationship”) Constraints on property-able objects (actors, expressions, …) Inequality terms Monotonic functions Implementation Re-use Ptolemy type system constraint solving algorithms New! Graphical interface (for both lattice, inequality constraints) Java class definition for special cases PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Frame the problem with an ontology For example: P(output) >= P(input) Property Edge
5
5 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Property lattice example Complete partial ordering of our properties Common bottom element Common top element Can promote higher in lattice, but not lower Type system is a familiar example Integer to Double is OK 3 to 3.0 Double to Integer is not! 3.14 to 3 General Boolean Not a Type Integer Double Complex Scalar Long 3 3.03.14 3 Simplified Ptolemy type system
6
6 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Constant / Non-constant lattice How are constant and non-constant related? Define a new lattice: Constant: Value is always the same Non-constant: Value might change (but, perhaps does not) Correct but conservative In this case, since there are no branches, Non-constant is the common top element Can define your own lattice for your properties! Constant Non-Constant Unknown
7
7 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Constraint analysis process Ptolemy has a scalable and efficient solver algorithm Linear with the number of constraints Static analysis, so no execution required Accepts a list of pairwise inequalities Solves for least (what we want) or greatest upper bound Constraint generation Need rules for each object in library; sharing possible Map objects to inequality terms (ports for most actors) Set of rules for finite state machines and expressions Constraint list a >= Constant b >= a c >= a Solver Result a, b, c == Constant Rule output >= input Constraint list Actor.out >= Actor.in1 Actor.out >= Actor.in2 Actor2.out >= Actor2.in1
8
8 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Property constraints for actors in example Const actor: output >= Constant Sequence actor: output >= Non-constant Math actors (AddSubtract, MultiplyDivide, Maximum) output >= input, for all input signals output >= input1 output >= input2 Extends to multiple channels for multiport
9
9 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Model-wide property constraints for connections Model-wide constraints are specified in new “solver box” actor Here, sink >= source for connections Add1.input >= C1.output Add1.input >= C2.output Multiply3.input >= Add1.output Add1.input C2.output C1.output Add1.output Multiply3.input
10
10 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Results for the example Property annotation at every point in large models with minimal user effort All constant sourcesOne non-constant source
11
11 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Future topics Ontologies New lattices for a variety of properties and use cases Learn about existing ontologies from different communities What ontology concepts are expressible in a lattice? Model transformation Use property annotations to guide and simplify model transformation Property correctness and extraction Verify hand-written rules Automatically extract rules for new objects Relate to partial evaluation / program specialization For a more interesting demo, see us at the break! Thanks! elizabeth.latronico@us.bosch.com
12
12 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. Backup slides
13
13 PtHOMAS project, Ptolemy mini-conference '09 CR/RTC3-NA Elizabeth Latronico; UC Berkeley Jackie Mankit Leung | 4/16/2009 | © 2009 Robert Bosch LLC and affiliates. All rights reserved. package ptolemy.data.properties.lattice.logicalAND; public class Lattice extends PropertyLattice { public Property TRUE = new True(this); public Property FALSE = new False(this); public Property UNKNOWN = new Unknown(this); public Lattice() { addNodeWeight(TRUE); addNodeWeight(FALSE); addNodeWeight(UNKNOWN); addEdge(UNKNOWN, TRUE); addEdge(TRUE, FALSE); if (!isLattice()) { throw new Exception("The PropertyLattice is not a lattice."); } Lattice Java Class The package defines the use- case / ontology for this lattice. Properties are defined as public fields. Relationship is specified by adding edges from one element to another.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.