On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Challenges in type systems research
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Eliminating array bound checking through dependent types
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Communicating sequential processes
Communications of the ACM
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
An Extensible Type System for Component-Based Design
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Generative Programming for Embedded Systems
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Mapping concurrent applications onto architectural platforms
Networks on chip
TinyGALS: a programming model for event-driven embedded systems
Proceedings of the 2003 ACM symposium on Applied computing
Conservative approximations for heterogeneous design
Proceedings of the 4th ACM international conference on Embedded software
Proceedings of the 4th ACM international conference on Embedded software
galsC: A Language for Event-Driven Embedded Systems
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Typing abstractions and management in a component framework
ASP-DAC '03 Proceedings of the 2003 Asia and South Pacific Design Automation Conference
Actor-oriented models for codesign: balancing re-use and performance
Formal methods and models for system design
Languages and tools for hybrid systems design
Foundations and Trends in Electronic Design Automation
Refinement preserving approximations for the design and verification of heterogeneous systems
Formal Methods in System Design
Composing heterogeneous reactive systems
ACM Transactions on Embedded Computing Systems (TECS)
Approximating Behaviors in Embedded System Design
Concurrency, Graphs and Models
Interface theories with component reuse
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
State Space Reduction Techniques for Component Interfaces
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Embedding Intelligence into EDA Tools
Proceedings of the 2006 conference on Integrated Intelligent Systems for Engineering Design
Safe compositional network sketches: formal framework
Proceedings of the 13th ACM international conference on Hybrid systems: computation and control
Action Prefixes: Reified Synchronization Paths in Minimal Component Interaction Automata
Electronic Notes in Theoretical Computer Science (ENTCS)
A Theory of Synchronous Relational Interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Embedded Systems Design
A formal component framework for distributed embedded systems
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Partition refinement of Component Interaction Automata
Science of Computer Programming
Hi-index | 0.00 |
We present a framework to extend the concept of type systems in programming languages to capture the dynamic interaction in component-based design, such as the communication protocols between components. In our system, the interaction types and the dynamic behavior of components are defined using interface automata - an automata-based formalism. Type checking, which checks the compatibility of a component with a certain interaction type, is conducted through automata composition. Our type system is polymorphic in that a component may be compatible with more than one interaction type. We show that a subtyping relation exists among various interaction types and this relation can be described using a partial order. This system-level type order can be used to facilitate the design of polymorphic components and simplify type checking. In addition to static type checking, we also propose to extend the use of interface automata to the on-line reflection of component states and to run-time type checking. We illustrate our framework using a component-based design environment, Ptolemy II, and discuss the trade-offs in the design of system-level type systems.