Refine
Year of publication
Document Type
- Monograph/Edited Volume (13)
- Article (8)
Language
- English (21) (remove)
Is part of the Bibliography
- yes (21)
Keywords
- JavaScript (2)
- Lively Kernel (2)
- virtual machines (2)
- virtuelle Maschinen (2)
- Abhängigkeiten (1)
- Architektur (1)
- Aspect-oriented Programming (1)
- Beschränkungen und Abhängigkeiten (1)
- CSCW (1)
- CoExist (1)
- Constraints (1)
- Context-oriented Programming (1)
- Context-oriented programming (1)
- ContextJS (1)
- Distributed debugging (1)
- Dynamic Type System (1)
- Dynamic adaptation (1)
- Dynamic analysis (1)
- Dynamische Typ Systeme (1)
- Experimentation (1)
- FRP (1)
- Forschungskolleg (1)
- Functional Lenses (1)
- Hasso Plattner Institute (1)
- Hasso-Plattner-Institut (1)
- JCop (1)
- JIT compilers (1)
- Java (1)
- Klausurtagung (1)
- Languages (1)
- Live-Programmierung (1)
- Measurement (1)
- Mobile Application Development (1)
- Morphic (1)
- Muster (1)
- Musterabgleich (1)
- Newspeak (1)
- Object Constraint Programming (1)
- Object Versioning (1)
- Object-Oriented Programming (1)
- Objekt-Constraint Programmierung (1)
- Objekt-Orientiertes Programmieren (1)
- Objekt-orientiertes Programmieren mit Constraints (1)
- Open implementations (1)
- Pattern Matching (1)
- Patterns (1)
- Performance (1)
- Ph.D. Retreat (1)
- Programming Environments (1)
- Programming Languages (1)
- Racket (1)
- Record and refinement (1)
- Record and replay (1)
- Research School (1)
- Sammlungsdatentypen (1)
- Scope (1)
- Service-oriented Systems Engineering (1)
- Smalltalk (1)
- Softwarearchitektur (1)
- Softwareproduktlinien (1)
- Softwaretests (1)
- Speicheroptimierungen (1)
- Sprachspezifikation (1)
- Squeak (1)
- Synchronisation (1)
- Travis CI (1)
- Unveränderlichkeit (1)
- Virtual machines (1)
- Virtuelle Maschinen (1)
- Visualisierung (1)
- Web applications (1)
- Web browsers (1)
- Zugriffskontrolle (1)
- access control (1)
- architecture (1)
- architecture recovery (1)
- ausführbare Semantiken (1)
- collection types (1)
- comprehension (1)
- continuous integration (1)
- continuous testing (1)
- contracts (1)
- dependencies (1)
- design (1)
- direct manipulation (1)
- direkte Manipulation (1)
- dynamic typing (1)
- dynamic programming languages (1)
- dynamische Programmiersprachen (1)
- dynamische Sprachen (1)
- executable semantics (1)
- exploratory programming (1)
- functional languages (1)
- functional lenses (1)
- functional programming (1)
- funktionale Programmierung (1)
- immutable values (1)
- kontinuierliche Integration (1)
- kontinuierliches Testen (1)
- language specification (1)
- languages (1)
- live programming (1)
- mehrdimensionale Belangtrennung (1)
- memory optimization (1)
- modularity (1)
- morphic (1)
- multi-dimensional separation of concerns (1)
- object-constraint programming (1)
- periodic tasks (1)
- periodische Aufgaben (1)
- program (1)
- reactive (1)
- reaktive Programmierung (1)
- remodularization (1)
- runtime adaptations (1)
- separation of concerns (1)
- software architecture (1)
- software engineering (1)
- software product lines (1)
- software tests (1)
- synchronization (1)
- traceability (1)
- tracing (1)
- use-cases (1)
- visualization (1)
Institute
- Hasso-Plattner-Institut für Digital Engineering gGmbH (21) (remove)
Program behavior that relies on contextual information, such as physical location or network accessibility, is common in today's applications, yet its representation is not sufficiently supported by programming languages. With context-oriented programming (COP), such context-dependent behavioral variations can be explicitly modularized and dynamically activated. In general, COP could be used to manage any context-specific behavior. However, its contemporary realizations limit the control of dynamic adaptation. This, in turn, limits the interaction of COP's adaptation mechanisms with widely used architectures, such as event-based, mobile, and distributed programming. The JCop programming language extends Java with language constructs for context-oriented programming and additionally provides a domain-specific aspect language for declarative control over runtime adaptations. As a result, these redesigned implementations are more concise and better modularized than their counterparts using plain COP. JCop's main features have been described in our previous publications. However, a complete language specification has not been presented so far. This report presents the entire JCop language including the syntax and semantics of its new language constructs.