An Ada package for dimensional analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Why the Mars probe went off course
IEEE Spectrum
Incorporation of units into programming languages
Communications of the ACM
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Tractable Constraints in Finite Semilattices
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Prevention of failures due to assumptions made by software components in real-time systems
ACM SIGBED Review - Special issue: The second workshop on high performance, fault adaptive, large scale embedded real-time systems (FALSE-II)
Modeling with the Timing Definition Language (TDL)
Model-Driven Development of Reliable Automotive Services
ModHel'X: A Component-Oriented Approach to Multi-Formalism Modeling
Models in Software Engineering
Systems Engineering with SysML/UML: Modeling, Analysis, Design
Systems Engineering with SysML/UML: Modeling, Analysis, Design
The design and application of structured types in Ptolemy II
International Journal of Intelligent Systems - Granular Computing: Models and Applications
Scalable Semantic Annotation Using Lattice-Based Ontologies
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Checking SCADE models for correct usage of physical units
SAFECOMP'06 Proceedings of the 25th international conference on Computer Safety, Reliability, and Security
Annotating UML models with non-functional properties for quantitative analysis
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
System modeling and transformational design refinement in ForSyDe [formal system design]
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hi-index | 0.00 |
In embedded software, there are many reasons to include concepts from the problem domain during design. Not only does doing so make the software more comprehensible to those with domain understanding, it also becomes possible to check that the software conforms to correctness criteria expressed in the domain of interest. Here we present a unified framework that enables users to create ontologies representing arbitrary domains of interest and analyses over those domains. These analyses may then be run against software specifications, encapsulated as models, checking that they are sound with respect to the given ontology. Our approach is general, in that the framework is agnostic to the semantic meaning of the ontologies that it uses and does not privilege the example ontologies that we present here. Where practical use-cases and principled theory exist, we provide for the expression of certain patterns of infinite ontologies. In this paper we present two patterns of infinite ontologies: those containing values, and those containing ontologies recursively. We show how these two patterns map to use cases of unit systems and structured data types, and show how these are applicable to cyber-physical systems examples drawn from automotive and avionic domains. Despite the range of ontologies and analyses that we present here, we see user-built ontologies as a key feature of our approach.