VHDL Issue Number: 0122 Classification: Language Definition Problem Language Version: VHDL-87 Summary: Processes may still interact (in a kludgy way) through the use of File I/O. This was one of the reasons for removing internal files from the language. Related Issues: ??? Relevant LRM Sections: 4.3.2 Key Words and Phrases: File I/O, processes Current Status: Analyzed 1076-1993 Disposition: Bugs Fixed, Enhancements Outstanding (No ISAC Issues) Disposition Rationale: Superseded By: N/A ----------------------- Date Submitted: 1989/06/21 Author of Submission: Ken Scott Author's Affiliation: Vantage Analysis Systems, Inc. Author's Post Address: 42840 Christy St., Suite 201 Fremont, CA 94538 Author's Phone Number: (415) 659-0901 Author's Fax Number: Author's Net Address: N/A ----------------------- Date Analyzed: 1991/11/19 Author of Analysis: Stephen Bailey Revision Number: $Revision: 1.10 $ Date Last Revised: $Date: 1995/05/13 19:34:42 $ Description of Problem ---------------------- One reason for removing internal file declarations was to disallow the interaction of processes through the use of file I/O. Currently, there is no restriction in the LRM stating that file objects with the same logical name have to be declared with the same mode. As a result, the LRM allows one process to access the external file associated with a logical name while allowing another process to write to this same file at the same time. Making this restriction explicit would plug the last hole which allows processes to interact with one another through I/O. If this restriction is not made, then passive processes should once again disallow READ and WRITE operations. Proposed Resolution ------------------- This restriction could be made by appending the following sentence to the 4th paragraph of chapter 4.3.2: "File objects with the same logical name must be of the same type and mode." VASG-ISAC Analysis & Rationale ------------------------------ It is impossible at analysis time to determine whether or not a process is made non-passive through the use of files to communicate with other processes. The check for passive processes must be an analysis time computation. Furthermore, interfaces to foreign language subprograms (something that some vendors offer now and which the interface mechanism will be standardized in '92) also provide the same problem in determining passive processes. File access may be performed through subprograms called by a passive process. Therefore, from a practicality perspective, it is im- possible for an analysis-time computable check of a passive process if the definition of a passive process excludes the possibility of FILE access (and foreign language subprogram interface). VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- The resolution of this IR is that no change is required to the LRM. Furthermore, this IR resolution explicitly states that FILE IO has no affect on the determination of the passiveness of a process. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- It is recommended that the use of a foreign language subprogram within a process also not effect the passivity of the process.