Cellml.org - Meeting Minutes 24 June 2003
Table of Contents These minutes actually cover the 17 June, as well, and introduce yet another import method. We say now we're sticking to this one.
Warren pointed out that the element names used in Figure 1 in the last meeting minutes were a bit strange. Why break up the David was still not happy with the way we were approaching this import feature for several reasons (the main one being that he still thought we should be able to get the part of a model that we wanted with necessary connections without getting the entire model tree). Then he was struck for a moment by genius. Well, maybe not, but we did all like his idea, which is best described through illustration (see Figure 1). The scenario is as follows: Model 2 wants to reuse components 1 & 2 from Model 1. Through David's new import scheme (shown in CellML format in Figure 2), by importing component 1, Model 2 gets an instance of the entire encapsulation tree of which component 1 is the parent. Therefore, in addition to getting component 1, Model 2 gets an instance of components 2 & 3, and their respective children 5 & 6. This means that if component 1 is dependent on values from components 2 & 3, you don't need to re-establish the connections between parent and child. However, since components 4, 7 & 8 are part of a different encapsulation hierarchy, a modeller would need to import them separately if he wanted access to them. Then to use component 2, Model 2 would need to import component 2 directly creating another instance, and again getting its entire tree which, in this case, includes component 5.
Matt has coded the CellML API in Python. He has two different sets of libraries - one that does the same as Andre's C++ version except also includes the reaction subset of CellML, the other implementing changes which he has suggested to us and hopes to be version 2.0 of CellML maybe. One of these recommended changes is to have the public and private interface information located in the connections instead of variables. You can correct me if I'm wrong, Matt, because I didn't take notes on this part and am going from memory instead. Before making the Python libraries available Matt wants to clean them up and check them against the C++ implementation of the API. Matt also hopes to start using the libraries to develop a validator and graphic visualisation tool at the end of July. | ||||||