Taishin Nomura wrote: > Dear Randall, > > regarding the import of "coupled_pendulum_model" > that you failed to process in insilicoIDE, > > > if we switched > <variable name="a_angular_velocity" units="rad_per_s" > public_interface="out" initial_value="0" /> > in <component name="PendulumUpperSegment"> > and > <variable name="a_angular_velocity" private_interface="in" > units="rad_per_s"/> > in <component name="Pendulum"> > > and > > also switched > <variable name="b_angular_velocity" initial_value="0" units="rad_per_s" > public_interface="out"/> > in <component name="PendulumLowerSegment"> > <variable name="b_angular_velocity" private_interface="in" units="rad_per_s" > /> > in <component name="Pendulum"> > > then, every thing work well. Basically, it is related to "in" and "out" > data of private_interface property. > > We assume that our complile (parsing process) is more strict than that > in PCenv, The CellML Code Generation Service (part of the CellML API, available from Subversion at https://svn.physiomeproject.org/svn/physiome/CellML_DOM_API/trunk/) is fairly lax about interface directions (we have plans to develop a validator which will aim to check all the CellML rules in the future). > or our interpretation of CellML tag is wrong. > I think that your tool is parsing encapsulation hierarchies 'upside down'. The coupled_pendulum tutorial model for PCEnv has: <component_ref component="Pendulum"> <component_ref component="PendulumUpperSegment"/> <component_ref component="PendulumLowerSegment"/> </component_ref>
this means, in terms of section 3.2.3 of the CellML specification: Pendulum has the encapsulated set: PendulumUpperSegment PendulumLowerSegment PendulumUpperSegment has sibling set: PendulumLowerSegment PendulumLowerSegment has sibling set: PendulumUpperSegment The CellML specification says (in section 3.2.3): |"private_interface| — This attribute specifies the interface exposed to components in the encapsulated set (see below)." Therefore, it is the private interface of Pendulum that is exposed to the public interfaces of PendulumUpperSegment and PendulumLowerSegment, not the reverse. Best regards, Andrew > Thank you for your consideration on this matter. > > Best regards, taishin > ---------------------------------------- > Taishin Nomura, PhD, Professor > Department of Mechanical Science and Bioengineering > Graduate School of Engineering Science > Osaka University > Email: [EMAIL PROTECTED] > WebSite: http://www3.bpe.es.osaka-u.ac.jp > NEW!http://groups.yahoo.co.jp/group/physiome/messages > TEL: +81-6-6850-6532 > FAX: +81-6-6850-6557 > > > _______________________________________________ > team mailing list > [EMAIL PROTECTED] > http://www.cellml.org/mailman/listinfo/team > _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
